def setUp(self): self.a1 = Formula("X") self.a2 = Formula("Y") self.l1 = Formula("!", Formula("X")) self.fand1 = Formula("&", Formula("X"), Formula("Y")) self.for1 = Formula("|", Formula("X"), Formula("Y")) self.taut1 = parser.parse("((P->Q)&(Q->R))->-(-R&P)") self.taut2 = parser.parse("(-P->Q)->((P->Q)->Q)") self.taut3 = parser.parse("((P->Q)->P)->P") self.taut4 = parser.parse("(P->(Q->R))->((P->Q)->(P->R))")
def setUp(self): self.a1 = Formula("X") self.a2 = Formula("Y") self.l1 = Formula("!", Formula("X")) self.fand1 = Formula("&", Formula("X"), Formula("Y")) self.for1 = Formula("|", Formula("X"), Formula("Y")) self.taut1 = parser.parse("((P->Q)&(Q->R))->-(-R&P)") self.taut2 = parser.parse("(-P->Q)->((P->Q)->Q)") self.taut3 = parser.parse("((P->Q)->P)->P") self.taut4 = parser.parse("(P->(Q->R))->((P->Q)->(P->R))")
def test_cnf_particular(self): # components p = Formula("P") np = Formula("!", p) q = Formula("Q") nq = Formula("!", q) r = Formula("R") # formulas f1s = "-(P-> (Q-> R)) -> ((P->Q) -> (P -> R))" f1 = parser.parse(f1s) f2s = "-(P&Q) -> R" f2 = parser.parse(f2s) # expected exp1 = Generalization("and", [ Generalization("or", [np, nq, r, p, np, r]), Generalization("or", [np, nq, r, nq, np, r])]) exp2 = Generalization("and", [ Generalization("or", [p, r]), Generalization("or", [q, r])]) # assertions self.assertEqual(exp1, f1.cnf()) self.assertEqual(exp2, f2.cnf())
def test_cnf_particular(self): # components p = Formula("P") np = Formula("!", p) q = Formula("Q") nq = Formula("!", q) r = Formula("R") # formulas f1s = "-(P-> (Q-> R)) -> ((P->Q) -> (P -> R))" f1 = parser.parse(f1s) f2s = "-(P&Q) -> R" f2 = parser.parse(f2s) # expected exp1 = Generalization("and", [ Generalization("or", [np, nq, r, p, np, r]), Generalization("or", [np, nq, r, nq, np, r]) ]) exp2 = Generalization( "and", [Generalization("or", [p, r]), Generalization("or", [q, r])]) # assertions self.assertEqual(exp1, f1.cnf()) self.assertEqual(exp2, f2.cnf())
def propositionalResolution(self): """Test if the current formula is a tautology, using the resolution method""" formula = propositional_parser.parse(self.getInputString()) output = propositional_resolution.is_tautology(formula) self.appendOutput("%s: %s" % (str(formula), output.__str__()) )
def propositionalCNF(self): """Transform the current formula in input in CNF""" formula = propositional_parser.parse(self.getInputString()) output = formula.cnf() self.appendOutput(output.__str__())
def propositionalCheck(self): """Check the sintax of the formula in input""" output = propositional_parser.parse(self.getInputString()) self.appendOutput(output.__str__())
def propositionalResolution(self): """Test if the current formula is a tautology, using the resolution method""" formula = propositional_parser.parse(self.getInputString()) output = propositional_resolution.is_tautology(formula) self.appendOutput("%s: %s" % (str(formula), output.__str__()))
def propositionalCNF(self): """Transform the current formula in input in CNF""" formula = propositional_parser.parse(self.getInputString()) output = formula.cnf() self.appendOutput(output.__str__())
def propositionalCheck(self): """Check the sintax of the formula in input""" output = propositional_parser.parse(self.getInputString()) self.appendOutput(output.__str__())