0.11/0.14 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.11/0.15 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.12/0.37 % Computer : n018.cluster.edu 0.12/0.37 % Model : x86_64 x86_64 0.12/0.37 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.37 % Memory : 8042.1875MB 0.12/0.37 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.37 % CPULimit : 180 0.12/0.37 % DateTime : Thu Aug 29 10:21:51 EDT 2019 0.12/0.37 % CPUTime : 0.12/0.39 % SZS status Unsatisfiable 0.12/0.39 0.12/0.39 % SZS output start Proof 0.12/0.39 Take the following subset of the input axioms: 0.12/0.39 fof(multiply, axiom, ![B, A]: inverse(double_divide(B, A))=multiply(A, B)). 0.12/0.39 fof(prove_these_axioms_1, negated_conjecture, multiply(inverse(a1), a1)!=multiply(inverse(b1), b1)). 0.12/0.39 fof(single_axiom, axiom, ![B, A, C]: B=inverse(double_divide(inverse(double_divide(A, inverse(double_divide(B, double_divide(A, C))))), 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): X = inverse(double_divide(inverse(double_divide(Y, inverse(double_divide(X, double_divide(Y, Z))))), Z)). 0.12/0.40 Axiom 2 (multiply): inverse(double_divide(X, Y)) = multiply(Y, X). 0.12/0.40 0.12/0.40 Lemma 3: multiply(X, multiply(multiply(double_divide(Y, X), Z), Y)) = Z. 0.12/0.40 Proof: 0.12/0.40 multiply(X, multiply(multiply(double_divide(Y, X), Z), Y)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(X, multiply(inverse(double_divide(Z, double_divide(Y, X))), Y)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(X, inverse(double_divide(Y, inverse(double_divide(Z, double_divide(Y, X)))))) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 inverse(double_divide(inverse(double_divide(Y, inverse(double_divide(Z, double_divide(Y, X))))), X)) 0.12/0.40 = { by axiom 1 (single_axiom) } 0.12/0.40 Z 0.12/0.40 0.12/0.40 Lemma 4: multiply(multiply(double_divide(X, double_divide(Y, Z)), W), X) = multiply(Z, multiply(W, Y)). 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(double_divide(X, double_divide(Y, Z)), W), X) 0.12/0.40 = { by lemma 3 } 0.12/0.40 multiply(Z, multiply(multiply(double_divide(Y, Z), multiply(multiply(double_divide(X, double_divide(Y, Z)), W), X)), Y)) 0.12/0.40 = { by lemma 3 } 0.12/0.40 multiply(Z, multiply(W, Y)) 0.12/0.40 0.12/0.40 Lemma 5: multiply(double_divide(Y, Z), multiply(Z, multiply(X, Y))) = X. 0.12/0.40 Proof: 0.12/0.40 multiply(double_divide(Y, Z), multiply(Z, multiply(X, Y))) 0.12/0.40 = { by lemma 4 } 0.12/0.40 multiply(double_divide(Y, Z), multiply(multiply(double_divide(?, double_divide(Y, Z)), X), ?)) 0.12/0.40 = { by lemma 3 } 0.12/0.40 X 0.12/0.40 0.12/0.40 Lemma 6: multiply(double_divide(multiply(Y, Z), double_divide(Z, X)), Y) = X. 0.12/0.40 Proof: 0.12/0.40 multiply(double_divide(multiply(Y, Z), double_divide(Z, X)), Y) 0.12/0.40 = { by lemma 5 } 0.12/0.40 multiply(double_divide(multiply(Y, Z), double_divide(Z, X)), multiply(double_divide(Z, X), multiply(X, multiply(Y, Z)))) 0.12/0.40 = { by lemma 5 } 0.12/0.40 X 0.12/0.40 0.12/0.40 Lemma 7: multiply(double_divide(X, W), multiply(W, Z)) = double_divide(multiply(X, ?), double_divide(?, Z)). 0.12/0.40 Proof: 0.12/0.40 multiply(double_divide(X, W), multiply(W, Z)) 0.12/0.40 = { by lemma 6 } 0.12/0.40 multiply(double_divide(X, W), multiply(W, multiply(double_divide(multiply(X, ?), double_divide(?, Z)), X))) 0.12/0.40 = { by lemma 5 } 0.12/0.40 double_divide(multiply(X, ?), double_divide(?, Z)) 0.12/0.40 0.12/0.40 Lemma 8: double_divide(multiply(multiply(Y, multiply(Z, X)), ?), double_divide(?, Z)) = double_divide(X, Y). 0.12/0.40 Proof: 0.12/0.40 double_divide(multiply(multiply(Y, multiply(Z, X)), ?), double_divide(?, Z)) 0.12/0.40 = { by lemma 7 } 0.12/0.40 multiply(double_divide(multiply(Y, multiply(Z, X)), ?), multiply(?, Z)) 0.12/0.40 = { by lemma 5 } 0.12/0.40 multiply(double_divide(multiply(Y, multiply(Z, X)), ?), multiply(?, multiply(double_divide(X, Y), multiply(Y, multiply(Z, X))))) 0.12/0.40 = { by lemma 5 } 0.12/0.40 double_divide(X, Y) 0.12/0.40 0.12/0.40 Lemma 9: double_divide(multiply(X, ?), double_divide(?, multiply(Y, X))) = Y. 0.12/0.40 Proof: 0.12/0.40 double_divide(multiply(X, ?), double_divide(?, multiply(Y, X))) 0.12/0.40 = { by lemma 7 } 0.12/0.40 multiply(double_divide(X, ?), multiply(?, multiply(Y, X))) 0.12/0.40 = { by lemma 5 } 0.12/0.40 Y 0.12/0.40 0.12/0.40 Lemma 10: multiply(multiply(X, Y), multiply(Z, ?)) = multiply(multiply(X, Z), multiply(Y, ?)). 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(X, Y), multiply(Z, ?)) 0.12/0.40 = { by lemma 4 } 0.12/0.40 multiply(multiply(double_divide(multiply(Y, ?), double_divide(?, multiply(X, Y))), Z), multiply(Y, ?)) 0.12/0.40 = { by lemma 9 } 0.12/0.40 multiply(multiply(X, Z), multiply(Y, ?)) 0.12/0.40 0.12/0.40 Lemma 11: multiply(multiply(X, inverse(X)), multiply(Y, ?)) = multiply(Y, ?). 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(X, inverse(X)), multiply(Y, ?)) 0.12/0.40 = { by lemma 10 } 0.12/0.40 multiply(multiply(X, Y), multiply(inverse(X), ?)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(multiply(X, Y), inverse(double_divide(?, inverse(X)))) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 inverse(double_divide(inverse(double_divide(?, inverse(X))), multiply(X, Y))) 0.12/0.40 = { by lemma 9 } 0.12/0.40 inverse(double_divide(inverse(double_divide(?, inverse(double_divide(multiply(Y, ?), double_divide(?, multiply(X, Y)))))), multiply(X, Y))) 0.12/0.40 = { by axiom 1 (single_axiom) } 0.12/0.40 multiply(Y, ?) 0.12/0.40 0.12/0.40 Lemma 12: multiply(X, multiply(Z, multiply(W, Y))) = multiply(Z, multiply(multiply(X, W), Y)). 0.12/0.40 Proof: 0.12/0.40 multiply(X, multiply(Z, multiply(W, Y))) 0.12/0.40 = { by lemma 4 } 0.12/0.40 multiply(X, multiply(multiply(double_divide(?, double_divide(Y, Z)), W), ?)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(X, multiply(inverse(double_divide(W, double_divide(?, double_divide(Y, Z)))), ?)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(X, inverse(double_divide(?, inverse(double_divide(W, double_divide(?, double_divide(Y, Z))))))) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 inverse(double_divide(inverse(double_divide(?, inverse(double_divide(W, double_divide(?, double_divide(Y, Z)))))), X)) 0.12/0.40 = { by lemma 8 } 0.12/0.40 inverse(double_divide(inverse(double_divide(?, inverse(double_divide(multiply(multiply(double_divide(?, double_divide(Y, Z)), multiply(X, W)), ?), double_divide(?, X))))), X)) 0.12/0.40 = { by axiom 1 (single_axiom) } 0.12/0.40 multiply(multiply(double_divide(?, double_divide(Y, Z)), multiply(X, W)), ?) 0.12/0.40 = { by lemma 4 } 0.12/0.40 multiply(Z, multiply(multiply(X, W), Y)) 0.12/0.40 0.12/0.40 Lemma 13: multiply(multiply(Y, X), ?) = multiply(Y, multiply(X, ?)). 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(Y, X), ?) 0.12/0.40 = { by lemma 11 } 0.12/0.40 multiply(multiply(?, inverse(?)), multiply(multiply(Y, X), ?)) 0.12/0.40 = { by lemma 12 } 0.12/0.40 multiply(Y, multiply(multiply(?, inverse(?)), multiply(X, ?))) 0.12/0.40 = { by lemma 11 } 0.12/0.40 multiply(Y, multiply(X, ?)) 0.12/0.40 0.12/0.40 Lemma 14: multiply(multiply(X, inverse(X)), Y) = Y. 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(X, inverse(X)), Y) 0.12/0.40 = { by lemma 6 } 0.12/0.40 multiply(multiply(X, inverse(X)), multiply(double_divide(multiply(?, ?), double_divide(?, Y)), ?)) 0.12/0.40 = { by lemma 11 } 0.12/0.40 multiply(double_divide(multiply(?, ?), double_divide(?, Y)), ?) 0.12/0.40 = { by lemma 6 } 0.12/0.40 Y 0.12/0.40 0.12/0.40 Lemma 15: multiply(Y, ?) = multiply(?, Y). 0.12/0.40 Proof: 0.12/0.40 multiply(Y, ?) 0.12/0.40 = { by lemma 3 } 0.12/0.40 multiply(?, multiply(multiply(double_divide(?, ?), multiply(Y, ?)), ?)) 0.12/0.40 = { by lemma 13 } 0.12/0.40 multiply(?, multiply(multiply(multiply(double_divide(?, ?), Y), ?), ?)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 multiply(?, multiply(multiply(inverse(double_divide(Y, double_divide(?, ?))), ?), ?)) 0.12/0.40 = { by lemma 4 } 0.12/0.40 multiply(multiply(double_divide(Y, double_divide(?, ?)), multiply(inverse(double_divide(Y, double_divide(?, ?))), ?)), Y) 0.12/0.40 = { by lemma 13 } 0.12/0.40 multiply(multiply(multiply(double_divide(Y, double_divide(?, ?)), inverse(double_divide(Y, double_divide(?, ?)))), ?), Y) 0.12/0.40 = { by lemma 14 } 0.12/0.40 multiply(?, Y) 0.12/0.40 0.12/0.40 Lemma 16: multiply(multiply(Y, Z), W) = multiply(Y, multiply(Z, W)). 0.12/0.40 Proof: 0.12/0.40 multiply(multiply(Y, Z), W) 0.12/0.40 = { by lemma 14 } 0.12/0.40 multiply(multiply(?, inverse(?)), multiply(multiply(Y, Z), W)) 0.12/0.40 = { by lemma 12 } 0.12/0.40 multiply(Y, multiply(multiply(?, inverse(?)), multiply(Z, W))) 0.12/0.40 = { by lemma 14 } 0.12/0.40 multiply(Y, multiply(Z, W)) 0.12/0.40 0.12/0.40 Lemma 17: multiply(X, Y) = multiply(Y, X). 0.12/0.40 Proof: 0.12/0.40 multiply(X, Y) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.40 inverse(double_divide(Y, X)) 0.12/0.40 = { by lemma 8 } 0.12/0.40 inverse(double_divide(multiply(multiply(X, multiply(?, Y)), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 15 } 0.12/0.40 inverse(double_divide(multiply(multiply(X, multiply(Y, ?)), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 14 } 0.12/0.40 inverse(double_divide(multiply(multiply(multiply(?, inverse(?)), multiply(X, multiply(Y, ?))), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 16 } 0.12/0.40 inverse(double_divide(multiply(multiply(multiply(multiply(?, inverse(?)), X), multiply(Y, ?)), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 10 } 0.12/0.40 inverse(double_divide(multiply(multiply(multiply(multiply(?, inverse(?)), Y), multiply(X, ?)), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 14 } 0.12/0.40 inverse(double_divide(multiply(multiply(Y, multiply(X, ?)), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 15 } 0.12/0.40 inverse(double_divide(multiply(multiply(Y, multiply(?, X)), ?), double_divide(?, ?))) 0.12/0.40 = { by lemma 8 } 0.12/0.40 inverse(double_divide(X, Y)) 0.12/0.40 = { by axiom 2 (multiply) } 0.12/0.41 multiply(Y, X) 0.12/0.41 0.12/0.41 Lemma 18: multiply(X, multiply(Y, inverse(X))) = Y. 0.12/0.41 Proof: 0.12/0.41 multiply(X, multiply(Y, inverse(X))) 0.12/0.41 = { by lemma 17 } 0.12/0.41 multiply(X, multiply(inverse(X), Y)) 0.12/0.41 = { by lemma 16 } 0.12/0.41 multiply(multiply(X, inverse(X)), Y) 0.12/0.41 = { by lemma 14 } 0.12/0.41 Y 0.12/0.41 0.12/0.41 Lemma 19: multiply(X, inverse(X)) = multiply(?, inverse(?)). 0.12/0.41 Proof: 0.12/0.41 multiply(X, inverse(X)) 0.12/0.41 = { by lemma 18 } 0.12/0.41 multiply(Y, multiply(multiply(X, inverse(X)), inverse(Y))) 0.12/0.41 = { by lemma 14 } 0.12/0.41 multiply(Y, inverse(Y)) 0.12/0.41 = { by lemma 14 } 0.12/0.41 multiply(Y, multiply(multiply(?, inverse(?)), inverse(Y))) 0.12/0.41 = { by lemma 18 } 0.12/0.41 multiply(?, inverse(?)) 0.12/0.41 0.12/0.41 Goal 1 (prove_these_axioms_1): multiply(inverse(a1), a1) = multiply(inverse(b1), b1). 0.12/0.41 Proof: 0.12/0.41 multiply(inverse(a1), a1) 0.12/0.41 = { by lemma 17 } 0.12/0.41 multiply(a1, inverse(a1)) 0.12/0.41 = { by lemma 19 } 0.12/0.41 multiply(?, inverse(?)) 0.12/0.41 = { by lemma 19 } 0.12/0.41 multiply(b1, inverse(b1)) 0.12/0.41 = { by lemma 17 } 0.12/0.41 multiply(inverse(b1), b1) 0.12/0.41 % SZS output end Proof 0.12/0.41 0.12/0.41 RESULT: Unsatisfiable (the axioms are contradictory). 0.12/0.41 EOF