33 lines
1.1 KiB
Text
33 lines
1.1 KiB
Text
simplification rules for iff
|
||
#1, ?M_1 ↔ false ↦ ¬?M_1
|
||
#1, ?M_1 ↔ true ↦ ?M_1
|
||
#0, false ↔ true ↦ false
|
||
#0, true ↔ false ↦ false
|
||
#1, ?M_1 ↔ ¬?M_1 ↦ false
|
||
#1, ?M_1 ↔ ?M_1 ↦ true
|
||
#1, false ↔ ?M_1 ↦ ¬?M_1
|
||
#1, true ↔ ?M_1 ↦ ?M_1
|
||
#3 perm, ?M_1 ∧ ?M_2 ∧ ?M_3 ↦ ?M_2 ∧ ?M_1 ∧ ?M_3
|
||
#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, (?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
|
||
#3 perm, ?M_1 ∨ ?M_2 ∨ ?M_3 ↦ ?M_2 ∨ ?M_1 ∨ ?M_3
|
||
#1, false ∨ ?M_1 ↦ ?M_1
|
||
#1, ?M_1 ∨ false ↦ ?M_1
|
||
#1, true ∨ ?M_1 ↦ true
|
||
#1, ?M_1 ∨ true ↦ true
|
||
#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
|
||
#2 perm, nat.add ?M_1 ?M_2 ↦ nat.add ?M_2 ?M_1
|
||
#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
|