CADiZ

Reference manual / Z-related commands / In situ replacement commands / separation


The separation command extracts from a quantified formula those immediate sub-formulae that do not refer to the quantified declarations. In each of the following subsections, the earliest applicable simplification in the list is the one that is applied. See also distribution.

Contents of this page

Predicates

Universal quantifications

\forall s @ (p1 \lor p2)   \trarrow   p1 \lor p2 \lor (\forall s @ false) where p1 and p2 do not refer to s
\forall s @ (p1 \lor p2)   \trarrow   p1 \lor (\forall s @ p2) where p1 does not refer to s
\forall s @ (p1 \lor p2)   \trarrow   (\forall s @ p1) \lor p2 where p2 does not refer to s
\forall s @ (p1 \implies p2)   \trarrow   (p1 \implies p2) \lor (\forall s @ false) where p1 and p2 do not refer to s
\forall s @ (p1 \implies p2)   \trarrow   p1 \implies (\forall s @ p2) where p1 does not refer to s
\forall s @ (p1 \implies p2)   \trarrow   (\exists s @ p1) \implies p2 where p2 does not refer to s

Existential quantifications

\exists s @ (p1 \land p2)   \trarrow   p1 \land p2 \land (\exists s @ true) where p1 and p2 do not refer to s
\exists s @ (p1 \land p2)   \trarrow   p1 \land (\exists s @ p2) where p1 does not refer to s
\exists s @ (p1 \land p2)   \trarrow   (\exists s @ p1) \land p2 where p2 does not refer to s

Unique existential quantifications

\exists1 s @ (p1 \land p2)   \trarrow   p1 \land p2 \land (\exists1 s @ true) where p1 and p2 do not refer to s
\exists1 s @ (p1 \land p2)   \trarrow   p1 \land (\exists1 s @ p2) where p1 does not refer to s
\exists1 s @ (p1 \land p2)   \trarrow   (\exists1 s @ p1) \land p2 where p2 does not refer to s

Tactic example

"separation" p q

This example applies the separation command to predicates p and q.


IT 13-Apr-1999