0.07/0.12 % 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.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 10:40:20 EDT 2019 0.13/0.34 % CPUTime : 0.13/0.37 % SZS status Unsatisfiable 0.13/0.37 0.13/0.37 % SZS output start Proof 0.13/0.37 Take the following subset of the input axioms: 0.13/0.37 fof(prove_these_axioms_3, negated_conjecture, multiply(multiply(a3, b3), c3)!=multiply(a3, multiply(b3, c3))). 0.13/0.37 fof(single_axiom, axiom, ![A, B, C]: multiply(multiply(multiply(A, B), C), inverse(multiply(A, C)))=B). 0.13/0.37 0.13/0.37 Now clausify the problem and encode Horn clauses using encoding 3 of 0.13/0.37 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.13/0.37 We repeatedly replace C & s=t => u=v by the two clauses: 0.13/0.37 fresh(y, y, x1...xn) = u 0.13/0.37 C => fresh(s, t, x1...xn) = v 0.13/0.37 where fresh is a fresh function symbol and x1..xn are the free 0.13/0.37 variables of u and v. 0.13/0.37 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.13/0.37 input problem has no model of domain size 1). 0.13/0.37 0.13/0.37 The encoding turns the above axioms into the following unit equations and goals: 0.13/0.37 0.13/0.37 Axiom 1 (single_axiom): multiply(multiply(multiply(X, Y), Z), inverse(multiply(X, Z))) = Y. 0.13/0.37 0.13/0.37 Lemma 2: multiply(Y, inverse(multiply(multiply(Z, Y), inverse(multiply(Z, X))))) = X. 0.13/0.37 Proof: 0.13/0.37 multiply(Y, inverse(multiply(multiply(Z, Y), inverse(multiply(Z, X))))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 multiply(multiply(multiply(multiply(Z, Y), X), inverse(multiply(Z, X))), inverse(multiply(multiply(Z, Y), inverse(multiply(Z, X))))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 X 0.13/0.37 0.13/0.37 Lemma 3: inverse(multiply(multiply(X, Y), inverse(multiply(X, Z)))) = multiply(multiply(Z, ?), inverse(multiply(Y, ?))). 0.13/0.37 Proof: 0.13/0.37 inverse(multiply(multiply(X, Y), inverse(multiply(X, Z)))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 multiply(multiply(multiply(Y, inverse(multiply(multiply(X, Y), inverse(multiply(X, Z))))), ?), inverse(multiply(Y, ?))) 0.13/0.37 = { by lemma 2 } 0.13/0.37 multiply(multiply(Z, ?), inverse(multiply(Y, ?))) 0.13/0.37 0.13/0.37 Lemma 4: multiply(X, multiply(multiply(?, ?), inverse(multiply(?, ?)))) = X. 0.13/0.37 Proof: 0.13/0.37 multiply(X, multiply(multiply(?, ?), inverse(multiply(?, ?)))) 0.13/0.37 = { by lemma 3 } 0.13/0.37 multiply(X, inverse(multiply(multiply(?, ?), inverse(multiply(?, ?))))) 0.13/0.37 = { by lemma 2 } 0.13/0.37 multiply(X, inverse(multiply(multiply(multiply(?, inverse(multiply(multiply(?, ?), inverse(multiply(?, ?))))), ?), inverse(multiply(?, ?))))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 multiply(X, inverse(inverse(multiply(multiply(?, ?), inverse(multiply(?, ?)))))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 multiply(X, inverse(multiply(multiply(multiply(?, inverse(multiply(multiply(?, ?), inverse(multiply(?, ?))))), X), inverse(multiply(?, X))))) 0.13/0.37 = { by lemma 2 } 0.13/0.37 multiply(X, inverse(multiply(multiply(?, X), inverse(multiply(?, X))))) 0.13/0.37 = { by lemma 2 } 0.13/0.38 X 0.13/0.38 0.13/0.38 Lemma 5: multiply(multiply(Y, X), inverse(Y)) = X. 0.13/0.38 Proof: 0.13/0.38 multiply(multiply(Y, X), inverse(Y)) 0.13/0.38 = { by lemma 4 } 0.13/0.38 multiply(multiply(multiply(Y, X), multiply(multiply(?, ?), inverse(multiply(?, ?)))), inverse(Y)) 0.13/0.38 = { by lemma 4 } 0.13/0.38 multiply(multiply(multiply(Y, X), multiply(multiply(?, ?), inverse(multiply(?, ?)))), inverse(multiply(Y, multiply(multiply(?, ?), inverse(multiply(?, ?)))))) 0.13/0.38 = { by axiom 1 (single_axiom) } 0.13/0.38 X 0.13/0.38 0.13/0.38 Lemma 6: multiply(Y, inverse(multiply(X, Y))) = inverse(X). 0.13/0.38 Proof: 0.13/0.38 multiply(Y, inverse(multiply(X, Y))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(multiply(X, Y), inverse(X)), inverse(multiply(X, Y))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 inverse(X) 0.13/0.38 0.13/0.38 Lemma 7: multiply(Y, inverse(inverse(X))) = multiply(X, Y). 0.13/0.38 Proof: 0.13/0.38 multiply(Y, inverse(inverse(X))) 0.13/0.38 = { by lemma 6 } 0.13/0.38 multiply(Y, inverse(multiply(multiply(X, Y), inverse(multiply(X, multiply(X, Y)))))) 0.13/0.38 = { by lemma 2 } 0.13/0.38 multiply(X, Y) 0.13/0.38 0.13/0.38 Lemma 8: multiply(multiply(X, inverse(X)), Y) = Y. 0.13/0.38 Proof: 0.13/0.38 multiply(multiply(X, inverse(X)), Y) 0.13/0.38 = { by axiom 1 (single_axiom) } 0.13/0.38 multiply(multiply(multiply(X, multiply(multiply(X, inverse(X)), Y)), inverse(X)), inverse(multiply(X, inverse(X)))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(multiply(X, inverse(X)), Y), inverse(multiply(X, inverse(X)))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 Y 0.13/0.38 0.13/0.38 Lemma 9: multiply(X, Y) = multiply(Y, X). 0.13/0.38 Proof: 0.13/0.38 multiply(X, Y) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(inverse(Y), multiply(X, Y)), inverse(inverse(Y))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(multiply(Y, multiply(inverse(Y), multiply(X, Y))), inverse(Y)), inverse(inverse(Y))) 0.13/0.38 = { by lemma 7 } 0.13/0.38 multiply(multiply(multiply(multiply(inverse(Y), multiply(X, Y)), inverse(inverse(Y))), inverse(Y)), inverse(inverse(Y))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(multiply(X, Y), inverse(Y)), inverse(inverse(Y))) 0.13/0.38 = { by lemma 8 } 0.13/0.38 multiply(multiply(multiply(multiply(multiply(?, inverse(?)), X), Y), inverse(Y)), inverse(inverse(Y))) 0.13/0.38 = { by lemma 8 } 0.13/0.38 multiply(multiply(multiply(multiply(multiply(?, inverse(?)), X), Y), inverse(multiply(multiply(?, inverse(?)), Y))), inverse(inverse(Y))) 0.13/0.38 = { by axiom 1 (single_axiom) } 0.13/0.38 multiply(X, inverse(inverse(Y))) 0.13/0.38 = { by lemma 7 } 0.13/0.38 multiply(Y, X) 0.13/0.38 0.13/0.38 Lemma 10: inverse(multiply(X, inverse(Y))) = multiply(Y, inverse(X)). 0.13/0.38 Proof: 0.13/0.38 inverse(multiply(X, inverse(Y))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(inverse(Y), inverse(multiply(X, inverse(Y)))), inverse(inverse(Y))) 0.13/0.38 = { by lemma 6 } 0.13/0.38 multiply(inverse(X), inverse(inverse(Y))) 0.13/0.38 = { by lemma 7 } 0.13/0.38 multiply(Y, inverse(X)) 0.13/0.38 0.13/0.38 Goal 1 (prove_these_axioms_3): multiply(multiply(a3, b3), c3) = multiply(a3, multiply(b3, c3)). 0.13/0.38 Proof: 0.13/0.38 multiply(multiply(a3, b3), c3) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(c3, multiply(a3, b3)) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(c3, multiply(b3, a3)) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(multiply(b3, a3), c3) 0.13/0.38 = { by lemma 5 } 0.13/0.38 multiply(multiply(?, multiply(multiply(b3, a3), c3)), inverse(?)) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(multiply(multiply(multiply(b3, a3), c3), ?), inverse(?)) 0.13/0.38 = { by lemma 4 } 0.13/0.38 multiply(multiply(multiply(multiply(b3, a3), c3), ?), inverse(multiply(?, multiply(multiply(?, ?), inverse(multiply(?, ?)))))) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(multiply(multiply(multiply(b3, a3), c3), ?), inverse(multiply(multiply(multiply(?, ?), inverse(multiply(?, ?))), ?))) 0.13/0.38 = { by lemma 3 } 0.13/0.38 inverse(multiply(multiply(?, multiply(multiply(?, ?), inverse(multiply(?, ?)))), inverse(multiply(?, multiply(multiply(b3, a3), c3))))) 0.13/0.38 = { by lemma 2 } 0.13/0.38 multiply(multiply(b3, c3), inverse(multiply(multiply(multiply(multiply(?, ?), inverse(multiply(?, ?))), multiply(b3, c3)), inverse(multiply(multiply(multiply(?, ?), inverse(multiply(?, ?))), inverse(multiply(multiply(?, multiply(multiply(?, ?), inverse(multiply(?, ?)))), inverse(multiply(?, multiply(multiply(b3, a3), c3)))))))))) 0.13/0.38 = { by lemma 2 } 0.13/0.38 multiply(multiply(b3, c3), inverse(multiply(multiply(multiply(multiply(?, ?), inverse(multiply(?, ?))), multiply(b3, c3)), inverse(multiply(multiply(b3, a3), c3))))) 0.13/0.38 = { by lemma 10 } 0.13/0.38 multiply(multiply(b3, c3), multiply(multiply(multiply(b3, a3), c3), inverse(multiply(multiply(multiply(?, ?), inverse(multiply(?, ?))), multiply(b3, c3))))) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(multiply(b3, c3), multiply(multiply(multiply(b3, a3), c3), inverse(multiply(multiply(b3, c3), multiply(multiply(?, ?), inverse(multiply(?, ?))))))) 0.13/0.38 = { by lemma 4 } 0.13/0.38 multiply(multiply(b3, c3), multiply(multiply(multiply(b3, a3), c3), inverse(multiply(b3, c3)))) 0.13/0.38 = { by axiom 1 (single_axiom) } 0.13/0.38 multiply(multiply(b3, c3), a3) 0.13/0.38 = { by lemma 9 } 0.13/0.38 multiply(a3, multiply(b3, c3)) 0.13/0.38 % SZS output end Proof 0.13/0.38 0.13/0.38 RESULT: Unsatisfiable (the axioms are contradictory). 0.13/0.38 EOF