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