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.12/0.34 % Computer : n011.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 11:15:14 EDT 2019 0.12/0.34 % CPUTime : 0.20/0.47 % SZS status Unsatisfiable 0.20/0.47 0.20/0.48 % SZS output start Proof 0.20/0.48 Take the following subset of the input axioms: 0.20/0.48 fof(multiply, axiom, ![A, B]: multiply(A, B)=inverse(double_divide(B, A))). 0.20/0.48 fof(prove_these_axioms_3, negated_conjecture, multiply(multiply(a3, b3), c3)!=multiply(a3, multiply(b3, c3))). 0.20/0.48 fof(single_axiom, axiom, ![A, B, C, D]: double_divide(double_divide(A, inverse(double_divide(B, C))), double_divide(inverse(B), inverse(double_divide(D, double_divide(A, D)))))=C). 0.20/0.48 0.20/0.48 Now clausify the problem and encode Horn clauses using encoding 3 of 0.20/0.48 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.20/0.48 We repeatedly replace C & s=t => u=v by the two clauses: 0.20/0.48 fresh(y, y, x1...xn) = u 0.20/0.48 C => fresh(s, t, x1...xn) = v 0.20/0.48 where fresh is a fresh function symbol and x1..xn are the free 0.20/0.48 variables of u and v. 0.20/0.48 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.20/0.48 input problem has no model of domain size 1). 0.20/0.48 0.20/0.48 The encoding turns the above axioms into the following unit equations and goals: 0.20/0.48 0.20/0.48 Axiom 1 (single_axiom): double_divide(double_divide(X, inverse(double_divide(Y, Z))), double_divide(inverse(Y), inverse(double_divide(W, double_divide(X, W))))) = Z. 0.20/0.49 Axiom 2 (multiply): multiply(X, Y) = inverse(double_divide(Y, X)). 0.20/0.49 0.20/0.49 Lemma 3: double_divide(double_divide(Y, multiply(X, Z)), double_divide(inverse(Z), multiply(double_divide(Y, W), W))) = X. 0.20/0.49 Proof: 0.20/0.49 double_divide(double_divide(Y, multiply(X, Z)), double_divide(inverse(Z), multiply(double_divide(Y, W), W))) 0.20/0.49 = { by axiom 2 (multiply) } 0.20/0.49 double_divide(double_divide(Y, inverse(double_divide(Z, X))), double_divide(inverse(Z), multiply(double_divide(Y, W), W))) 0.20/0.49 = { by axiom 2 (multiply) } 0.20/0.49 double_divide(double_divide(Y, inverse(double_divide(Z, X))), double_divide(inverse(Z), inverse(double_divide(W, double_divide(Y, W))))) 0.20/0.49 = { by axiom 1 (single_axiom) } 0.20/0.49 X 0.20/0.49 0.20/0.49 Lemma 4: double_divide(inverse(X), multiply(double_divide(Y, Z), Z)) = double_divide(inverse(X), multiply(double_divide(Y, ?), ?)). 0.20/0.49 Proof: 0.20/0.49 double_divide(inverse(X), multiply(double_divide(Y, Z), Z)) 0.20/0.49 = { by axiom 1 (single_axiom) } 0.20/0.49 double_divide(double_divide(W, inverse(double_divide(double_divide(Y, multiply(V, X)), double_divide(inverse(X), multiply(double_divide(Y, Z), Z))))), double_divide(inverse(double_divide(Y, multiply(V, X))), inverse(double_divide(U, double_divide(W, U))))) 0.20/0.49 = { by lemma 3 } 0.20/0.49 double_divide(double_divide(W, inverse(V)), double_divide(inverse(double_divide(Y, multiply(V, X))), inverse(double_divide(U, double_divide(W, U))))) 0.20/0.49 = { by lemma 3 } 0.20/0.49 double_divide(double_divide(W, inverse(double_divide(double_divide(Y, multiply(V, X)), double_divide(inverse(X), multiply(double_divide(Y, ?), ?))))), double_divide(inverse(double_divide(Y, multiply(V, X))), inverse(double_divide(U, double_divide(W, U))))) 0.20/0.49 = { by axiom 1 (single_axiom) } 0.20/0.50 double_divide(inverse(X), multiply(double_divide(Y, ?), ?)) 0.20/0.50 0.20/0.50 Lemma 5: multiply(double_divide(X, Y), Y) = multiply(double_divide(X, ?), ?). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(X, Y), Y) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 double_divide(double_divide(Z, inverse(double_divide(inverse(W), multiply(double_divide(X, Y), Y)))), double_divide(inverse(inverse(W)), inverse(double_divide(V, double_divide(Z, V))))) 0.20/0.50 = { by lemma 4 } 0.20/0.50 double_divide(double_divide(Z, inverse(double_divide(inverse(W), multiply(double_divide(X, ?), ?)))), double_divide(inverse(inverse(W)), inverse(double_divide(V, double_divide(Z, V))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 multiply(double_divide(X, ?), ?) 0.20/0.50 0.20/0.50 Lemma 6: double_divide(double_divide(Y, multiply(X, double_divide(Z, W))), double_divide(multiply(W, Z), multiply(double_divide(Y, V), V))) = X. 0.20/0.50 Proof: 0.20/0.50 double_divide(double_divide(Y, multiply(X, double_divide(Z, W))), double_divide(multiply(W, Z), multiply(double_divide(Y, V), V))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(Y, inverse(double_divide(double_divide(Z, W), X))), double_divide(multiply(W, Z), multiply(double_divide(Y, V), V))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(Y, inverse(double_divide(double_divide(Z, W), X))), double_divide(inverse(double_divide(Z, W)), multiply(double_divide(Y, V), V))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(Y, inverse(double_divide(double_divide(Z, W), X))), double_divide(inverse(double_divide(Z, W)), inverse(double_divide(V, double_divide(Y, V))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 X 0.20/0.50 0.20/0.50 Lemma 7: double_divide(double_divide(inverse(W), multiply(double_divide(X, ?), ?)), double_divide(multiply(Z, Y), multiply(double_divide(inverse(W), ?), ?))) = double_divide(X, double_divide(Y, Z)). 0.20/0.50 Proof: 0.20/0.50 double_divide(double_divide(inverse(W), multiply(double_divide(X, ?), ?)), double_divide(multiply(Z, Y), multiply(double_divide(inverse(W), ?), ?))) 0.20/0.50 = { by lemma 4 } 0.20/0.50 double_divide(double_divide(inverse(W), multiply(double_divide(X, double_divide(Y, Z)), double_divide(Y, Z))), double_divide(multiply(Z, Y), multiply(double_divide(inverse(W), ?), ?))) 0.20/0.50 = { by lemma 6 } 0.20/0.50 double_divide(X, double_divide(Y, Z)) 0.20/0.50 0.20/0.50 Lemma 8: double_divide(X, double_divide(Y, double_divide(Z, Y))) = double_divide(X, double_divide(?, double_divide(Z, ?))). 0.20/0.50 Proof: 0.20/0.50 double_divide(X, double_divide(Y, double_divide(Z, Y))) 0.20/0.50 = { by lemma 7 } 0.20/0.50 double_divide(double_divide(inverse(W), multiply(double_divide(X, ?), ?)), double_divide(multiply(double_divide(Z, Y), Y), multiply(double_divide(inverse(W), ?), ?))) 0.20/0.50 = { by lemma 5 } 0.20/0.50 double_divide(double_divide(inverse(W), multiply(double_divide(X, ?), ?)), double_divide(multiply(double_divide(Z, ?), ?), multiply(double_divide(inverse(W), ?), ?))) 0.20/0.50 = { by lemma 7 } 0.20/0.50 double_divide(X, double_divide(?, double_divide(Z, ?))) 0.20/0.50 0.20/0.50 Lemma 9: double_divide(X, double_divide(Y, X)) = double_divide(?, double_divide(Y, ?)). 0.20/0.50 Proof: 0.20/0.50 double_divide(X, double_divide(Y, X)) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 double_divide(double_divide(Z, inverse(double_divide(W, double_divide(X, double_divide(Y, X))))), double_divide(inverse(W), inverse(double_divide(V, double_divide(Z, V))))) 0.20/0.50 = { by lemma 8 } 0.20/0.50 double_divide(double_divide(Z, inverse(double_divide(W, double_divide(?, double_divide(Y, ?))))), double_divide(inverse(W), inverse(double_divide(V, double_divide(Z, V))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 double_divide(?, double_divide(Y, ?)) 0.20/0.50 0.20/0.50 Lemma 10: double_divide(double_divide(Y, X), double_divide(?, double_divide(Y, ?))) = double_divide(?, double_divide(X, ?)). 0.20/0.50 Proof: 0.20/0.50 double_divide(double_divide(Y, X), double_divide(?, double_divide(Y, ?))) 0.20/0.50 = { by lemma 8 } 0.20/0.50 double_divide(double_divide(Y, X), double_divide(X, double_divide(Y, X))) 0.20/0.50 = { by lemma 9 } 0.20/0.50 double_divide(?, double_divide(X, ?)) 0.20/0.50 0.20/0.50 Lemma 11: multiply(double_divide(inverse(X), multiply(double_divide(Z, Y), Y)), double_divide(Z, multiply(W, X))) = inverse(W). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(inverse(X), multiply(double_divide(Z, Y), Y)), double_divide(Z, multiply(W, X))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(double_divide(inverse(X), inverse(double_divide(Y, double_divide(Z, Y)))), double_divide(Z, multiply(W, X))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(double_divide(inverse(X), inverse(double_divide(Y, double_divide(Z, Y)))), double_divide(Z, inverse(double_divide(X, W)))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 inverse(double_divide(double_divide(Z, inverse(double_divide(X, W))), double_divide(inverse(X), inverse(double_divide(Y, double_divide(Z, Y)))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 inverse(W) 0.20/0.50 0.20/0.50 Lemma 12: multiply(double_divide(double_divide(X, multiply(double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?)), Z)), ?), ?) = multiply(Y, X). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(double_divide(X, multiply(double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?)), Z)), ?), ?) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(double_divide(double_divide(X, inverse(double_divide(Z, double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?))))), ?), ?) 0.20/0.50 = { by lemma 5 } 0.20/0.50 multiply(double_divide(double_divide(X, inverse(double_divide(Z, double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?))))), double_divide(inverse(Z), inverse(double_divide(?, double_divide(X, ?))))), double_divide(inverse(Z), inverse(double_divide(?, double_divide(X, ?))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 multiply(double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?)), double_divide(inverse(Z), inverse(double_divide(?, double_divide(X, ?))))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?)), double_divide(inverse(Z), multiply(double_divide(X, ?), ?))) 0.20/0.50 = { by lemma 4 } 0.20/0.50 multiply(double_divide(inverse(Y), multiply(double_divide(inverse(Z), ?), ?)), double_divide(inverse(Z), multiply(double_divide(X, Y), Y))) 0.20/0.50 = { by lemma 11 } 0.20/0.50 inverse(double_divide(X, Y)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(Y, X) 0.20/0.50 0.20/0.50 Lemma 13: double_divide(double_divide(W, inverse(V)), double_divide(multiply(multiply(V, X), Y), multiply(double_divide(W, U), U))) = double_divide(inverse(X), multiply(double_divide(Y, ?), ?)). 0.20/0.50 Proof: 0.20/0.50 double_divide(double_divide(W, inverse(V)), double_divide(multiply(multiply(V, X), Y), multiply(double_divide(W, U), U))) 0.20/0.50 = { by lemma 3 } 0.20/0.50 double_divide(double_divide(W, inverse(double_divide(double_divide(Y, multiply(V, X)), double_divide(inverse(X), multiply(double_divide(Y, ?), ?))))), double_divide(multiply(multiply(V, X), Y), multiply(double_divide(W, U), U))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(W, inverse(double_divide(double_divide(Y, multiply(V, X)), double_divide(inverse(X), multiply(double_divide(Y, ?), ?))))), double_divide(inverse(double_divide(Y, multiply(V, X))), multiply(double_divide(W, U), U))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(W, inverse(double_divide(double_divide(Y, multiply(V, X)), double_divide(inverse(X), multiply(double_divide(Y, ?), ?))))), double_divide(inverse(double_divide(Y, multiply(V, X))), inverse(double_divide(U, double_divide(W, U))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 double_divide(inverse(X), multiply(double_divide(Y, ?), ?)) 0.20/0.50 0.20/0.50 Lemma 14: double_divide(W, double_divide(Y, multiply(double_divide(?, double_divide(W, ?)), X))) = double_divide(inverse(X), multiply(double_divide(Y, ?), ?)). 0.20/0.50 Proof: 0.20/0.50 double_divide(W, double_divide(Y, multiply(double_divide(?, double_divide(W, ?)), X))) 0.20/0.50 = { by lemma 7 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(W, ?), ?)), double_divide(multiply(multiply(double_divide(?, double_divide(W, ?)), X), Y), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(inverse(?), inverse(double_divide(?, double_divide(W, ?)))), double_divide(multiply(multiply(double_divide(?, double_divide(W, ?)), X), Y), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 13 } 0.20/0.50 double_divide(inverse(X), multiply(double_divide(Y, ?), ?)) 0.20/0.50 0.20/0.50 Lemma 15: multiply(double_divide(X, multiply(double_divide(?, double_divide(Y, ?)), Z)), Y) = multiply(multiply(double_divide(X, ?), ?), inverse(Z)). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(X, multiply(double_divide(?, double_divide(Y, ?)), Z)), Y) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 inverse(double_divide(Y, double_divide(X, multiply(double_divide(?, double_divide(Y, ?)), Z)))) 0.20/0.50 = { by lemma 14 } 0.20/0.50 inverse(double_divide(inverse(Z), multiply(double_divide(X, ?), ?))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(multiply(double_divide(X, ?), ?), inverse(Z)) 0.20/0.50 0.20/0.50 Lemma 16: multiply(double_divide(X, multiply(double_divide(?, ?), ?)), Y) = multiply(multiply(double_divide(X, ?), ?), multiply(?, Y)). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(X, multiply(double_divide(?, ?), ?)), Y) 0.20/0.50 = { by lemma 5 } 0.20/0.50 multiply(double_divide(X, multiply(double_divide(?, double_divide(Y, ?)), double_divide(Y, ?))), Y) 0.20/0.50 = { by lemma 15 } 0.20/0.50 multiply(multiply(double_divide(X, ?), ?), inverse(double_divide(Y, ?))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(multiply(double_divide(X, ?), ?), multiply(?, Y)) 0.20/0.50 0.20/0.50 Lemma 17: multiply(multiply(double_divide(X, ?), ?), multiply(?, multiply(double_divide(?, ?), ?))) = multiply(double_divide(X, ?), ?). 0.20/0.50 Proof: 0.20/0.50 multiply(multiply(double_divide(X, ?), ?), multiply(?, multiply(double_divide(?, ?), ?))) 0.20/0.50 = { by lemma 16 } 0.20/0.50 multiply(double_divide(X, multiply(double_divide(?, ?), ?)), multiply(double_divide(?, ?), ?)) 0.20/0.50 = { by lemma 5 } 0.20/0.50 multiply(double_divide(X, ?), ?) 0.20/0.50 0.20/0.50 Lemma 18: double_divide(X, double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(Y))) = double_divide(X, Y). 0.20/0.50 Proof: 0.20/0.50 double_divide(X, double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(Y))) 0.20/0.50 = { by lemma 7 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, ?), ?)), double_divide(multiply(inverse(Y), multiply(?, multiply(double_divide(?, ?), ?))), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 4 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, Y), Y)), double_divide(multiply(inverse(Y), multiply(?, multiply(double_divide(?, ?), ?))), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 11 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, Y), Y)), double_divide(multiply(multiply(double_divide(inverse(?), multiply(double_divide(?, ?), ?)), double_divide(?, multiply(Y, ?))), multiply(?, multiply(double_divide(?, ?), ?))), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 12 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, Y), Y)), double_divide(multiply(multiply(double_divide(double_divide(double_divide(?, multiply(Y, ?)), multiply(double_divide(inverse(double_divide(inverse(?), multiply(double_divide(?, ?), ?))), multiply(double_divide(inverse(?), ?), ?)), ?)), ?), ?), multiply(?, multiply(double_divide(?, ?), ?))), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 17 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, Y), Y)), double_divide(multiply(double_divide(double_divide(double_divide(?, multiply(Y, ?)), multiply(double_divide(inverse(double_divide(inverse(?), multiply(double_divide(?, ?), ?))), multiply(double_divide(inverse(?), ?), ?)), ?)), ?), ?), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 12 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, Y), Y)), double_divide(multiply(double_divide(inverse(?), multiply(double_divide(?, ?), ?)), double_divide(?, multiply(Y, ?))), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 11 } 0.20/0.50 double_divide(double_divide(inverse(?), multiply(double_divide(X, Y), Y)), double_divide(inverse(Y), multiply(double_divide(inverse(?), ?), ?))) 0.20/0.50 = { by lemma 3 } 0.20/0.50 double_divide(X, Y) 0.20/0.50 0.20/0.50 Lemma 19: double_divide(inverse(X), X) = double_divide(inverse(?), ?). 0.20/0.50 Proof: 0.20/0.50 double_divide(inverse(X), X) 0.20/0.50 = { by lemma 18 } 0.20/0.50 double_divide(inverse(X), double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(X))) 0.20/0.50 = { by lemma 9 } 0.20/0.50 double_divide(?, double_divide(multiply(?, multiply(double_divide(?, ?), ?)), ?)) 0.20/0.50 = { by lemma 9 } 0.20/0.50 double_divide(inverse(?), double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(?))) 0.20/0.50 = { by lemma 18 } 0.20/0.50 double_divide(inverse(?), ?) 0.20/0.50 0.20/0.50 Lemma 20: double_divide(multiply(X, Y), double_divide(Y, X)) = double_divide(inverse(?), ?). 0.20/0.50 Proof: 0.20/0.50 double_divide(multiply(X, Y), double_divide(Y, X)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(inverse(double_divide(Y, X)), double_divide(Y, X)) 0.20/0.50 = { by lemma 19 } 0.20/0.50 double_divide(inverse(?), ?) 0.20/0.50 0.20/0.50 Lemma 21: multiply(X, inverse(X)) = multiply(?, inverse(?)). 0.20/0.50 Proof: 0.20/0.50 multiply(X, inverse(X)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 inverse(double_divide(inverse(X), X)) 0.20/0.50 = { by lemma 19 } 0.20/0.50 inverse(double_divide(inverse(?), ?)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 multiply(?, inverse(?)) 0.20/0.50 0.20/0.50 Lemma 22: double_divide(X, double_divide(inverse(?), ?)) = double_divide(?, double_divide(inverse(X), ?)). 0.20/0.50 Proof: 0.20/0.50 double_divide(X, double_divide(inverse(?), ?)) 0.20/0.50 = { by lemma 19 } 0.20/0.50 double_divide(X, double_divide(inverse(X), X)) 0.20/0.50 = { by lemma 9 } 0.20/0.50 double_divide(?, double_divide(inverse(X), ?)) 0.20/0.50 0.20/0.50 Lemma 23: double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(X)) = X. 0.20/0.50 Proof: 0.20/0.50 double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(X)) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 double_divide(double_divide(?, inverse(double_divide(?, double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(X))))), double_divide(inverse(?), inverse(double_divide(?, double_divide(?, ?))))) 0.20/0.50 = { by lemma 18 } 0.20/0.50 double_divide(double_divide(?, inverse(double_divide(?, X))), double_divide(inverse(?), inverse(double_divide(?, double_divide(?, ?))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 X 0.20/0.50 0.20/0.50 Lemma 24: double_divide(double_divide(Y, X), double_divide(inverse(Y), multiply(Z, inverse(Z)))) = X. 0.20/0.50 Proof: 0.20/0.50 double_divide(double_divide(Y, X), double_divide(inverse(Y), multiply(Z, inverse(Z)))) 0.20/0.50 = { by lemma 23 } 0.20/0.50 double_divide(double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(double_divide(Y, X))), double_divide(inverse(Y), multiply(Z, inverse(Z)))) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(double_divide(Y, X))), double_divide(inverse(Y), inverse(double_divide(inverse(Z), Z)))) 0.20/0.50 = { by lemma 23 } 0.20/0.50 double_divide(double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(double_divide(Y, X))), double_divide(inverse(Y), inverse(double_divide(inverse(Z), double_divide(multiply(?, multiply(double_divide(?, ?), ?)), inverse(Z)))))) 0.20/0.50 = { by axiom 1 (single_axiom) } 0.20/0.50 X 0.20/0.50 0.20/0.50 Lemma 25: double_divide(?, double_divide(multiply(X, multiply(?, inverse(?))), ?)) = X. 0.20/0.50 Proof: 0.20/0.50 double_divide(?, double_divide(multiply(X, multiply(?, inverse(?))), ?)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(?, double_divide(inverse(double_divide(multiply(?, inverse(?)), X)), ?)) 0.20/0.50 = { by lemma 22 } 0.20/0.50 double_divide(double_divide(multiply(?, inverse(?)), X), double_divide(inverse(?), ?)) 0.20/0.50 = { by lemma 19 } 0.20/0.50 double_divide(double_divide(multiply(?, inverse(?)), X), double_divide(inverse(multiply(?, inverse(?))), multiply(?, inverse(?)))) 0.20/0.50 = { by lemma 24 } 0.20/0.50 X 0.20/0.50 0.20/0.50 Lemma 26: double_divide(?, double_divide(multiply(?, inverse(?)), ?)) = double_divide(inverse(?), ?). 0.20/0.50 Proof: 0.20/0.50 double_divide(?, double_divide(multiply(?, inverse(?)), ?)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(?, double_divide(inverse(double_divide(inverse(?), ?)), ?)) 0.20/0.50 = { by lemma 20 } 0.20/0.50 double_divide(?, double_divide(inverse(double_divide(multiply(?, inverse(?)), double_divide(inverse(?), ?))), ?)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(?, double_divide(multiply(double_divide(inverse(?), ?), multiply(?, inverse(?))), ?)) 0.20/0.50 = { by lemma 25 } 0.20/0.50 double_divide(inverse(?), ?) 0.20/0.50 0.20/0.50 Lemma 27: double_divide(?, double_divide(X, ?)) = X. 0.20/0.50 Proof: 0.20/0.50 double_divide(?, double_divide(X, ?)) 0.20/0.50 = { by lemma 10 } 0.20/0.50 double_divide(double_divide(multiply(?, inverse(?)), X), double_divide(?, double_divide(multiply(?, inverse(?)), ?))) 0.20/0.50 = { by lemma 26 } 0.20/0.50 double_divide(double_divide(multiply(?, inverse(?)), X), double_divide(inverse(?), ?)) 0.20/0.50 = { by lemma 22 } 0.20/0.50 double_divide(?, double_divide(inverse(double_divide(multiply(?, inverse(?)), X)), ?)) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 double_divide(?, double_divide(multiply(X, multiply(?, inverse(?))), ?)) 0.20/0.50 = { by lemma 25 } 0.20/0.50 X 0.20/0.50 0.20/0.50 Lemma 28: multiply(double_divide(X, ?), ?) = inverse(X). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(X, ?), ?) 0.20/0.50 = { by axiom 2 (multiply) } 0.20/0.50 inverse(double_divide(?, double_divide(X, ?))) 0.20/0.50 = { by lemma 27 } 0.20/0.50 inverse(X) 0.20/0.50 0.20/0.50 Lemma 29: multiply(double_divide(?, double_divide(Y, ?)), double_divide(Y, X)) = multiply(double_divide(X, ?), ?). 0.20/0.50 Proof: 0.20/0.50 multiply(double_divide(?, double_divide(Y, ?)), double_divide(Y, X)) 0.20/0.50 = { by lemma 9 } 0.20/0.50 multiply(double_divide(X, double_divide(Y, X)), double_divide(Y, X)) 0.20/0.50 = { by lemma 5 } 0.20/0.50 multiply(double_divide(X, ?), ?) 0.20/0.50 0.20/0.50 Lemma 30: multiply(?, inverse(?)) = double_divide(inverse(?), ?). 0.20/0.50 Proof: 0.20/0.50 multiply(?, inverse(?)) 0.20/0.50 = { by lemma 27 } 0.20/0.50 double_divide(?, double_divide(multiply(?, inverse(?)), ?)) 0.20/0.50 = { by lemma 26 } 0.20/0.50 double_divide(inverse(?), ?) 0.20/0.50 0.20/0.50 Lemma 31: double_divide(inverse(inverse(X)), Y) = double_divide(X, Y). 0.20/0.50 Proof: 0.20/0.50 double_divide(inverse(inverse(X)), Y) 0.20/0.50 = { by lemma 27 } 0.20/0.50 double_divide(double_divide(?, double_divide(inverse(inverse(X)), ?)), Y) 0.20/0.50 = { by lemma 22 } 0.20/0.50 double_divide(double_divide(inverse(X), double_divide(inverse(?), ?)), Y) 0.20/0.50 = { by lemma 30 } 0.20/0.50 double_divide(double_divide(inverse(X), multiply(?, inverse(?))), Y) 0.20/0.50 = { by lemma 24 } 0.20/0.50 double_divide(double_divide(inverse(X), multiply(?, inverse(?))), double_divide(double_divide(X, Y), double_divide(inverse(X), multiply(?, inverse(?))))) 0.20/0.50 = { by lemma 9 } 0.20/0.50 double_divide(?, double_divide(double_divide(X, Y), ?)) 0.20/0.50 = { by lemma 27 } 0.20/0.50 double_divide(X, Y) 0.20/0.50 0.20/0.50 Lemma 32: inverse(inverse(X)) = X. 0.20/0.50 Proof: 0.20/0.50 inverse(inverse(X)) 0.20/0.50 = { by lemma 27 } 0.20/0.50 double_divide(?, double_divide(inverse(inverse(X)), ?)) 0.20/0.50 = { by lemma 31 } 0.20/0.50 double_divide(?, double_divide(X, ?)) 0.20/0.50 = { by lemma 27 } 0.20/0.50 X 0.20/0.50 0.20/0.50 Lemma 33: double_divide(double_divide(Z, multiply(double_divide(X, ?), ?)), double_divide(inverse(Y), multiply(double_divide(Z, ?), ?))) = double_divide(X, Y). 0.20/0.50 Proof: 0.20/0.51 double_divide(double_divide(Z, multiply(double_divide(X, ?), ?)), double_divide(inverse(Y), multiply(double_divide(Z, ?), ?))) 0.20/0.51 = { by lemma 5 } 0.20/0.51 double_divide(double_divide(Z, multiply(double_divide(X, Y), Y)), double_divide(inverse(Y), multiply(double_divide(Z, ?), ?))) 0.20/0.51 = { by lemma 3 } 0.20/0.51 double_divide(X, Y) 0.20/0.51 0.20/0.51 Lemma 34: multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?) = inverse(?). 0.20/0.51 Proof: 0.20/0.51 multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?) 0.20/0.51 = { by lemma 17 } 0.20/0.51 multiply(multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?), multiply(?, multiply(double_divide(?, ?), ?))) 0.20/0.51 = { by lemma 3 } 0.20/0.51 multiply(multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?), multiply(?, double_divide(double_divide(?, multiply(multiply(double_divide(?, ?), ?), multiply(?, multiply(double_divide(?, ?), ?)))), double_divide(inverse(multiply(?, multiply(double_divide(?, ?), ?))), multiply(double_divide(?, ?), ?))))) 0.20/0.51 = { by lemma 17 } 0.20/0.51 multiply(multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?), multiply(?, double_divide(double_divide(?, multiply(double_divide(?, ?), ?)), double_divide(inverse(multiply(?, multiply(double_divide(?, ?), ?))), multiply(double_divide(?, ?), ?))))) 0.20/0.51 = { by lemma 33 } 0.20/0.51 multiply(multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?), multiply(?, double_divide(?, multiply(?, multiply(double_divide(?, ?), ?))))) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 multiply(multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?), inverse(double_divide(double_divide(?, multiply(?, multiply(double_divide(?, ?), ?))), ?))) 0.20/0.51 = { by lemma 15 } 0.20/0.51 multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, double_divide(double_divide(?, multiply(?, multiply(double_divide(?, ?), ?))), ?)), double_divide(double_divide(?, multiply(?, multiply(double_divide(?, ?), ?))), ?))), double_divide(?, multiply(?, multiply(double_divide(?, ?), ?)))) 0.20/0.51 = { by lemma 11 } 0.20/0.51 inverse(?) 0.20/0.51 0.20/0.51 Lemma 35: multiply(double_divide(inverse(?), ?), X) = multiply(inverse(?), multiply(?, X)). 0.20/0.51 Proof: 0.20/0.51 multiply(double_divide(inverse(?), ?), X) 0.20/0.51 = { by lemma 19 } 0.20/0.51 multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, ?), ?)), X) 0.20/0.51 = { by lemma 16 } 0.20/0.51 multiply(multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?), multiply(?, X)) 0.20/0.51 = { by lemma 34 } 0.20/0.51 multiply(inverse(?), multiply(?, X)) 0.20/0.51 0.20/0.51 Lemma 36: multiply(inverse(?), multiply(?, double_divide(Y, X))) = multiply(double_divide(multiply(X, Y), ?), ?). 0.20/0.51 Proof: 0.20/0.51 multiply(inverse(?), multiply(?, double_divide(Y, X))) 0.20/0.51 = { by lemma 35 } 0.20/0.51 multiply(double_divide(inverse(?), ?), double_divide(Y, X)) 0.20/0.51 = { by lemma 20 } 0.20/0.51 multiply(double_divide(multiply(X, Y), double_divide(Y, X)), double_divide(Y, X)) 0.20/0.51 = { by lemma 5 } 0.20/0.51 multiply(double_divide(multiply(X, Y), ?), ?) 0.20/0.51 0.20/0.51 Lemma 37: double_divide(multiply(Y, Z), multiply(?, double_divide(Z, Y))) = inverse(?). 0.20/0.51 Proof: 0.20/0.51 double_divide(multiply(Y, Z), multiply(?, double_divide(Z, Y))) 0.20/0.51 = { by lemma 33 } 0.20/0.51 double_divide(double_divide(?, multiply(double_divide(multiply(Y, Z), ?), ?)), double_divide(inverse(multiply(?, double_divide(Z, Y))), multiply(double_divide(?, ?), ?))) 0.20/0.51 = { by lemma 36 } 0.20/0.51 double_divide(double_divide(?, multiply(inverse(?), multiply(?, double_divide(Z, Y)))), double_divide(inverse(multiply(?, double_divide(Z, Y))), multiply(double_divide(?, ?), ?))) 0.20/0.51 = { by lemma 3 } 0.20/0.51 inverse(?) 0.20/0.51 0.20/0.51 Lemma 38: double_divide(inverse(X), multiply(?, X)) = inverse(?). 0.20/0.51 Proof: 0.20/0.51 double_divide(inverse(X), multiply(?, X)) 0.20/0.51 = { by lemma 11 } 0.20/0.51 double_divide(multiply(double_divide(inverse(?), multiply(double_divide(?, ?), ?)), double_divide(?, multiply(X, ?))), multiply(?, X)) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 double_divide(multiply(double_divide(inverse(?), inverse(double_divide(?, double_divide(?, ?)))), double_divide(?, multiply(X, ?))), multiply(?, X)) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 double_divide(multiply(double_divide(inverse(?), inverse(double_divide(?, double_divide(?, ?)))), double_divide(?, inverse(double_divide(?, X)))), multiply(?, X)) 0.20/0.51 = { by axiom 1 (single_axiom) } 0.20/0.51 double_divide(multiply(double_divide(inverse(?), inverse(double_divide(?, double_divide(?, ?)))), double_divide(?, inverse(double_divide(?, X)))), multiply(?, double_divide(double_divide(?, inverse(double_divide(?, X))), double_divide(inverse(?), inverse(double_divide(?, double_divide(?, ?))))))) 0.20/0.51 = { by lemma 37 } 0.20/0.51 inverse(?) 0.20/0.51 0.20/0.51 Lemma 39: double_divide(double_divide(Y, X), Y) = X. 0.20/0.51 Proof: 0.20/0.51 double_divide(double_divide(Y, X), Y) 0.20/0.51 = { by lemma 27 } 0.20/0.51 double_divide(double_divide(Y, X), double_divide(?, double_divide(Y, ?))) 0.20/0.51 = { by lemma 10 } 0.20/0.51 double_divide(?, double_divide(X, ?)) 0.20/0.51 = { by lemma 27 } 0.20/0.51 X 0.20/0.51 0.20/0.51 Lemma 40: double_divide(X, double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, ?), ?))) = double_divide(multiply(?, X), inverse(?)). 0.20/0.51 Proof: 0.20/0.51 double_divide(X, double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, ?), ?))) 0.20/0.51 = { by lemma 5 } 0.20/0.51 double_divide(X, double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, double_divide(X, ?)), double_divide(X, ?)))) 0.20/0.51 = { by lemma 14 } 0.20/0.51 double_divide(inverse(double_divide(X, ?)), multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?)) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 double_divide(multiply(?, X), multiply(double_divide(inverse(multiply(double_divide(?, ?), ?)), ?), ?)) 0.20/0.51 = { by lemma 34 } 0.20/0.51 double_divide(multiply(?, X), inverse(?)) 0.20/0.51 0.20/0.51 Lemma 41: double_divide(multiply(?, X), inverse(?)) = double_divide(?, double_divide(inverse(X), ?)). 0.20/0.51 Proof: 0.20/0.51 double_divide(multiply(?, X), inverse(?)) 0.20/0.51 = { by lemma 40 } 0.20/0.51 double_divide(X, double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, ?), ?))) 0.20/0.51 = { by lemma 19 } 0.20/0.51 double_divide(X, double_divide(inverse(?), ?)) 0.20/0.51 = { by lemma 22 } 0.20/0.51 double_divide(?, double_divide(inverse(X), ?)) 0.20/0.51 0.20/0.51 Lemma 42: multiply(X, double_divide(?, inverse(?))) = X. 0.20/0.51 Proof: 0.20/0.51 multiply(X, double_divide(?, inverse(?))) 0.20/0.51 = { by lemma 27 } 0.20/0.51 multiply(X, double_divide(double_divide(?, double_divide(?, ?)), inverse(?))) 0.20/0.51 = { by lemma 9 } 0.20/0.51 multiply(X, double_divide(double_divide(double_divide(multiply(?, inverse(?)), ?), double_divide(?, double_divide(multiply(?, inverse(?)), ?))), inverse(?))) 0.20/0.51 = { by lemma 26 } 0.20/0.51 multiply(X, double_divide(double_divide(double_divide(multiply(?, inverse(?)), ?), double_divide(inverse(?), ?)), inverse(?))) 0.20/0.51 = { by lemma 22 } 0.20/0.51 multiply(X, double_divide(double_divide(?, double_divide(inverse(double_divide(multiply(?, inverse(?)), ?)), ?)), inverse(?))) 0.20/0.51 = { by lemma 27 } 0.20/0.51 multiply(X, double_divide(inverse(double_divide(multiply(?, inverse(?)), ?)), inverse(?))) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 multiply(X, double_divide(multiply(?, multiply(?, inverse(?))), inverse(?))) 0.20/0.51 = { by lemma 41 } 0.20/0.51 multiply(X, double_divide(?, double_divide(inverse(multiply(?, inverse(?))), ?))) 0.20/0.51 = { by lemma 21 } 0.20/0.51 multiply(X, double_divide(?, double_divide(inverse(multiply(multiply(double_divide(?, ?), ?), inverse(multiply(double_divide(?, ?), ?)))), ?))) 0.20/0.51 = { by lemma 41 } 0.20/0.51 multiply(X, double_divide(multiply(?, multiply(multiply(double_divide(?, ?), ?), inverse(multiply(double_divide(?, ?), ?)))), inverse(?))) 0.20/0.51 = { by lemma 40 } 0.20/0.51 multiply(X, double_divide(multiply(multiply(double_divide(?, ?), ?), inverse(multiply(double_divide(?, ?), ?))), double_divide(inverse(multiply(double_divide(?, ?), ?)), multiply(double_divide(?, ?), ?)))) 0.20/0.51 = { by lemma 20 } 0.20/0.51 multiply(X, double_divide(inverse(?), ?)) 0.20/0.51 = { by lemma 30 } 0.20/0.51 multiply(X, multiply(?, inverse(?))) 0.20/0.51 = { by lemma 27 } 0.20/0.51 double_divide(?, double_divide(multiply(X, multiply(?, inverse(?))), ?)) 0.20/0.51 = { by lemma 25 } 0.20/0.51 X 0.20/0.51 0.20/0.51 Lemma 43: multiply(double_divide(X, multiply(double_divide(Z, ?), ?)), Y) = multiply(multiply(double_divide(X, ?), ?), multiply(Z, Y)). 0.20/0.51 Proof: 0.20/0.51 multiply(double_divide(X, multiply(double_divide(Z, ?), ?)), Y) 0.20/0.51 = { by lemma 29 } 0.20/0.51 multiply(double_divide(X, multiply(double_divide(?, double_divide(Y, ?)), double_divide(Y, Z))), Y) 0.20/0.51 = { by lemma 15 } 0.20/0.51 multiply(multiply(double_divide(X, ?), ?), inverse(double_divide(Y, Z))) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 multiply(multiply(double_divide(X, ?), ?), multiply(Z, Y)) 0.20/0.51 0.20/0.51 Lemma 44: multiply(inverse(X), Y) = double_divide(X, inverse(Y)). 0.20/0.51 Proof: 0.20/0.51 multiply(inverse(X), Y) 0.20/0.51 = { by lemma 28 } 0.20/0.51 multiply(multiply(double_divide(X, ?), ?), Y) 0.20/0.51 = { by lemma 42 } 0.20/0.51 multiply(multiply(double_divide(X, ?), ?), multiply(Y, double_divide(?, inverse(?)))) 0.20/0.51 = { by lemma 43 } 0.20/0.51 multiply(double_divide(X, multiply(double_divide(Y, ?), ?)), double_divide(?, inverse(?))) 0.20/0.51 = { by lemma 42 } 0.20/0.51 double_divide(X, multiply(double_divide(Y, ?), ?)) 0.20/0.51 = { by lemma 28 } 0.20/0.51 double_divide(X, inverse(Y)) 0.20/0.51 0.20/0.51 Lemma 45: inverse(inverse(?)) = ?. 0.20/0.51 Proof: 0.20/0.51 inverse(inverse(?)) 0.20/0.51 = { by lemma 27 } 0.20/0.51 double_divide(?, double_divide(inverse(inverse(?)), ?)) 0.20/0.51 = { by lemma 41 } 0.20/0.51 double_divide(multiply(?, inverse(?)), inverse(?)) 0.20/0.51 = { by lemma 30 } 0.20/0.51 double_divide(double_divide(inverse(?), ?), inverse(?)) 0.20/0.51 = { by lemma 38 } 0.20/0.51 double_divide(double_divide(inverse(?), ?), double_divide(inverse(inverse(?)), multiply(?, inverse(?)))) 0.20/0.51 = { by lemma 24 } 0.20/0.51 ? 0.20/0.51 0.20/0.51 Lemma 46: multiply(double_divide(?, double_divide(Y, ?)), double_divide(?, double_divide(X, ?))) = multiply(double_divide(double_divide(X, Y), ?), ?). 0.20/0.51 Proof: 0.20/0.51 multiply(double_divide(?, double_divide(Y, ?)), double_divide(?, double_divide(X, ?))) 0.20/0.51 = { by lemma 9 } 0.20/0.51 multiply(double_divide(?, double_divide(Y, ?)), double_divide(Y, double_divide(X, Y))) 0.20/0.51 = { by lemma 29 } 0.20/0.51 multiply(double_divide(double_divide(X, Y), ?), ?) 0.20/0.51 0.20/0.51 Lemma 47: double_divide(inverse(X), inverse(Y)) = multiply(X, Y). 0.20/0.51 Proof: 0.20/0.51 double_divide(inverse(X), inverse(Y)) 0.20/0.51 = { by lemma 44 } 0.20/0.51 multiply(inverse(inverse(X)), Y) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 inverse(double_divide(Y, inverse(inverse(X)))) 0.20/0.51 = { by lemma 28 } 0.20/0.51 multiply(double_divide(double_divide(Y, inverse(inverse(X))), ?), ?) 0.20/0.51 = { by lemma 46 } 0.20/0.51 multiply(double_divide(?, double_divide(inverse(inverse(X)), ?)), double_divide(?, double_divide(Y, ?))) 0.20/0.51 = { by lemma 31 } 0.20/0.51 multiply(double_divide(?, double_divide(X, ?)), double_divide(?, double_divide(Y, ?))) 0.20/0.51 = { by lemma 46 } 0.20/0.51 multiply(double_divide(double_divide(Y, X), ?), ?) 0.20/0.51 = { by lemma 28 } 0.20/0.51 inverse(double_divide(Y, X)) 0.20/0.51 = { by axiom 2 (multiply) } 0.20/0.51 multiply(X, Y) 0.20/0.51 0.20/0.51 Lemma 48: multiply(X, inverse(Y)) = double_divide(inverse(X), Y). 0.20/0.51 Proof: 0.20/0.51 multiply(X, inverse(Y)) 0.20/0.51 = { by lemma 47 } 0.20/0.51 double_divide(inverse(X), inverse(inverse(Y))) 0.20/0.51 = { by lemma 32 } 0.20/0.53 double_divide(inverse(X), Y) 0.20/0.53 0.20/0.53 Lemma 49: double_divide(double_divide(?, inverse(X)), Y) = double_divide(X, double_divide(inverse(Y), ?)). 0.20/0.53 Proof: 0.20/0.53 double_divide(double_divide(?, inverse(X)), Y) 0.20/0.53 = { by lemma 45 } 0.20/0.53 double_divide(double_divide(inverse(inverse(?)), inverse(X)), Y) 0.20/0.53 = { by lemma 11 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(inverse(multiply(?, double_divide(?, ?))), multiply(double_divide(?, ?), ?)), double_divide(?, multiply(inverse(?), multiply(?, double_divide(?, ?))))), inverse(X)), Y) 0.20/0.53 = { by lemma 36 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(inverse(multiply(?, double_divide(?, ?))), multiply(double_divide(?, ?), ?)), double_divide(?, multiply(double_divide(multiply(?, ?), ?), ?))), inverse(X)), Y) 0.20/0.53 = { by lemma 28 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(inverse(multiply(?, double_divide(?, ?))), multiply(double_divide(?, ?), ?)), double_divide(?, inverse(multiply(?, ?)))), inverse(X)), Y) 0.20/0.53 = { by lemma 43 } 0.20/0.53 double_divide(double_divide(multiply(multiply(double_divide(inverse(multiply(?, double_divide(?, ?))), ?), ?), multiply(?, double_divide(?, inverse(multiply(?, ?))))), inverse(X)), Y) 0.20/0.53 = { by lemma 5 } 0.20/0.53 double_divide(double_divide(multiply(multiply(double_divide(inverse(multiply(?, double_divide(?, ?))), multiply(?, double_divide(?, ?))), multiply(?, double_divide(?, ?))), multiply(?, double_divide(?, inverse(multiply(?, ?))))), inverse(X)), Y) 0.20/0.53 = { by lemma 19 } 0.20/0.53 double_divide(double_divide(multiply(multiply(double_divide(inverse(?), ?), multiply(?, double_divide(?, ?))), multiply(?, double_divide(?, inverse(multiply(?, ?))))), inverse(X)), Y) 0.20/0.53 = { by axiom 2 (multiply) } 0.20/0.53 double_divide(double_divide(multiply(multiply(double_divide(inverse(?), ?), multiply(?, double_divide(?, ?))), inverse(double_divide(double_divide(?, inverse(multiply(?, ?))), ?))), inverse(X)), Y) 0.20/0.53 = { by lemma 39 } 0.20/0.53 double_divide(double_divide(multiply(multiply(double_divide(inverse(?), ?), multiply(?, double_divide(?, ?))), inverse(inverse(multiply(?, ?)))), inverse(X)), Y) 0.20/0.53 = { by lemma 48 } 0.20/0.53 double_divide(double_divide(double_divide(inverse(multiply(double_divide(inverse(?), ?), multiply(?, double_divide(?, ?)))), inverse(multiply(?, ?))), inverse(X)), Y) 0.20/0.53 = { by lemma 47 } 0.20/0.53 double_divide(double_divide(multiply(multiply(double_divide(inverse(?), ?), multiply(?, double_divide(?, ?))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 35 } 0.20/0.53 double_divide(double_divide(multiply(multiply(inverse(?), multiply(?, multiply(?, double_divide(?, ?)))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 44 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(?, inverse(multiply(?, multiply(?, double_divide(?, ?))))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 39 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(?, inverse(double_divide(double_divide(inverse(multiply(?, double_divide(?, ?))), multiply(?, multiply(?, double_divide(?, ?)))), inverse(multiply(?, double_divide(?, ?)))))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 38 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(?, inverse(double_divide(inverse(?), inverse(multiply(?, double_divide(?, ?)))))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by axiom 2 (multiply) } 0.20/0.53 double_divide(double_divide(multiply(double_divide(?, multiply(inverse(multiply(?, double_divide(?, ?))), inverse(?))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 44 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(?, double_divide(multiply(?, double_divide(?, ?)), inverse(inverse(?)))), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 45 } 0.20/0.53 double_divide(double_divide(multiply(double_divide(?, double_divide(multiply(?, double_divide(?, ?)), ?)), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 27 } 0.20/0.53 double_divide(double_divide(multiply(multiply(?, double_divide(?, ?)), multiply(?, ?)), inverse(X)), Y) 0.20/0.53 = { by lemma 28 } 0.20/0.53 double_divide(double_divide(multiply(multiply(?, double_divide(?, ?)), multiply(?, ?)), multiply(double_divide(X, ?), ?)), Y) 0.20/0.53 = { by lemma 6 } 0.20/0.53 double_divide(double_divide(multiply(multiply(?, double_divide(?, ?)), multiply(?, ?)), multiply(double_divide(X, ?), ?)), double_divide(double_divide(X, multiply(Y, double_divide(multiply(?, ?), multiply(?, double_divide(?, ?))))), double_divide(multiply(multiply(?, double_divide(?, ?)), multiply(?, ?)), multiply(double_divide(X, ?), ?)))) 0.20/0.53 = { by lemma 9 } 0.20/0.53 double_divide(?, double_divide(double_divide(X, multiply(Y, double_divide(multiply(?, ?), multiply(?, double_divide(?, ?))))), ?)) 0.20/0.53 = { by lemma 27 } 0.20/0.53 double_divide(X, multiply(Y, double_divide(multiply(?, ?), multiply(?, double_divide(?, ?))))) 0.20/0.53 = { by lemma 37 } 0.20/0.53 double_divide(X, multiply(Y, inverse(?))) 0.20/0.53 = { by lemma 48 } 0.37/0.53 double_divide(X, double_divide(inverse(Y), ?)) 0.37/0.53 0.37/0.53 Goal 1 (prove_these_axioms_3): multiply(multiply(a3, b3), c3) = multiply(a3, multiply(b3, c3)). 0.37/0.53 Proof: 0.37/0.53 multiply(multiply(a3, b3), c3) 0.37/0.53 = { by axiom 2 (multiply) } 0.37/0.53 inverse(double_divide(c3, multiply(a3, b3))) 0.37/0.53 = { by lemma 28 } 0.37/0.53 multiply(double_divide(double_divide(c3, multiply(a3, b3)), ?), ?) 0.37/0.53 = { by lemma 29 } 0.37/0.53 multiply(double_divide(?, double_divide(a3, ?)), double_divide(a3, double_divide(c3, multiply(a3, b3)))) 0.37/0.53 = { by lemma 27 } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(c3, multiply(a3, b3)))) 0.37/0.53 = { by lemma 32 } 0.37/0.53 multiply(a3, double_divide(a3, inverse(inverse(double_divide(c3, multiply(a3, b3)))))) 0.37/0.53 = { by axiom 2 (multiply) } 0.37/0.53 multiply(a3, double_divide(a3, inverse(multiply(multiply(a3, b3), c3)))) 0.37/0.53 = { by lemma 27 } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(?, double_divide(inverse(multiply(multiply(a3, b3), c3)), ?)))) 0.37/0.53 = { by lemma 22 } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(multiply(multiply(a3, b3), c3), double_divide(inverse(?), ?)))) 0.37/0.53 = { by lemma 49 } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(double_divide(?, inverse(multiply(multiply(a3, b3), c3))), ?))) 0.37/0.53 = { by lemma 44 } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(multiply(inverse(?), multiply(multiply(a3, b3), c3)), ?))) 0.37/0.53 = { by lemma 28 } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(multiply(multiply(double_divide(?, ?), ?), multiply(multiply(a3, b3), c3)), ?))) 0.37/0.53 = { by axiom 2 (multiply) } 0.37/0.53 multiply(a3, double_divide(a3, double_divide(inverse(double_divide(multiply(multiply(a3, b3), c3), multiply(double_divide(?, ?), ?))), ?))) 0.37/0.53 = { by lemma 49 } 0.37/0.53 multiply(a3, double_divide(double_divide(?, inverse(a3)), double_divide(multiply(multiply(a3, b3), c3), multiply(double_divide(?, ?), ?)))) 0.37/0.53 = { by lemma 13 } 0.37/0.53 multiply(a3, double_divide(inverse(b3), multiply(double_divide(c3, ?), ?))) 0.37/0.53 = { by lemma 28 } 0.37/0.53 multiply(a3, double_divide(inverse(b3), inverse(c3))) 0.37/0.53 = { by lemma 47 } 0.37/0.53 multiply(a3, multiply(b3, c3)) 0.37/0.53 % SZS output end Proof 0.37/0.53 0.37/0.53 RESULT: Unsatisfiable (the axioms are contradictory). 0.37/0.53 EOF