def test_not_closing_1(self): # A expr = Atom("A") builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(builder.is_closed())
def test_closing_14(self): # (!A|B)->(A->B) expr = Impl(Or(Not(Atom("A")), Atom("B")), Impl(Atom("A"), Atom("B"))) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_not_closing_6(self): # !!A->A expr = Impl(Not(Not(Atom("A"))), Atom("A")) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(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 = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(builder.is_closed())
def test_closing_11(self): # (A->!B) -> !(A&B) expr = Impl(Impl(Atom("A"), Not(Atom("B"))), Not(And(Atom("A"), Atom("B")))) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_closing_8(self): # !(A|B) -> !A&!B expr = Impl(Not(Or(Atom("A"), Atom("B"))), And(Not(Atom("A")), Not(Atom("B")))) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def test_closing_3(self): # T A&B F A expr_1 = And(Atom("A"), Atom("B")) expr_2 = Atom("A") builder = IpcTableauxBuilder(true_exprs=[expr_1], false_exprs=[expr_2]) builder.auto_resolve() self.assertTrue(builder.is_closed())
def get_drawing_calculator(self, true_exprs, false_exprs): painter_mock = MagicMock() tableaux_builder = IpcTableauxBuilder( true_exprs=[parse(e) for e in true_exprs], false_exprs=[parse(e) for e in false_exprs], visit_idx=len(true_exprs) + len(false_exprs)) tableaux_builder.auto_resolve() return DrawingCalculator(tableaux_builder, painter_mock, False, True, 10)
def test_not_closing_10(self): # !(A->!B)->A&B expr = Impl( Not(Impl(Atom("A"), Not(Atom("B")))), And(Atom("A"), Atom("B")), ) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(builder.is_closed())
def test_not_closing_13(self): # (A->B)->(!A|B) expr = Impl( Impl(Atom("A"), Atom("B")), Or(Not(Atom("A")), Atom("B")), ) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertFalse(builder.is_closed())
def test_closing_18(self): # (A&B)<->((A->B)<->A) expr = Eq(And(Atom("A"), Atom("B")), Eq( Impl(Atom("A"), Atom("B")), Atom("A"), )) builder = IpcTableauxBuilder(false_exprs=[expr]) builder.auto_resolve() self.assertTrue(builder.is_closed())