0.03/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.03/0.14 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.13/0.36 % Computer : n026.cluster.edu 0.13/0.36 % Model : x86_64 x86_64 0.13/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.13/0.36 % Memory : 8042.1875MB 0.13/0.36 % OS : Linux 3.10.0-693.el7.x86_64 0.13/0.36 % CPULimit : 180 0.13/0.36 % DateTime : Thu Aug 29 12:34:05 EDT 2019 0.13/0.36 % CPUTime : 1.62/1.79 % SZS status Unsatisfiable 1.62/1.79 1.62/1.79 % SZS output start Proof 1.62/1.79 Take the following subset of the input axioms: 1.62/1.79 fof(axiom_1_3, axiom, ![A, B]: axiom(or(not(A), or(B, A)))=true). 1.62/1.79 fof(axiom_1_4, axiom, ![A, B]: axiom(or(not(or(A, B)), or(B, A)))=true). 1.62/1.79 fof(axiom_1_5, axiom, ![A, B, C]: true=axiom(or(not(or(A, or(B, C))), or(B, or(A, C))))). 1.62/1.79 fof(ifeq_axiom, axiom, ![A, B, C]: ifeq(A, A, B, C)=B). 1.62/1.79 fof(prove_this, negated_conjecture, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q)))!=true). 1.62/1.79 fof(rule_1, axiom, ![X]: true=ifeq(axiom(X), true, theorem(X), true)). 1.62/1.79 fof(rule_2, axiom, ![Y, X]: ifeq(theorem(Y), true, ifeq(axiom(or(not(Y), X)), true, theorem(X), true), true)=true). 1.62/1.79 fof(rule_3, axiom, ![Y, Z, X]: true=ifeq(theorem(or(not(Y), Z)), true, ifeq(axiom(or(not(X), Y)), true, theorem(or(not(X), Z)), true), true)). 1.62/1.79 1.62/1.79 Now clausify the problem and encode Horn clauses using encoding 3 of 1.62/1.79 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 1.62/1.79 We repeatedly replace C & s=t => u=v by the two clauses: 1.62/1.79 fresh(y, y, x1...xn) = u 1.62/1.79 C => fresh(s, t, x1...xn) = v 1.62/1.79 where fresh is a fresh function symbol and x1..xn are the free 1.62/1.79 variables of u and v. 1.62/1.79 A predicate p(X) is encoded as p(X)=true (this is sound, because the 1.62/1.79 input problem has no model of domain size 1). 1.62/1.79 1.62/1.79 The encoding turns the above axioms into the following unit equations and goals: 1.62/1.79 1.62/1.79 Axiom 1 (rule_1): true = ifeq(axiom(X), true, theorem(X), true). 1.62/1.79 Axiom 2 (axiom_1_3): axiom(or(not(X), or(Y, X))) = true. 1.62/1.79 Axiom 3 (rule_2): ifeq(theorem(X), true, ifeq(axiom(or(not(X), Y)), true, theorem(Y), true), true) = true. 1.62/1.79 Axiom 4 (rule_3): true = ifeq(theorem(or(not(X), Y)), true, ifeq(axiom(or(not(Z), X)), true, theorem(or(not(Z), Y)), true), true). 1.62/1.79 Axiom 5 (axiom_1_4): axiom(or(not(or(X, Y)), or(Y, X))) = true. 1.62/1.79 Axiom 6 (ifeq_axiom): ifeq(X, X, Y, Z) = Y. 1.62/1.79 Axiom 7 (axiom_1_5): true = axiom(or(not(or(X, or(Y, Z))), or(Y, or(X, Z)))). 1.62/1.79 1.62/1.79 Lemma 8: ifeq(theorem(or(X, or(Y, Z))), true, theorem(or(Y, or(X, Z))), true) = true. 1.62/1.79 Proof: 1.62/1.79 ifeq(theorem(or(X, or(Y, Z))), true, theorem(or(Y, or(X, Z))), true) 1.62/1.79 = { by axiom 6 (ifeq_axiom) } 1.62/1.79 ifeq(theorem(or(X, or(Y, Z))), true, ifeq(true, true, theorem(or(Y, or(X, Z))), true), true) 1.62/1.79 = { by axiom 7 (axiom_1_5) } 1.62/1.79 ifeq(theorem(or(X, or(Y, Z))), true, ifeq(axiom(or(not(or(X, or(Y, Z))), or(Y, or(X, Z)))), true, theorem(or(Y, or(X, Z))), true), true) 1.62/1.79 = { by axiom 3 (rule_2) } 1.62/1.79 true 1.62/1.79 1.62/1.79 Lemma 9: ifeq(theorem(or(not(or(X, Y)), Z)), true, theorem(or(not(or(Y, X)), Z)), true) = true. 1.62/1.79 Proof: 1.62/1.79 ifeq(theorem(or(not(or(X, Y)), Z)), true, theorem(or(not(or(Y, X)), Z)), true) 1.62/1.79 = { by axiom 6 (ifeq_axiom) } 1.62/1.79 ifeq(theorem(or(not(or(X, Y)), Z)), true, ifeq(true, true, theorem(or(not(or(Y, X)), Z)), true), true) 1.62/1.79 = { by axiom 5 (axiom_1_4) } 1.62/1.79 ifeq(theorem(or(not(or(X, Y)), Z)), true, ifeq(axiom(or(not(or(Y, X)), or(X, Y))), true, theorem(or(not(or(Y, X)), Z)), true), true) 1.62/1.79 = { by axiom 4 (rule_3) } 1.62/1.80 true 1.62/1.80 1.62/1.80 Goal 1 (prove_this): theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))) = true. 1.62/1.80 Proof: 1.62/1.80 theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(true, true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by lemma 8 } 1.62/1.80 ifeq(ifeq(theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(ifeq(ifeq(true, true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by lemma 9 } 1.62/1.80 ifeq(ifeq(ifeq(ifeq(theorem(or(not(or(p, q)), or(not(or(q, not(or(p, q)))), q))), true, theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(ifeq(ifeq(ifeq(ifeq(true, true, theorem(or(not(or(p, q)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 1 (rule_1) } 1.62/1.80 ifeq(ifeq(ifeq(ifeq(ifeq(ifeq(axiom(or(not(or(q, not(or(p, q)))), or(not(or(p, q)), q))), true, theorem(or(not(or(q, not(or(p, q)))), or(not(or(p, q)), q))), true), true, theorem(or(not(or(p, q)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 5 (axiom_1_4) } 1.62/1.80 ifeq(ifeq(ifeq(ifeq(ifeq(ifeq(true, true, theorem(or(not(or(q, not(or(p, q)))), or(not(or(p, q)), q))), true), true, theorem(or(not(or(p, q)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(ifeq(ifeq(ifeq(ifeq(theorem(or(not(or(q, not(or(p, q)))), or(not(or(p, q)), q))), true, theorem(or(not(or(p, q)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by lemma 8 } 1.62/1.80 ifeq(ifeq(ifeq(ifeq(true, true, theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(ifeq(ifeq(theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(ifeq(ifeq(theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true, ifeq(true, true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 2 (axiom_1_3) } 1.62/1.80 ifeq(ifeq(ifeq(theorem(or(not(or(q, p)), or(not(or(q, not(or(p, q)))), q))), true, ifeq(axiom(or(not(p), or(q, p))), true, theorem(or(not(p), or(not(or(q, not(or(p, q)))), q))), true), true), true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 4 (rule_3) } 1.62/1.80 ifeq(ifeq(true, true, theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by axiom 6 (ifeq_axiom) } 1.62/1.80 ifeq(theorem(or(not(or(q, not(or(p, q)))), or(not(p), q))), true, theorem(or(not(or(not(or(p, q)), q)), or(not(p), q))), true) 1.62/1.80 = { by lemma 9 } 1.62/1.80 true 1.62/1.80 % SZS output end Proof 1.62/1.80 1.62/1.80 RESULT: Unsatisfiable (the axioms are contradictory). 1.62/1.81 EOF