0.08/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.08/0.14 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.15/0.36 % Computer : n026.cluster.edu 0.15/0.36 % Model : x86_64 x86_64 0.15/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.15/0.36 % Memory : 8042.1875MB 0.15/0.36 % OS : Linux 3.10.0-693.el7.x86_64 0.15/0.36 % CPULimit : 180 0.15/0.36 % DateTime : Thu Aug 29 11:18:50 EDT 2019 0.15/0.36 % CPUTime : 0.58/0.74 % SZS status Unsatisfiable 0.58/0.74 0.58/0.74 % SZS output start Proof 0.58/0.74 Take the following subset of the input axioms: 0.58/0.74 fof(mckenzie1, axiom, ![X, Y, Z]: X=join(X, meet(Y, meet(X, Z)))). 0.58/0.74 fof(mckenzie2, axiom, ![X, Y, Z]: X=meet(X, join(Y, join(X, Z)))). 0.58/0.74 fof(mckenzie3, axiom, ![X, Y, Z]: Y=join(join(meet(X, Y), meet(Y, Z)), Y)). 0.58/0.74 fof(mckenzie4, axiom, ![X, Y, Z]: Y=meet(meet(join(X, Y), join(Y, Z)), Y)). 0.58/0.74 fof(prove_associativity_of_meet, negated_conjecture, meet(a, meet(b, c))!=meet(meet(a, b), c)). 0.58/0.74 0.58/0.74 Now clausify the problem and encode Horn clauses using encoding 3 of 0.58/0.74 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.58/0.74 We repeatedly replace C & s=t => u=v by the two clauses: 0.58/0.74 fresh(y, y, x1...xn) = u 0.58/0.74 C => fresh(s, t, x1...xn) = v 0.58/0.74 where fresh is a fresh function symbol and x1..xn are the free 0.58/0.74 variables of u and v. 0.58/0.74 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.58/0.74 input problem has no model of domain size 1). 0.58/0.74 0.58/0.74 The encoding turns the above axioms into the following unit equations and goals: 0.58/0.74 0.58/0.74 Axiom 1 (mckenzie4): X = meet(meet(join(Y, X), join(X, Z)), X). 0.58/0.74 Axiom 2 (mckenzie1): X = join(X, meet(Y, meet(X, Z))). 0.58/0.74 Axiom 3 (mckenzie3): X = join(join(meet(Y, X), meet(X, Z)), X). 0.58/0.74 Axiom 4 (mckenzie2): X = meet(X, join(Y, join(X, Z))). 0.58/0.74 0.58/0.74 Lemma 5: join(X, meet(X, Y)) = X. 0.58/0.74 Proof: 0.58/0.74 join(X, meet(X, Y)) 0.58/0.74 = { by axiom 1 (mckenzie4) } 0.58/0.74 join(X, meet(meet(join(?, meet(X, Y)), join(meet(X, Y), ?)), meet(X, Y))) 0.58/0.74 = { by axiom 2 (mckenzie1) } 0.58/0.74 X 0.58/0.74 0.58/0.74 Lemma 6: join(X, meet(Y, X)) = X. 0.58/0.74 Proof: 0.58/0.74 join(X, meet(Y, X)) 0.58/0.74 = { by axiom 4 (mckenzie2) } 0.58/0.74 join(X, meet(Y, meet(X, join(?, join(X, ?))))) 0.58/0.74 = { by axiom 2 (mckenzie1) } 0.58/0.74 X 0.58/0.74 0.58/0.74 Lemma 7: meet(X, join(X, Y)) = X. 0.58/0.74 Proof: 0.58/0.74 meet(X, join(X, Y)) 0.58/0.74 = { by axiom 3 (mckenzie3) } 0.58/0.74 meet(X, join(join(meet(?, join(X, Y)), meet(join(X, Y), ?)), join(X, Y))) 0.58/0.74 = { by axiom 4 (mckenzie2) } 0.58/0.74 X 0.58/0.74 0.58/0.74 Lemma 8: meet(X, join(Y, X)) = X. 0.58/0.74 Proof: 0.58/0.74 meet(X, join(Y, X)) 0.58/0.74 = { by axiom 2 (mckenzie1) } 0.58/0.74 meet(X, join(Y, join(X, meet(?, meet(X, ?))))) 0.58/0.74 = { by axiom 4 (mckenzie2) } 0.58/0.74 X 0.58/0.74 0.58/0.74 Lemma 9: join(join(Y, X), join(X, Y)) = join(X, Y). 0.58/0.74 Proof: 0.58/0.74 join(join(Y, X), join(X, Y)) 0.58/0.74 = { by lemma 8 } 0.58/0.74 join(join(meet(Y, join(X, Y)), X), join(X, Y)) 0.58/0.74 = { by lemma 7 } 0.58/0.74 join(join(meet(Y, join(X, Y)), meet(X, join(X, Y))), join(X, Y)) 0.58/0.74 = { by axiom 1 (mckenzie4) } 0.58/0.74 join(join(meet(Y, join(X, Y)), meet(meet(join(join(X, Y), meet(X, join(X, Y))), join(meet(X, join(X, Y)), join(join(join(X, Y), meet(X, join(X, Y))), ?))), meet(X, join(X, Y)))), join(X, Y)) 0.58/0.74 = { by axiom 4 (mckenzie2) } 0.58/0.74 join(join(meet(Y, join(X, Y)), meet(join(join(X, Y), meet(X, join(X, Y))), meet(X, join(X, Y)))), join(X, Y)) 0.58/0.74 = { by lemma 6 } 0.58/0.74 join(join(meet(Y, join(X, Y)), meet(join(X, Y), meet(X, join(X, Y)))), join(X, Y)) 0.58/0.74 = { by lemma 7 } 0.58/0.74 join(join(meet(Y, join(X, Y)), meet(join(X, Y), X)), join(X, Y)) 0.58/0.74 = { by axiom 3 (mckenzie3) } 0.58/0.74 join(X, Y) 0.58/0.74 0.58/0.74 Lemma 10: join(X, Y) = join(Y, X). 0.58/0.74 Proof: 0.58/0.74 join(X, Y) 0.58/0.74 = { by lemma 9 } 0.58/0.74 join(join(Y, X), join(X, Y)) 0.58/0.74 = { by lemma 6 } 0.58/0.74 join(join(join(Y, X), join(X, Y)), meet(join(Y, X), join(join(Y, X), join(X, Y)))) 0.58/0.74 = { by lemma 9 } 0.58/0.74 join(join(X, Y), meet(join(Y, X), join(join(Y, X), join(X, Y)))) 0.58/0.74 = { by lemma 7 } 0.58/0.74 join(join(X, Y), join(Y, X)) 0.58/0.74 = { by lemma 9 } 0.58/0.74 join(Y, X) 0.58/0.74 0.58/0.74 Lemma 11: meet(meet(Y, X), meet(X, Y)) = meet(X, Y). 0.58/0.74 Proof: 0.58/0.74 meet(meet(Y, X), meet(X, Y)) 0.58/0.74 = { by lemma 6 } 0.58/0.74 meet(meet(join(Y, meet(X, Y)), X), meet(X, Y)) 0.58/0.74 = { by lemma 5 } 0.58/0.74 meet(meet(join(Y, meet(X, Y)), join(X, meet(X, Y))), meet(X, Y)) 0.58/0.74 = { by lemma 10 } 0.58/0.74 meet(meet(join(Y, meet(X, Y)), join(meet(X, Y), X)), meet(X, Y)) 0.58/0.74 = { by axiom 1 (mckenzie4) } 0.58/0.74 meet(X, Y) 0.58/0.74 0.58/0.74 Lemma 12: meet(meet(X, Y), X) = meet(X, Y). 0.58/0.74 Proof: 0.58/0.74 meet(meet(X, Y), X) 0.58/0.74 = { by lemma 5 } 0.58/0.74 meet(meet(X, Y), join(X, meet(X, Y))) 0.58/0.74 = { by lemma 8 } 0.58/0.74 meet(X, Y) 0.58/0.74 0.58/0.74 Lemma 13: meet(X, Y) = meet(Y, X). 0.58/0.74 Proof: 0.58/0.74 meet(X, Y) 0.58/0.74 = { by lemma 11 } 0.58/0.74 meet(meet(Y, X), meet(X, Y)) 0.58/0.74 = { by lemma 12 } 0.58/0.74 meet(meet(meet(Y, X), meet(X, Y)), meet(Y, X)) 0.58/0.74 = { by lemma 11 } 0.58/0.74 meet(meet(X, Y), meet(Y, X)) 0.58/0.74 = { by lemma 11 } 0.58/0.74 meet(Y, X) 0.58/0.74 0.58/0.74 Lemma 14: meet(meet(X, Y), meet(X, meet(Y, Z))) = meet(X, meet(Y, Z)). 0.58/0.74 Proof: 0.58/0.74 meet(meet(X, Y), meet(X, meet(Y, Z))) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(Y, X), meet(X, meet(Y, Z))) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(X, meet(Y, Z)), meet(Y, X)) 0.58/0.74 = { by lemma 5 } 0.58/0.74 meet(meet(X, meet(Y, Z)), meet(Y, join(X, meet(X, meet(Y, Z))))) 0.58/0.74 = { by lemma 10 } 0.58/0.74 meet(meet(X, meet(Y, Z)), meet(Y, join(meet(X, meet(Y, Z)), X))) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(Y, join(meet(X, meet(Y, Z)), X)), meet(X, meet(Y, Z))) 0.58/0.74 = { by axiom 2 (mckenzie1) } 0.58/0.74 meet(meet(join(Y, meet(X, meet(Y, Z))), join(meet(X, meet(Y, Z)), X)), meet(X, meet(Y, Z))) 0.58/0.74 = { by axiom 1 (mckenzie4) } 0.58/0.74 meet(X, meet(Y, Z)) 0.58/0.74 0.58/0.74 Lemma 15: meet(meet(X, join(meet(X, Y), Z)), meet(X, Y)) = meet(X, Y). 0.58/0.74 Proof: 0.58/0.74 meet(meet(X, join(meet(X, Y), Z)), meet(X, Y)) 0.58/0.74 = { by lemma 5 } 0.58/0.74 meet(meet(join(X, meet(X, Y)), join(meet(X, Y), Z)), meet(X, Y)) 0.58/0.74 = { by axiom 1 (mckenzie4) } 0.58/0.74 meet(X, Y) 0.58/0.74 0.58/0.74 Lemma 16: meet(meet(X, Z), meet(Y, Z)) = meet(X, meet(Y, Z)). 0.58/0.74 Proof: 0.58/0.74 meet(meet(X, Z), meet(Y, Z)) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(X, Z), meet(Z, Y)) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(Z, Y), meet(X, Z)) 0.58/0.74 = { by lemma 14 } 0.58/0.74 meet(meet(meet(Z, Y), X), meet(meet(Z, Y), meet(X, Z))) 0.58/0.74 = { by lemma 15 } 0.58/0.74 meet(meet(meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z))), meet(meet(Z, Y), X)), meet(meet(Z, Y), meet(X, Z))) 0.58/0.74 = { by lemma 5 } 0.58/0.74 meet(meet(meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z))), meet(meet(Z, Y), X)), meet(meet(Z, Y), join(meet(X, Z), meet(meet(X, Z), meet(X, meet(Z, Y)))))) 0.58/0.74 = { by lemma 14 } 0.58/0.74 meet(meet(meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z))), meet(meet(Z, Y), X)), meet(meet(Z, Y), join(meet(X, Z), meet(X, meet(Z, Y))))) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z))), meet(meet(Z, Y), X)), meet(meet(Z, Y), join(meet(X, Z), meet(meet(Z, Y), X)))) 0.58/0.74 = { by lemma 10 } 0.58/0.74 meet(meet(meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z))), meet(meet(Z, Y), X)), meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z)))) 0.58/0.74 = { by lemma 12 } 0.58/0.74 meet(meet(meet(Z, Y), join(meet(meet(Z, Y), X), meet(X, Z))), meet(meet(Z, Y), X)) 0.58/0.74 = { by lemma 15 } 0.58/0.74 meet(meet(Z, Y), X) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(X, meet(Z, Y)) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(X, meet(Y, Z)) 0.58/0.74 0.58/0.74 Goal 1 (prove_associativity_of_meet): meet(a, meet(b, c)) = meet(meet(a, b), c). 0.58/0.74 Proof: 0.58/0.74 meet(a, meet(b, c)) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(a, meet(c, b)) 0.58/0.74 = { by lemma 16 } 0.58/0.74 meet(meet(a, b), meet(c, b)) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(c, b), meet(a, b)) 0.58/0.74 = { by lemma 16 } 0.58/0.74 meet(c, meet(a, b)) 0.58/0.74 = { by lemma 13 } 0.58/0.74 meet(meet(a, b), c) 0.58/0.74 % SZS output end Proof 0.58/0.74 0.58/0.74 RESULT: Unsatisfiable (the axioms are contradictory). 0.58/0.75 EOF