def test_problem_17(self): prover = Prover() prover.add_formula("if(and(A, B), C)") prover.add_formula("if(not(A), C)") prover.add_formula("B") prover.add_goal("C") self.assertTrue(prover.run_prover())
def test_problem_12(self): prover = Prover() prover.add_formula("if(A, B)") prover.add_formula("if(not(B), not(C))") prover.add_formula("not(and(not(C), not(A)))") prover.add_goal("B") self.assertTrue(prover.run_prover())
def test_problem_15(self): prover = Prover() prover.add_formula("forall(x,forall(y,forall(z,if(and(L(x,y),L(y,z))," "L(x,z)))))") prover.add_formula("forall(x,forall(y,if(L(x,y),L(y,x))))") prover.add_goal("forall(x,L(x,x))") self.assertFalse(prover.run_prover())
def test_problem_18(self): prover = Prover() prover.add_formula("if(and(A, B), C)") prover.add_formula("and(not(C), B)") prover.add_formula("if(or(not(A), D), E)") prover.add_goal("E") self.assertTrue(prover.run_prover())
def test_problem_10(self): prover = Prover() prover.add_formula("or(not(A), B)") prover.add_formula("or(A, C)") prover.add_formula("if(not(D), not(C))") prover.add_goal("or(B, D)") self.assertTrue(prover.run_prover())
def test_problem_11(self): prover = Prover() prover.add_formula('if(M, if(K, B))') prover.add_formula('if(not(K), not(M))') prover.add_formula('and(L, M)') prover.add_goal('B') self.assertTrue(prover.run_prover())
def test_problem_15(self): prover = Prover() prover.add_formula("if(or(not(A), B), and(C, D))") prover.add_formula("not(or(A, E))") prover.add_formula("if(F, not(D))") prover.add_goal("not(F)") self.assertTrue(prover.run_prover())
def test_problem_11(self): prover = Prover() prover.add_formula("and(or(A, B), not(C))") prover.add_formula("if(not(C), and(D, not(A)))") prover.add_formula("if(B, or(A, E))") prover.add_goal("or(E, F)") self.assertTrue(prover.run_prover())
def test_problem_12(self): prover = Prover() prover.add_formula("if(G, and(H, not(K)))") prover.add_formula("iff(H, and(L, I))") prover.add_formula("or(not(I), K)") prover.add_goal("not(G)") self.assertTrue(prover.run_prover())
def test_problem_08(self): prover = Prover() prover.add_formula("or(Q, iff(J, D))") prover.add_formula("not(D)") prover.add_formula("J") prover.add_goal("Q") self.assertTrue(prover.run_prover())
def test_problem_09(self): prover = Prover() prover.add_formula("or(A, B)") prover.add_formula("or(not(B), C)") prover.add_formula("not(C)") prover.add_goal("A") self.assertTrue(prover.run_prover())
def test_problem_07(self): prover = Prover() prover.add_formula("if(M, I)") prover.add_formula("and(not(I), L)") prover.add_formula("or(M, B)") prover.add_goal("B") self.assertTrue(prover.run_prover())
def test_problem_05(self): prover = Prover() prover.add_formula("iff(not(B), Z)") prover.add_formula("if(N, B)") prover.add_formula("and(Z, N)") prover.add_goal("not(H)") self.assertTrue(prover.run_prover())
def test_problem_18(self): prover = Prover() prover.add_formula("or(F, G)") prover.add_formula("and(H, if(I, F))") prover.add_formula("if(H, not(F))") prover.add_goal("and(G, not(I))") self.assertTrue(prover.run_prover())
def test_problem_05(self): prover = Prover() prover.add_formula('if(R, Q)') prover.add_formula('not(and(T, not(S)))') prover.add_formula('or(not(Q), not(S))') prover.add_goal('or(not(R), not(T))') self.assertTrue(prover.run_prover())
def test_problem_15(self): prover = Prover() prover.add_formula('if(L, M)') prover.add_formula('if(M, N)') prover.add_formula('if(N, L)') prover.add_goal('or(L, N)') self.assertFalse(prover.run_prover())
def test_problem_01(self): prover = Prover() prover.add_formula('if(A, and(B, C))') prover.add_formula('iff(C, B)') prover.add_formula('not(C)') prover.add_goal('not(A)') self.assertTrue(prover.run_prover())
def test_problem_16(self): prover = Prover() prover.add_formula('if(S, T)') prover.add_formula('if(S, not(T))') prover.add_formula('if(not(T), S)') prover.add_goal('or(S, not(T))') self.assertFalse(prover.run_prover())
def test_problem_14(self): prover = Prover() prover.add_formula('or(iff(M, K), not(and(K, D)))') prover.add_formula('if(not(M), not(K))') prover.add_formula('if(not(D), not(and(K, D)))') prover.add_goal('M') self.assertFalse(prover.run_prover())
def test_problem_19(self): prover = Prover() prover.add_formula('if(A, B)') prover.add_formula('if(and(A, B), C)') prover.add_formula('if(A, if(C, D))') prover.add_goal('if(A, D)') self.assertTrue(prover.run_prover())
def test_problem_17(self): prover = Prover() prover.add_formula("and(A, and(B, C))") prover.add_formula("if(A, or(D, E))") prover.add_formula("if(B, or(D, F))") prover.add_goal("or(D, and(E, F))") self.assertTrue(prover.run_prover())
def test_problem_14(self): prover = Prover() prover.add_formula('if(G, H)') prover.add_formula('iff(R, G)') prover.add_formula('or(not(H), G)') prover.add_goal('iff(R, H)') self.assertTrue(prover.run_prover())
def test_problem_06(self): prover = Prover() prover.add_formula("or(A, and(B, C))") prover.add_formula("if(A, D)") prover.add_formula("if(D, C)") prover.add_goal("C") self.assertTrue(prover.run_prover())
def test_problem_02(self): prover = Prover() prover.add_formula('if(K, H)') prover.add_formula('if(H, L)') prover.add_formula('if(L, M)') prover.add_goal('if(K, M)') self.assertTrue(prover.run_prover())
def test_problem_11(self): prover = Prover() prover.add_formula("if(A, not(if(B, C)))") prover.add_formula("if(and(D, B), C)") prover.add_formula("D") prover.add_goal("not(A)") self.assertTrue(prover.run_prover())
def test_problem_19(self): prover = Prover() prover.add_formula('or(A, not(and(B, C)))') prover.add_formula('not(B)') prover.add_formula('not(or(A, C))') prover.add_goal('A') self.assertFalse(prover.run_prover())
def test_problem_13(self): prover = Prover() prover.add_formula("if(A, B)") prover.add_formula("if(not(C), not(B))") prover.add_formula("iff(C, D)") prover.add_goal("if(A, D)") self.assertTrue(prover.run_prover())
def test_problem_03(self): prover = Prover() prover.add_formula('not(iff(A, B))') prover.add_formula('not(A)') prover.add_formula('not(B)') prover.add_goal('and(C, not(C))') self.assertTrue(prover.run_prover())
def test_problem_04(self): prover = Prover() prover.add_formula("exists(x,and(A(x),not(B(x))))") prover.add_formula("exists(x,and(A(x),not(C(x))))") prover.add_formula("exists(x,and(not(B(x)),D(x)))") prover.add_goal("exists(x,and(and(A(x),not(B(x))),D(x)))") self.assertFalse(prover.run_prover())
def test_problem_13(self): prover = Prover() prover.add_formula("if(R, and(not(A), T))") prover.add_formula("or(B, not(S))") prover.add_formula("or(B, S)") prover.add_goal("if(A, B)") self.assertTrue(prover.run_prover())