aboutsummaryrefslogtreecommitdiff
path: root/LogicParser.icl
diff options
context:
space:
mode:
authorCamil Staps2015-07-03 12:43:24 +0200
committerCamil Staps2015-07-03 12:43:24 +0200
commit537bb5e2bae76e0df0d9e07a40dbe6b299be6aad (patch)
tree4be9d96a5d0733a26ee5d76c6bedd63b10f4ea5e /LogicParser.icl
parentFix associativity (diff)
Truth tables
Diffstat (limited to 'LogicParser.icl')
-rw-r--r--LogicParser.icl23
1 files changed, 19 insertions, 4 deletions
diff --git a/LogicParser.icl b/LogicParser.icl
index ef81237..69adc8a 100644
--- a/LogicParser.icl
+++ b/LogicParser.icl
@@ -1,7 +1,8 @@
-module LogicParser
+module LogicTest
import Logic
+// Some random examples
e1 = Atom 'p'
e2 = Atom 'q'
e3 = App1 Not e1
@@ -9,10 +10,24 @@ e4 = App2 e1 And e2
e5 = App2 e3 Or e2
e6 = App2 e3 Impl e3
e7 = App2 e4 Equiv e5
-
e8 = App2 (App2 (Atom 'p') And (Atom 'q')) Impl (Atom 'q')
e9 = App2 (Atom 'p') And (App2 (Atom 'q') Impl (Atom 'q'))
-exprs = [e1,e2,e3,e4,e5,e6,e7,e8,e9]
+exprs_rand = [e1,e2,e3,e4,e5,e6,e7,e8,e9]
+
+// To test associativity rules
+e10 = App2 (App2 (Atom 'p') And (Atom 'q')) And (Atom 'r')
+e11 = App2 (Atom 'p') And (App2 (Atom 'q') And (Atom 'r'))
+
+e12 = App2 (App2 (Atom 'p') Or (Atom 'q')) Or (Atom 'r')
+e13 = App2 (Atom 'p') Or (App2 (Atom 'q') Or (Atom 'r'))
+
+e14 = App2 (App2 (Atom 'p') Impl (Atom 'q')) Impl (Atom 'r')
+e15 = App2 (Atom 'p') Impl (App2 (Atom 'q') Impl (Atom 'r'))
+
+e16 = App2 (App2 (Atom 'p') Equiv (Atom 'q')) Equiv (Atom 'r')
+e17 = App2 (Atom 'p') Equiv (App2 (Atom 'q') Equiv (Atom 'r'))
+
+exprs_assoc = [e10,e11,e12,e13,e14,e15,e16,e17]
-Start = map toString exprs
+Start = map toString exprs_assoc