47 lines
1.4 KiB
Text
47 lines
1.4 KiB
Text
simplification rules for iff
|
||
#1, ?M_1 ↔ ?M_1 ↦ true
|
||
#1, false ↔ ?M_1 ↦ ¬?M_1
|
||
#1, ?M_1 ↔ false ↦ ¬?M_1
|
||
#1, true ↔ ?M_1 ↦ ?M_1
|
||
#1, ?M_1 ↔ true ↦ ?M_1
|
||
#0, false ↔ true ↦ false
|
||
#0, true ↔ false ↦ false
|
||
#1, ?M_1 ↔ ¬?M_1 ↦ false
|
||
#2, ?M_1 - ?M_2 ≤ ?M_1 ↦ true
|
||
#1, 0 ≤ ?M_1 ↦ true
|
||
#1, succ ?M_1 ≤ ?M_1 ↦ false
|
||
#1, pred ?M_1 ≤ ?M_1 ↦ true
|
||
#1, ?M_1 ≤ succ ?M_1 ↦ true
|
||
#1, ?M_1 ∧ ?M_1 ↦ ?M_1
|
||
#1, false ∧ ?M_1 ↦ false
|
||
#1, ?M_1 ∧ false ↦ false
|
||
#1, true ∧ ?M_1 ↦ ?M_1
|
||
#1, ?M_1 ∧ true ↦ ?M_1
|
||
#3 perm, ?M_1 ∧ ?M_2 ∧ ?M_3 ↦ ?M_2 ∧ ?M_1 ∧ ?M_3
|
||
#3, (?M_1 ∧ ?M_2) ∧ ?M_3 ↦ ?M_1 ∧ ?M_2 ∧ ?M_3
|
||
#2 perm, ?M_1 ∧ ?M_2 ↦ ?M_2 ∧ ?M_1
|
||
#2, ?M_2 == ?M_2 ↦ true
|
||
#2, ?M_1 - ?M_2 < succ ?M_1 ↦ true
|
||
#1, ?M_1 < 0 ↦ false
|
||
#1, ?M_1 < succ ?M_1 ↦ true
|
||
#1, 0 < succ ?M_1 ↦ true
|
||
#1, ?M_1 ∨ ?M_1 ↦ ?M_1
|
||
#1, false ∨ ?M_1 ↦ ?M_1
|
||
#1, ?M_1 ∨ false ↦ ?M_1
|
||
#1, true ∨ ?M_1 ↦ true
|
||
#1, ?M_1 ∨ true ↦ true
|
||
#3 perm, ?M_1 ∨ ?M_2 ∨ ?M_3 ↦ ?M_2 ∨ ?M_1 ∨ ?M_3
|
||
#3, (?M_1 ∨ ?M_2) ∨ ?M_3 ↦ ?M_1 ∨ ?M_2 ∨ ?M_3
|
||
#2 perm, ?M_1 ∨ ?M_2 ↦ ?M_2 ∨ ?M_1
|
||
#2, ?M_2 = ?M_2 ↦ true
|
||
#0, ¬false ↦ true
|
||
#0, ¬true ↦ false
|
||
simplification rules for eq
|
||
#1, g ?M_1 ↦ f ?M_1 + 1
|
||
#2, g ?M_3 ↦ 1
|
||
#2, f ?M_1 ↦ 0
|
||
#3, ite false ?M_2 ?M_3 ↦ ?M_3
|
||
#3, ite true ?M_2 ?M_3 ↦ ?M_2
|
||
#4, ite ?M_1 ?M_4 ?M_4 ↦ ?M_4
|
||
#1, 0 - ?M_1 ↦ 0
|
||
#2, succ ?M_1 - succ ?M_2 ↦ ?M_1 - ?M_2
|