CADiZ

Reference manual / Z-related commands / In situ replacement commands / de Morgan


The de Morgan command rewrites logical operations according to de Morgan's rules.

p1 \land p2   \trarrow   \lnot (\lnot p1 \lor \lnot p2)
e1 \land e2   \trarrow   \lnot (\lnot e1 \lor \lnot e2)
p1 \lor p2   \trarrow   \lnot (\lnot p1 \land \lnot p2)
e1 \lor e2   \trarrow   \lnot (\lnot e1 \land \lnot e2)
p1 \implies p2   \trarrow   \lnot (p1 \land \lnot p2)
e1 \implies e2   \trarrow   \lnot (e1 \land \lnot e2)
\forall s @ p   \trarrow   \lnot \exists s @ \lnot p
\forall s @ e   \trarrow   \lnot \exists s @ \lnot e
\exists s @ p   \trarrow   \lnot \forall s @ \lnot p
\exists s @ e   \trarrow   \lnot \forall s @ \lnot e

Tactic example

"de Morgan" p e

This example applies the de Morgan command to predicate p and expression e.


IT 2-Jun-1998