23 lines
636 B
Plaintext
23 lines
636 B
Plaintext
module prop-laws
|
|
imports libstrategolib signatures/-
|
|
rules
|
|
|
|
DefI : Impl(x, y) -> Or(Not(x), y)
|
|
DefE : Eq(x, y) -> And(Impl(x, y), Impl(y, x))
|
|
|
|
DN : Not(Not(x)) -> x
|
|
|
|
DMA : Not(And(x, y)) -> Or(Not(x), Not(y))
|
|
DMO : Not(Or(x, y)) -> And(Not(x), Not(y))
|
|
|
|
DAOL : And(Or(x, y), z) -> Or(And(x, z), And(y, z))
|
|
DAOR : And(z, Or(x, y)) -> Or(And(z, x), And(z, y))
|
|
|
|
DOAL : Or(And(x, y), z) -> And(Or(x, z), Or(y, z))
|
|
DOAR : Or(z, And(x, y)) -> And(Or(z, x), Or(z, y))
|
|
|
|
strategies
|
|
|
|
dnf4 = innermost(DefI <+ DefE <+ DAOL <+ DAOR <+ DN <+ DMA <+ DMO)
|
|
cnf4 = innermost(DefI <+ DefE <+ DOAL <+ DOAR <+ DN <+ DMA <+ DMO)
|