initial
[prop.git] / tools / demos / logic.ph
blob8fec11bbd2cc784854ad79d8ff82f1b5c2028037
1 #ifndef logic_h
2 #define logic_h
4 //
5 //  This file defines a simple tree structure Wff representing a 
6 // well-formed formula in proposition calculus
7 //
9 typedef int Bool;
10 #define false 0
11 #define true  1
13 datatype Wff =  falsity       
14              |  truth            
15              |  prop (char)       // a proposition with a single character name
16              |  disj(Wff, Wff)    // disjunction
17              |  conj(Wff, Wff)    // conjunction
18              |  implies(Wff, Wff) // implication
19              |  not (Wff)         // negation
20 public:
22    friend Bool eval(const Wff, const Bool []);  // Evaluate a wff
23    friend Wff  simplify(Wff);                   // Simplify a wff
26 #endif