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