aboutsummaryrefslogtreecommitdiff
path: root/Logic.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'Logic.dcl')
-rw-r--r--Logic.dcl12
1 files changed, 11 insertions, 1 deletions
diff --git a/Logic.dcl b/Logic.dcl
index 90d579b..bf76859 100644
--- a/Logic.dcl
+++ b/Logic.dcl
@@ -40,6 +40,14 @@ isEquiv :: Expr -> Bool
instance toString Op1
instance toString Op2
instance toString Expr
+instance toString TruthTable
+
+instance == Op1
+instance < Op1
+instance == Op2
+instance < Op2
+instance == Expr
+instance < Expr // To sort by unrigorous 'complexity'; e.g. in truthtables
binds_stronger :: Op2 Op2 -> Bool // True iff arg1 stronger binds than arg2
@@ -50,5 +58,7 @@ substitute :: AtomOption Expr -> Expr // Substitute all atomic expressions
substitute_all :: [AtomOption] Expr -> Expr // Same, for multiple options
eval :: Expr -> [Bool] // Evaluate to a simpler form
-instance toString TruthTable
+subexprs :: Expr -> [Expr] // Subexpressions of an expression
+sorted_subexprs :: (Expr -> [Expr]) // Similar, but roughly sorted by complexity
+truthtable :: Expr -> TruthTable // Truthtable from an expression