0.07/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.07/0.13 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.12/0.35 % Computer : n012.cluster.edu 0.12/0.35 % Model : x86_64 x86_64 0.12/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.35 % Memory : 8042.1875MB 0.12/0.35 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.35 % CPULimit : 180 0.12/0.35 % DateTime : Thu Aug 29 10:15:27 EDT 2019 0.12/0.35 % CPUTime : 0.12/0.38 % SZS status Unsatisfiable 0.12/0.38 0.12/0.38 % SZS output start Proof 0.12/0.38 Take the following subset of the input axioms: 0.12/0.39 fof(multiply, axiom, ![A, B]: multiply(A, B)=divide(A, inverse(B))). 0.12/0.39 fof(prove_these_axioms_3, negated_conjecture, multiply(multiply(a3, b3), c3)!=multiply(a3, multiply(b3, c3))). 0.12/0.39 fof(single_axiom, axiom, ![A, B, C, D]: divide(divide(A, A), divide(B, divide(divide(C, divide(D, B)), inverse(D))))=C). 0.12/0.39 0.12/0.39 Now clausify the problem and encode Horn clauses using encoding 3 of 0.12/0.39 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.12/0.39 We repeatedly replace C & s=t => u=v by the two clauses: 0.12/0.39 fresh(y, y, x1...xn) = u 0.12/0.39 C => fresh(s, t, x1...xn) = v 0.12/0.39 where fresh is a fresh function symbol and x1..xn are the free 0.12/0.39 variables of u and v. 0.12/0.39 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.12/0.39 input problem has no model of domain size 1). 0.12/0.39 0.12/0.39 The encoding turns the above axioms into the following unit equations and goals: 0.12/0.39 0.12/0.39 Axiom 1 (single_axiom): divide(divide(X, X), divide(Y, divide(divide(Z, divide(W, Y)), inverse(W)))) = Z. 0.12/0.39 Axiom 2 (multiply): multiply(X, Y) = divide(X, inverse(Y)). 0.12/0.39 0.12/0.39 Lemma 3: divide(divide(Y, Y), divide(Z, multiply(divide(X, divide(W, Z)), W))) = X. 0.12/0.39 Proof: 0.12/0.39 divide(divide(Y, Y), divide(Z, multiply(divide(X, divide(W, Z)), W))) 0.12/0.39 = { by axiom 2 (multiply) } 0.12/0.39 divide(divide(Y, Y), divide(Z, divide(divide(X, divide(W, Z)), inverse(W)))) 0.12/0.39 = { by axiom 1 (single_axiom) } 0.12/0.39 X 0.12/0.39 0.12/0.39 Lemma 4: divide(X, X) = divide(?, ?). 0.12/0.39 Proof: 0.12/0.39 divide(X, X) 0.12/0.39 = { by lemma 3 } 0.12/0.39 divide(divide(Y, Y), divide(divide(divide(Z, divide(W, V)), inverse(W)), multiply(divide(divide(X, X), divide(V, divide(divide(Z, divide(W, V)), inverse(W)))), V))) 0.12/0.39 = { by axiom 1 (single_axiom) } 0.12/0.39 divide(divide(Y, Y), divide(divide(divide(Z, divide(W, V)), inverse(W)), multiply(Z, V))) 0.12/0.39 = { by axiom 1 (single_axiom) } 0.12/0.39 divide(divide(Y, Y), divide(divide(divide(Z, divide(W, V)), inverse(W)), multiply(divide(divide(?, ?), divide(V, divide(divide(Z, divide(W, V)), inverse(W)))), V))) 0.12/0.39 = { by lemma 3 } 0.12/0.39 divide(?, ?) 0.12/0.39 0.12/0.39 Lemma 5: divide(divide(?, ?), divide(Y, multiply(divide(?, ?), X))) = divide(X, Y). 0.12/0.39 Proof: 0.12/0.39 divide(divide(?, ?), divide(Y, multiply(divide(?, ?), X))) 0.12/0.39 = { by axiom 2 (multiply) } 0.12/0.39 divide(divide(?, ?), divide(Y, divide(divide(?, ?), inverse(X)))) 0.12/0.39 = { by lemma 4 } 0.12/0.39 divide(divide(?, ?), divide(Y, divide(divide(divide(X, Y), divide(X, Y)), inverse(X)))) 0.12/0.39 = { by axiom 1 (single_axiom) } 0.12/0.39 divide(X, Y) 0.12/0.39 0.12/0.39 Lemma 6: divide(divide(Y, Y), divide(inverse(Z), multiply(divide(X, multiply(W, Z)), W))) = X. 0.12/0.39 Proof: 0.12/0.39 divide(divide(Y, Y), divide(inverse(Z), multiply(divide(X, multiply(W, Z)), W))) 0.12/0.39 = { by axiom 2 (multiply) } 0.12/0.39 divide(divide(Y, Y), divide(inverse(Z), divide(divide(X, multiply(W, Z)), inverse(W)))) 0.12/0.39 = { by axiom 2 (multiply) } 0.12/0.39 divide(divide(Y, Y), divide(inverse(Z), divide(divide(X, divide(W, inverse(Z))), inverse(W)))) 0.12/0.39 = { by axiom 1 (single_axiom) } 0.12/0.39 X 0.12/0.39 0.12/0.39 Lemma 7: multiply(divide(?, ?), X) = X. 0.12/0.39 Proof: 0.12/0.39 multiply(divide(?, ?), X) 0.12/0.39 = { by axiom 2 (multiply) } 0.12/0.39 divide(divide(?, ?), inverse(X)) 0.12/0.39 = { by lemma 5 } 0.12/0.39 divide(divide(?, ?), divide(inverse(X), multiply(divide(?, ?), divide(?, ?)))) 0.12/0.39 = { by lemma 4 } 0.12/0.39 divide(divide(?, ?), divide(inverse(X), multiply(divide(divide(?, ?), divide(?, ?)), divide(?, ?)))) 0.12/0.39 = { by lemma 4 } 0.12/0.39 divide(divide(?, ?), divide(inverse(X), multiply(divide(divide(?, ?), divide(multiply(divide(?, ?), X), multiply(divide(?, ?), X))), divide(?, ?)))) 0.12/0.39 = { by lemma 5 } 0.12/0.39 divide(divide(?, ?), divide(inverse(X), multiply(divide(X, multiply(divide(?, ?), X)), divide(?, ?)))) 0.12/0.39 = { by lemma 6 } 0.12/0.39 X 0.12/0.39 0.12/0.39 Lemma 8: divide(divide(?, ?), divide(Y, X)) = divide(X, Y). 0.12/0.39 Proof: 0.12/0.39 divide(divide(?, ?), divide(Y, X)) 0.12/0.39 = { by lemma 7 } 0.12/0.39 divide(divide(?, ?), divide(Y, multiply(divide(?, ?), X))) 0.12/0.39 = { by lemma 4 } 0.12/0.39 divide(divide(?, ?), divide(Y, multiply(divide(divide(X, Y), divide(X, Y)), X))) 0.12/0.39 = { by lemma 3 } 0.12/0.39 divide(X, Y) 0.12/0.39 0.12/0.39 Lemma 9: divide(multiply(divide(X, divide(Y, Z)), Y), Z) = X. 0.12/0.39 Proof: 0.12/0.39 divide(multiply(divide(X, divide(Y, Z)), Y), Z) 0.12/0.39 = { by axiom 2 (multiply) } 0.12/0.39 divide(divide(divide(X, divide(Y, Z)), inverse(Y)), Z) 0.12/0.39 = { by lemma 8 } 0.12/0.39 divide(divide(?, ?), divide(Z, divide(divide(X, divide(Y, Z)), inverse(Y)))) 0.12/0.39 = { by axiom 1 (single_axiom) } 0.12/0.40 X 0.12/0.40 0.12/0.40 Lemma 10: multiply(divide(X, divide(Y, Z)), Y) = multiply(X, Z). 0.12/0.40 Proof: 0.12/0.40 multiply(divide(X, divide(Y, Z)), Y) 0.12/0.40 = { by lemma 6 } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(multiply(divide(X, divide(Y, Z)), Y), multiply(divide(multiply(divide(X, divide(Y, Z)), Y), Z), Z)), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by lemma 8 } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(divide(?, ?), divide(multiply(divide(multiply(divide(X, divide(Y, Z)), Y), Z), Z), multiply(divide(X, divide(Y, Z)), Y))), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by lemma 8 } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(divide(?, ?), divide(multiply(divide(divide(?, ?), divide(Z, multiply(divide(X, divide(Y, Z)), Y))), Z), multiply(divide(X, divide(Y, Z)), Y))), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(divide(?, ?), divide(divide(divide(divide(?, ?), divide(Z, multiply(divide(X, divide(Y, Z)), Y))), inverse(Z)), multiply(divide(X, divide(Y, Z)), Y))), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by lemma 7 } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(divide(?, ?), divide(divide(divide(divide(?, ?), divide(Z, multiply(divide(X, divide(Y, Z)), Y))), inverse(Z)), multiply(divide(?, ?), multiply(divide(X, divide(Y, Z)), Y)))), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by axiom 1 (single_axiom) } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(divide(?, ?), divide(divide(divide(divide(?, ?), divide(Z, multiply(divide(X, divide(Y, Z)), Y))), inverse(Z)), multiply(divide(divide(?, ?), divide(multiply(divide(X, divide(Y, Z)), Y), divide(divide(divide(?, ?), divide(Z, multiply(divide(X, divide(Y, Z)), Y))), inverse(Z)))), multiply(divide(X, divide(Y, Z)), Y)))), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by lemma 3 } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), multiply(divide(?, ?), divide(multiply(divide(X, divide(Y, Z)), Y), Z)))) 0.12/0.40 = { by lemma 7 } 0.12/0.40 divide(divide(?, ?), divide(inverse(Z), divide(multiply(divide(X, divide(Y, Z)), Y), Z))) 0.12/0.40 = { by lemma 8 } 0.12/0.40 divide(divide(multiply(divide(X, divide(Y, Z)), Y), Z), inverse(Z)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(divide(multiply(divide(X, divide(Y, Z)), Y), Z), Z) 0.12/0.40 = { by lemma 9 } 0.12/0.40 multiply(X, Z) 0.12/0.40 0.12/0.40 Goal 1 (prove_these_axioms_3): multiply(multiply(a3, b3), c3) = multiply(a3, multiply(b3, c3)). 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(a3, b3), c3) 0.12/0.40 = { by lemma 10 } 0.12/0.40 multiply(multiply(divide(a3, divide(?, b3)), ?), c3) 0.12/0.40 = { by lemma 10 } 0.12/0.40 multiply(divide(multiply(divide(a3, divide(?, b3)), ?), divide(multiply(divide(b3, divide(?, c3)), ?), c3)), multiply(divide(b3, divide(?, c3)), ?)) 0.12/0.40 = { by lemma 9 } 0.12/0.40 multiply(divide(multiply(divide(a3, divide(?, b3)), ?), b3), multiply(divide(b3, divide(?, c3)), ?)) 0.12/0.40 = { by lemma 9 } 0.12/0.40 multiply(a3, multiply(divide(b3, divide(?, c3)), ?)) 0.12/0.40 = { by lemma 10 } 0.12/0.40 multiply(a3, multiply(b3, c3)) 0.12/0.40 % SZS output end Proof 0.12/0.40 0.12/0.40 RESULT: Unsatisfiable (the axioms are contradictory). 0.12/0.40 EOF