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.34 % Computer : n027.cluster.edu 0.12/0.34 % Model : x86_64 x86_64 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.34 % Memory : 8042.1875MB 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.34 % CPULimit : 180 0.12/0.34 % DateTime : Thu Aug 29 10:04:09 EDT 2019 0.12/0.34 % CPUTime : 0.12/0.36 % SZS status Unsatisfiable 0.12/0.36 0.12/0.36 % SZS output start Proof 0.12/0.36 Take the following subset of the input axioms: 0.12/0.36 fof(multiply, axiom, ![A, B]: multiply(A, B)=inverse(double_divide(B, A))). 0.12/0.36 fof(prove_these_axioms_1, negated_conjecture, multiply(inverse(b1), b1)!=multiply(inverse(a1), a1)). 0.12/0.36 fof(single_axiom, axiom, ![A, B, C]: double_divide(inverse(double_divide(double_divide(A, B), inverse(double_divide(A, inverse(C))))), B)=C). 0.12/0.36 0.12/0.36 Now clausify the problem and encode Horn clauses using encoding 3 of 0.12/0.36 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.12/0.36 We repeatedly replace C & s=t => u=v by the two clauses: 0.12/0.36 fresh(y, y, x1...xn) = u 0.12/0.36 C => fresh(s, t, x1...xn) = v 0.12/0.36 where fresh is a fresh function symbol and x1..xn are the free 0.12/0.36 variables of u and v. 0.12/0.36 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.12/0.36 input problem has no model of domain size 1). 0.12/0.36 0.12/0.36 The encoding turns the above axioms into the following unit equations and goals: 0.12/0.36 0.12/0.36 Axiom 1 (single_axiom): double_divide(inverse(double_divide(double_divide(X, Y), inverse(double_divide(X, inverse(Z))))), Y) = Z. 0.12/0.36 Axiom 2 (multiply): multiply(X, Y) = inverse(double_divide(Y, X)). 0.12/0.36 0.12/0.36 Lemma 3: multiply(X, multiply(multiply(inverse(Z), Y), double_divide(Y, X))) = inverse(Z). 0.12/0.36 Proof: 0.12/0.36 multiply(X, multiply(multiply(inverse(Z), Y), double_divide(Y, X))) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 multiply(X, multiply(inverse(double_divide(Y, inverse(Z))), double_divide(Y, X))) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 multiply(X, inverse(double_divide(double_divide(Y, X), inverse(double_divide(Y, inverse(Z)))))) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 inverse(double_divide(inverse(double_divide(double_divide(Y, X), inverse(double_divide(Y, inverse(Z))))), X)) 0.12/0.36 = { by axiom 1 (single_axiom) } 0.12/0.36 inverse(Z) 0.12/0.36 0.12/0.36 Lemma 4: double_divide(multiply(inverse(Y), Y), inverse(X)) = X. 0.12/0.36 Proof: 0.12/0.36 double_divide(multiply(inverse(Y), Y), inverse(X)) 0.12/0.36 = { by lemma 3 } 0.12/0.36 double_divide(multiply(multiply(inverse(X), multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X)))), Y), inverse(X)) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 double_divide(multiply(inverse(double_divide(multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X))), inverse(X))), Y), inverse(X)) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 double_divide(inverse(double_divide(Y, inverse(double_divide(multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X))), inverse(X))))), inverse(X)) 0.12/0.36 = { by axiom 1 (single_axiom) } 0.12/0.36 double_divide(inverse(double_divide(double_divide(inverse(double_divide(double_divide(?, inverse(X)), inverse(double_divide(?, inverse(Y))))), inverse(X)), inverse(double_divide(multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X))), inverse(X))))), inverse(X)) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 double_divide(inverse(double_divide(double_divide(multiply(inverse(double_divide(?, inverse(Y))), double_divide(?, inverse(X))), inverse(X)), inverse(double_divide(multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X))), inverse(X))))), inverse(X)) 0.12/0.36 = { by axiom 2 (multiply) } 0.12/0.36 double_divide(inverse(double_divide(double_divide(multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X))), inverse(X)), inverse(double_divide(multiply(multiply(inverse(Y), ?), double_divide(?, inverse(X))), inverse(X))))), inverse(X)) 0.12/0.36 = { by axiom 1 (single_axiom) } 0.12/0.37 X 0.12/0.37 0.12/0.37 Lemma 5: multiply(inverse(X), multiply(inverse(Y), Y)) = inverse(X). 0.12/0.37 Proof: 0.12/0.37 multiply(inverse(X), multiply(inverse(Y), Y)) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 inverse(double_divide(multiply(inverse(Y), Y), inverse(X))) 0.12/0.37 = { by lemma 4 } 0.12/0.37 inverse(X) 0.12/0.37 0.12/0.37 Lemma 6: double_divide(multiply(inverse(X), Y), inverse(Y)) = X. 0.12/0.37 Proof: 0.12/0.37 double_divide(multiply(inverse(X), Y), inverse(Y)) 0.12/0.37 = { by lemma 5 } 0.12/0.37 double_divide(multiply(multiply(inverse(X), multiply(inverse(?), ?)), Y), inverse(Y)) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 double_divide(multiply(inverse(double_divide(multiply(inverse(?), ?), inverse(X))), Y), inverse(Y)) 0.12/0.37 = { by axiom 1 (single_axiom) } 0.12/0.37 double_divide(multiply(inverse(double_divide(multiply(inverse(?), ?), inverse(X))), double_divide(inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))), ?)), inverse(Y)) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 double_divide(inverse(double_divide(double_divide(inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))), ?), inverse(double_divide(multiply(inverse(?), ?), inverse(X))))), inverse(Y)) 0.12/0.37 = { by lemma 4 } 0.12/0.37 double_divide(inverse(double_divide(double_divide(multiply(inverse(?), ?), inverse(double_divide(inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))), ?))), inverse(double_divide(multiply(inverse(?), ?), inverse(X))))), inverse(Y)) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 double_divide(inverse(double_divide(double_divide(multiply(inverse(?), ?), multiply(?, inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))))), inverse(double_divide(multiply(inverse(?), ?), inverse(X))))), inverse(Y)) 0.12/0.37 = { by lemma 3 } 0.12/0.37 double_divide(inverse(double_divide(double_divide(multiply(inverse(?), ?), multiply(?, inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))))), inverse(double_divide(multiply(inverse(?), ?), inverse(X))))), multiply(?, multiply(multiply(inverse(Y), ?), double_divide(?, ?)))) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 double_divide(inverse(double_divide(double_divide(multiply(inverse(?), ?), multiply(?, inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))))), inverse(double_divide(multiply(inverse(?), ?), inverse(X))))), multiply(?, multiply(inverse(double_divide(?, inverse(Y))), double_divide(?, ?)))) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 double_divide(inverse(double_divide(double_divide(multiply(inverse(?), ?), multiply(?, inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))))), inverse(double_divide(multiply(inverse(?), ?), inverse(X))))), multiply(?, inverse(double_divide(double_divide(?, ?), inverse(double_divide(?, inverse(Y))))))) 0.12/0.37 = { by axiom 1 (single_axiom) } 0.12/0.37 X 0.12/0.37 0.12/0.37 Lemma 7: double_divide(inverse(Y), inverse(multiply(inverse(Y), X))) = X. 0.12/0.37 Proof: 0.12/0.37 double_divide(inverse(Y), inverse(multiply(inverse(Y), X))) 0.12/0.37 = { by lemma 6 } 0.12/0.37 double_divide(inverse(double_divide(multiply(inverse(Y), X), inverse(X))), inverse(multiply(inverse(Y), X))) 0.12/0.37 = { by axiom 2 (multiply) } 0.12/0.37 double_divide(multiply(inverse(X), multiply(inverse(Y), X)), inverse(multiply(inverse(Y), X))) 0.12/0.37 = { by lemma 6 } 0.12/0.37 X 0.12/0.37 0.12/0.37 Lemma 8: multiply(inverse(X), X) = multiply(inverse(?), ?). 0.12/0.37 Proof: 0.12/0.37 multiply(inverse(X), X) 0.12/0.37 = { by lemma 7 } 0.12/0.37 double_divide(inverse(Y), inverse(multiply(inverse(Y), multiply(inverse(X), X)))) 0.12/0.37 = { by lemma 5 } 0.12/0.37 double_divide(inverse(Y), inverse(inverse(Y))) 0.12/0.37 = { by lemma 5 } 0.12/0.37 double_divide(inverse(Y), inverse(multiply(inverse(Y), multiply(inverse(?), ?)))) 0.12/0.37 = { by lemma 7 } 0.12/0.37 multiply(inverse(?), ?) 0.12/0.37 0.12/0.37 Goal 1 (prove_these_axioms_1): multiply(inverse(b1), b1) = multiply(inverse(a1), a1). 0.12/0.37 Proof: 0.12/0.37 multiply(inverse(b1), b1) 0.12/0.37 = { by lemma 8 } 0.12/0.37 multiply(inverse(?), ?) 0.12/0.37 = { by lemma 8 } 0.12/0.37 multiply(inverse(a1), a1) 0.12/0.37 % SZS output end Proof 0.12/0.37 0.12/0.37 RESULT: Unsatisfiable (the axioms are contradictory). 0.12/0.37 EOF