Simplify | |
---|---|
Formula | Rewrites to |
P <~> Q | (P | Q) & (~P | ~Q) |
P <=> Q | (P => Q) & (Q => P) |
P => Q | ~P | Q |
Move negations in | |
---|---|
Formula | Rewrites to |
~∀X P | ∃X ~P |
~∃X P | ∀X ~P |
~(P & Q) | (~P | ~Q) |
~(P | Q) | (~P & ~Q) |
~~P | P |
Move quantifiers out | |
---|---|
Formula | Rewrites to |
∀X P & Q | ∀X (P & Q) |
∃X P & Q | ∃X (P & Q) |
Q & ∀X P | ∀X (Q & P) |
Q & ∃X P | ∃X (Q & P) |
∀X P | Q | ∀X (P | Q) |
∃X P | Q | ∃X (P | Q) |
Q | ∀X P | ∀X (Q | P) |
Q | ∃XP | ∃X (Q | P) |
Skolemize | |
---|---|
Formula | Rewrites to |
Initially | Set γ = {} |
∀X P | P and set γ = γ ∪ {X} |
∃X P | P[X/x(γ)] where x is a new Skolem functor. |
Distribute disjunctions | |
---|---|
Formula | Rewrites to |
P | (Q & R) | (P | Q) & (P | R) |
(Q & R) | P | (Q | P) & (R | P) |
Convert to CNF | |
---|---|
Formula | Rewrites to |
P1 & ... & Pn | {P1,...,Pn} |