def test_not_closing_1(self): # A expr = Atom("A") builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(builder.is_closed())
def test_closing_3(self): # !A -> (A -> B) expr = Impl(Not(Atom("A")), Impl(Atom("A"), Atom("B"))) builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_closing_1(self): # A | !A expr = Or(Atom("A"), Not(Atom("A"))) builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_not_closing_4(self): # A&B | !A&B expr = Or(And(Atom("A"), Atom("B")), And(Not(Atom("A")), Atom("B"))) builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(builder.is_closed())
def test_closing_7(self): # !!A <-> A expr = Eq(Not(Not(Atom("A"))), Atom("A")) builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_closing_4(self): # A -> (B -> C) <-> A&B -> C expr = Eq(Impl(Atom("A"), Impl(Atom("B"), Atom("C"))), Impl(And(Atom("A"), Atom("B")), Atom("C"))) builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_closing_11(self): # !(!A&!B) <-> A|B expr = Eq(Not(And(Not(Atom("A")), Not(Atom("B")))), Or(Atom("A"), Atom("B"))) builder = PropositionalTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())