From 537bb5e2bae76e0df0d9e07a40dbe6b299be6aad Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 3 Jul 2015 12:43:24 +0200 Subject: Truth tables --- LogicParser.icl | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'LogicParser.icl') 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 -- cgit v1.2.3