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