CADiZ

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


The factorization command extracts a formula that is a common factor in both sub-formulae. Some of these are inverses of distribution steps. Unusually, these steps are organized by the syntax of the result, not that of the original formula.

Contents of this page

Conjunctions

p1 \land p2 \land (p1 \land p3)   \trarrow   p1 \land (p2 \land p3)
p1 \land p3 \land (p2 \land p3)   \trarrow   p1 \land p2 \land p3
p1 \land p2 \lor p1 \land p3   \trarrow   p1 \land (p2 \lor p3)
p1 \land p3 \lor p2 \land p3   \trarrow   (p1 \lor p2) \land p3

Disjunctions

p1 \lor p2 \lor (p1 \lor p3)   \trarrow   p1 \lor (p2 \lor p3)
p1 \lor p3 \lor (p2 \lor p3)   \trarrow   p1 \lor p2 \lor p3
(p1 \lor p2) \land (p1 \lor p3)   \trarrow   p1 \lor p2 \land p3
(p1 \lor p3) \land (p2 \lor p3)   \trarrow   p1 \land p2 \lor p3

Implications

(p1 \implies p2) \land (p1 \implies p3)   \trarrow   p1 \implies p2 \land p3
(p1 \implies p3) \land (p2 \implies p3)   \trarrow   p1 \lor p2 \implies p3
p1 \land p2 \iff p1 \land p3   \trarrow   p1 \implies (p2 \iff p3)

Universal quantifications

(\forall s @ p1) \land (\forall s @ p2)   \trarrow   \forall s @ p1 \land p2
(\forall s @ p1) \lor (\forall s @ p2)   \trarrow   \forall s @ p1 \lor p2 where s has only == decs
(\forall s @ p1) \implies (\forall s @ p2)   \trarrow   \forall s @ p1 \implies p2 where s has only == decs

Existential quantifications

(\exists s @ p1) \land (\exists s @ p2)   \trarrow   \exists s @ p1 \land p2 where s has only == decs
(\exists s @ p1) \lor (\exists s @ p2)   \trarrow   \exists s @ p1 \lor p2
(\exists s @ p1) \implies (\exists s @ p2)   \trarrow   \exists s @ p1 \implies p2 where s has only == decs

Unique existential quantifications

(\exists1 s @ p1) \land (\exists1 s @ p2)   \trarrow   \exists1 s @ p1 \land p2 where s has only == decs
(\exists1 s @ p1) \lor (\exists1 s @ p2)   \trarrow   \exists1 s @ p1 \lor p2 where s has only == decs
(\exists1 s @ p1) \implies (\exists1 s @ p2)   \trarrow   \exists1 s @ p1 \implies p2 where s has only == decs

Tactic example

"factorization" p4 p5

This example applies the factorization command to predicates p4 and p5.


IT 5-Apr-2000