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