@@ -96,6 +96,8 @@ which can be further simplified into

%Moved to the main text

\hide{

\subsection{$\abs(\varphi)$: The {\qfpa} abstraction of $\varphi$}

%\label{ssec:sat-abs}

...

...

@@ -227,6 +229,7 @@ From the fact that the satisfiability of {\qfpa} is in NP, we conclude that the

%The formulas $\exists k.\ k \ge 1 \wedge 2k = y - x $ in $\abs^+(\hls{}(x, y; z))$ can be equivalently replaced by $y -x > 0 \wedge y -x \equiv 0 \bmod 2$. Therefore, $\abs(\varphi)$ is essentially a quantifier-free \PbA\ formula containing modulo constraints. The satisfiability of such formulas is still NP-complete.

%From now on, we shall assume that {\bf $\abs(\varphi)$ is a quantifier-free \PbA\ formula containing modulo constraints}.

@@ -47,20 +47,77 @@ We recall that the satisfiability problem of {\qfpa} and {\EPbA} is NP-complete.

%ASL formulas into equi-satisfiable {\EPbA} formulas.

We basically follow the same idea as ASL to build

a {\qfpa} abstraction of a \slah\ formula $\varphi$, denoted by $\abs(\varphi)$,

that encodes its satisfiability:

\begin{compactitem}

\item At first, points-to atoms $t_1\pto t_2$ are transformed into $\blk(t_1, t_1+1)$.

\item Then, the block atoms $\blk(t_1, t_2)$ are encoded by the constraint $t_1 < t_2$.

\item The predicate atoms $\hls{}(t_1, t_2; t_3)$, absent in ASL, are encoded by a formula in {\qfpa}, $t_1= t_2\vee(t_1 < t_2\wedge\abs^+(\hls{}(t_1, t_2; t_3)))$.

\item Lastly, the separating conjunction is encoded by an {\qfpa} formula constraining the address terms of spatial atoms.

\end{compactitem}

The Appendix~\ref{app:sat-hls} provides more details.

an equi-satisfiable {\qfpa} abstraction of a \slah\ formula $\varphi$.

%that encodes its satisfiability:

%\begin{compactitem}

%\item At first, points-to atoms $t_1 \pto t_2$ are transformed into $\blk(t_1, t_1+1)$.

%\item Then, the block atoms $\blk(t_1, t_2)$ are encoded by the constraint $t_1 < t_2$.

%\item The predicate atoms $\hls{}(t_1, t_2; t_3)$, absent in ASL, are encoded by a formula in {\qfpa}, $t_1 = t_2 \vee (t_1 < t_2 \wedge \abs^+(\hls{}(t_1, t_2; t_3)))$.

%\item Lastly, the separating conjunction is encoded by an {\qfpa} formula constraining the address terms of spatial atoms.

%\end{compactitem}

%We utilize $\abs^+(\hls{}(x, y; z))$ %defined in the above section

%to obtain in polynomial time an equi-satisfiable {\qfpa} abstraction for a symbolic heap $\varphi$, denoted by $\abs(\varphi)$.

We introduce some notations first.

%

Given a formula $\varphi\equiv\Pi : \Sigma$,

$\atoms(\varphi)$ denotes the set of spatial atoms in $\Sigma$, and

$\patoms(\varphi)$ denotes the set of predicate atoms in $\Sigma$.

We also denote $\overline{\patoms}(\varphi)$ for $\atoms(\varphi)\setminus\patoms(\varphi)$.

\begin{definition}{(Presburger abstraction of \slah\ formula)}

Let $\varphi\equiv\Pi : \Sigma$ be a \slah\ formula.

The abstraction of $\varphi\equiv\Pi : \Sigma$,

denoted by $\abs(\varphi)$, is

the formula $\Pi\wedge\phi_{\Sigma}\wedge\phi_*$

where:

\begin{itemize}

\item$\phi_{\Sigma}\triangleq\bigwedge\limits_{a \in\atoms(\varphi)}\abs(a)$ such that

and for each spatial atom $a_i$, $\isnonemp_{a_i}$ is an abbreviation of the formula $\atomhead(a_i) < \atomtail(a_i)$.

\end{definition}

For formulas $\varphi\equiv\exists\vec{z}\cdot\Pi : \Sigma$,

we define $\abs(\varphi)\triangleq\abs(\Pi:\Sigma)$ since $\exists\vec{z}\cdot\Pi : \Sigma$ and $\Pi:\Sigma$ are equi-satisfiable.

%The Appendix~\ref{app:sat-hls} provides more details.

%

The crux of this encoding and

its originality with respect to the ones proposed for ASL in~\cite{BrotherstonGK17}

is the computation of $\abs^+(\hls{}(t_1, t_2; t_3))$,

which are the least-fixed-point summaries in {\qfpa} for $\hls{}(t_1, t_2; t_3)$.

is the computation of $\abs^+(\hls{}(x, y; z))$.

In the sequel, we show how to compute them.

%Moreover, $\abs(\varphi)$ will be used as a basic ingredient of the entailment procedure in Section~\ref{sec:ent}.

...

...

@@ -86,16 +143,16 @@ In the sequel, we show how to compute them.

%\subsection{{\EPbA} summary of $\hls{}$ atoms}

%\label{ssec:sat-hls-abs}

\smallskip

Intuitively, the abstraction of the predicate atoms $\hls{}(t_1, t_2; t_3)$

shall summarize the relation between $t_1$, $t_2$ and $t_3$

Intuitively, the abstraction of the predicate atoms $\hls{}(x, y; z)$

shall summarize the relation between $x$, $y$ and $z$

for all $k \ge1$ unfoldings of the predicate atom.

From the fact that the pure constraint in the inductive rule of $\hls{}$ is $2\le x' - x \le v$, it is easy to observe that

for each $k \ge1$, $\hls{k}(t_1, t_2; t_3)$ can be encoded by $2 k \let_2-t_1\le k t_3$. It follows that $\hls{}(t_1, t_2; t_3)$ can be encoded by $\exists k.\ k \ge1\wedge2k \let_2- t_1\le k t_3$.

If $t_3\equiv\infty$, then $\exists k.\ k \ge1\wedge2 k \let_2-t_1\le k t_3$ is equivalent to $\exists k.\ k \ge1\wedge2k \let_2- t_1\equiv2\let_2- t_1$, thus a {\qfpa} formula.

Otherwise, $2 k \let_2-t_1\le k t_3$ is a non-linear formula since $k t_3$ is a non-linear term if $t_3$ contains variables.

for each $k \ge1$, $\hls{k}(x, y; z)$ can be encoded by $2 k \ley - x\le k z$. It follows that $\hls{}(x, y; z)$ can be encoded by $\exists k.\ k \ge1\wedge2k \ley - x\le k z$.

If $z\equiv\infty$, then $\exists k.\ k \ge1\wedge2 k \ley - x\le k z$ is equivalent to $\exists k.\ k \ge1\wedge2k \ley - x\equiv2\ley - x$, thus a {\qfpa} formula.

Otherwise, $2 k \ley - x\le k z$ is a non-linear formula since $k z$ is a non-linear term.

The following lemma states that

%In the sequel, we are going to show that

$\exists k.\ k \ge1\wedge2 k \let_2- t_1\le k t_3$ can actually be turned into an equivalent {\qfpa} formula.

$\exists k.\ k \ge1\wedge2 k \ley -x\le k z$ can actually be turned into an equivalent {\qfpa} formula.

\begin{lemma}[Summary of $\hls{}$ atoms]\label{lem-hls}

Let $\hls{}(x, y; z)$ be an atom in \slah\

...

...

@@ -104,76 +161,15 @@ representing a non-empty heap, where $x, y, z$ are three distinct variables in $

We can construct in polynomial time an {\qfpa} formula $\abs^+(\hls{}(x,y; z))$

which summarizes $\hls{}(x, y; z)$, namely we have

for every stack $s$, $s \models\abs^+(\hls{}(x,y; z))$ iff

there exists a heap $h$ such that $s, h \models\hls{}(x, y, z)$.

there exists a heap $h$ such that $s, h \models\hls{}(x, y; z)$.

%Similarly for $ \hls{}(x, y; \infty)$ and $ \hls{}(x, y; d)$ with $d \in \NN$.

\end{lemma}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\hide{

\begin{proof}

The constraint that the atom represents a non-empty heap means that

the inductive rule defining $\hls{}$ in Equation~(\ref{eq:hlsv-rec})

should be applied at least once. As explained above,

%we prove by induction (see Appendix~\ref{app:sat-hls})

%Notice that the semantics of this rule

%defines, at each inductive step,

%a memory block starting at $x$ and ending before $x'$ of size $x'-x$.

%By induction on $k \ge 1$, we obtain that $\hls{k}(x, y; z)$ defines

%a memory block of length $y-x$ such that

%$2 k \le y-x \le k z$. Then

$\hls{}(x, y; z)$ is summarized by the formula $\exists k.\ k \ge1\wedge2k \le y -x \le kz$, which is a non-linear arithmetic formula.

%

However, the previous formula

%The formula $\exists k.\ k \ge 1 \wedge 2k \le y -x \le kz$

is actually equivalent to the disjunction of the two formulas corresponding to the following two cases:

\begin{compactitem}

\item If $2= z$, then $\abs^+(\hls{}(x, y; z))$ has as disjunct

$\exists k.\ k \ge1\land y -x =2k$.

%

\item If $2 < z$, then we consider two sub-cases:

(a) If $k =1$

then $\abs^+(\hls{}(x, y; z))$ contains

$2\leq y-x \le z$ as a disjunct.

(b) If $k \ge2$ then we observe that the intervals

$[2k, k z]$ and $[2(k+1), (k+1) z]$

overlap,

and consequently $\bigcup_{k \ge2}[2k, kz]=[4, \infty)$.

Therefore, $\abs^+(\hls{}(x, y; z))$ contains $4\le y-x$ as a disjunct.

%Therefore, $\abs^+(\hls{}(x, y; z))$ contains $4 \le y-x$ as a disjunct.

Thus we obtain $2 < z ~\land~ \big(2\leq y-x \le z \lor4\le y-x \big)$, which can be simplified into $2 < z ~\land~ 2\le y - x$.

\end{compactitem}

To sum up, we obtain

\begin{align*}

\abs^+(\hls{}(x, y; z)) &\triangleq

\big(2 = z

\land\exists k.\ k \ge 1 \land 2k = y-x \big) %\\

%& \lor & \big(2 < z

~\lor~ \big(2 < z

\land 2 \le y - x

\big).

\end{align*}

\vspace{-2eX}\qed

\end{proof}

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Since the satisfiability problem of {\qfpa} is NP-complete,

%We are using $\abs^+(\hls{}(x, y; z))$ defined above

%to obtain in polynomial time an equi-satisfiable \EPbA\ abstraction for a symbolic heap $\varphi$, denoted by $\abs(\varphi)$.

the satisfiability problem of \slah\ is in NP.

%

% ESOP'21, Reviewer 3: At the end of page 10, when discussing the abstraction idea, I wondered to what extent this is related to the decision procedures for ASL itself; is the overall approach new, or is it a similar approach with suitable extensions?

%For this reason, we leave

%the definition of $\abs(\varphi)$ and the proof of its correctness

%stated by the following proposition

%to Appendix~\ref{app:sat-hls}.

%

The correctness of $\abs(\varphi)$ is guaranteed by the following result.