2015-07-22 17:39:30 +00:00
|
|
|
|
simplification rules for iff
|
2015-07-24 00:01:19 +00:00
|
|
|
|
#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
|
2015-07-14 01:46:09 +00:00
|
|
|
|
#1, ?M_1 ↔ ?M_1 ↦ true
|
|
|
|
|
#1, false ↔ ?M_1 ↦ ¬?M_1
|
|
|
|
|
#1, true ↔ ?M_1 ↦ ?M_1
|
2015-07-24 00:01:19 +00:00
|
|
|
|
#3 perm, ?M_1 ∧ ?M_2 ∧ ?M_3 ↦ ?M_2 ∧ ?M_1 ∧ ?M_3
|
2015-07-14 01:46:09 +00:00
|
|
|
|
#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
|
2015-07-24 00:01:19 +00:00
|
|
|
|
#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
|
2015-07-14 01:46:09 +00:00
|
|
|
|
#1, false ∨ ?M_1 ↦ ?M_1
|
|
|
|
|
#1, ?M_1 ∨ false ↦ ?M_1
|
|
|
|
|
#1, true ∨ ?M_1 ↦ true
|
|
|
|
|
#1, ?M_1 ∨ true ↦ true
|
2015-07-24 00:01:19 +00:00
|
|
|
|
#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
|
2015-07-14 01:46:09 +00:00
|
|
|
|
#0, ¬false ↦ true
|
|
|
|
|
#0, ¬true ↦ false
|
2015-07-22 17:39:30 +00:00
|
|
|
|
simplification rules for eq
|
2015-06-02 05:23:34 +00:00
|
|
|
|
#2 perm, nat.add ?M_1 ?M_2 ↦ nat.add ?M_2 ?M_1
|
2015-07-14 01:46:09 +00:00
|
|
|
|
#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
|