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))")
Esempio n. 2
0
 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())
Esempio n. 4
0
 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())
Esempio n. 5
0
 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__()) )
Esempio n. 6
0
 def propositionalCNF(self):
     """Transform the current formula in input in CNF"""
     formula = propositional_parser.parse(self.getInputString())
     output = formula.cnf()
     self.appendOutput(output.__str__())
Esempio n. 7
0
 def propositionalCheck(self):
     """Check the sintax of the formula in input"""
     output = propositional_parser.parse(self.getInputString())
     self.appendOutput(output.__str__())
Esempio n. 8
0
 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__()))
Esempio n. 9
0
 def propositionalCNF(self):
     """Transform the current formula in input in CNF"""
     formula = propositional_parser.parse(self.getInputString())
     output = formula.cnf()
     self.appendOutput(output.__str__())
Esempio n. 10
0
 def propositionalCheck(self):
     """Check the sintax of the formula in input"""
     output = propositional_parser.parse(self.getInputString())
     self.appendOutput(output.__str__())