package G4ip; /** Class for propositional formulae.

* @author Christian Urban */ public class Form { public case False(); public case And(Form c1,Form c2); public case Or(Form c1,Form c2); public case Imp(Form c1,Form c2); //public case Equ(Form c1,Form c2); public case Atm(String c); public String toString() { switch(this) { case False(): return "false"; case And(Form c1,Form c2): return "(" + c1.toString() + " & " + c2.toString() + ")"; case Or(Form c1,Form c2): return "(" + c1.toString() + " v " + c2.toString() + ")"; case Imp(Form c1,Form c2): return "(" + c1.toString() + " -> " + c2.toString() + ")"; case Atm(String c): return c; } } // for testing public String internalString() { switch(this) { case False(): return "false"; case And(Form c1,Form c2): return "And(" + c1.internalString() + "," + c2.internalString() + ")"; case Or(Form c1,Form c2): return "Or(" + c1.internalString() + "," + c2.internalString() + ")"; case Imp(Form c1,Form c2): return "Imp(" + c1.internalString() + "," + c2.internalString() + ")"; case Atm(String c): return "Atm(\"p"+ c + "\")"; } } }