0.04/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.12/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 09:56:09 EDT 2019 0.12/0.34 % CPUTime : 0.40/0.57 % SZS status Unsatisfiable 0.40/0.57 0.40/0.57 % SZS output start Proof 0.40/0.57 Take the following subset of the input axioms: 0.40/0.57 fof(intersection, axiom, ![Y, X]: multiply(X, Y)=difference(X, difference(X, Y))). 0.40/0.57 fof(prove_associativity_of_multiply, negated_conjecture, multiply(a, multiply(b, c))!=multiply(multiply(a, b), c)). 0.40/0.57 fof(set_difference_1, axiom, ![Y, X]: X=difference(X, difference(Y, X))). 0.40/0.57 fof(set_difference_2, axiom, ![Y, X]: difference(Y, difference(Y, X))=difference(X, difference(X, Y))). 0.40/0.57 fof(set_difference_3, axiom, ![Y, X, Z]: difference(difference(X, Y), Z)=difference(difference(X, Z), difference(Y, Z))). 0.40/0.57 0.40/0.57 Now clausify the problem and encode Horn clauses using encoding 3 of 0.40/0.57 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.40/0.57 We repeatedly replace C & s=t => u=v by the two clauses: 0.40/0.57 fresh(y, y, x1...xn) = u 0.40/0.57 C => fresh(s, t, x1...xn) = v 0.40/0.57 where fresh is a fresh function symbol and x1..xn are the free 0.40/0.57 variables of u and v. 0.40/0.57 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.40/0.57 input problem has no model of domain size 1). 0.40/0.57 0.40/0.57 The encoding turns the above axioms into the following unit equations and goals: 0.40/0.57 0.40/0.57 Axiom 1 (intersection): multiply(X, Y) = difference(X, difference(X, Y)). 0.40/0.57 Axiom 2 (set_difference_1): X = difference(X, difference(Y, X)). 0.40/0.57 Axiom 3 (set_difference_3): difference(difference(X, Y), Z) = difference(difference(X, Z), difference(Y, Z)). 0.40/0.58 Axiom 4 (set_difference_2): difference(X, difference(X, Y)) = difference(Y, difference(Y, X)). 0.40/0.58 0.40/0.58 Lemma 5: multiply(X, Y) = multiply(Y, X). 0.40/0.58 Proof: 0.40/0.58 multiply(X, Y) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(X, difference(X, Y)) 0.40/0.58 = { by axiom 4 (set_difference_2) } 0.40/0.58 difference(Y, difference(Y, X)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 multiply(Y, X) 0.40/0.58 0.40/0.58 Lemma 6: multiply(X, difference(X, Y)) = difference(X, multiply(X, Y)). 0.40/0.58 Proof: 0.40/0.58 multiply(X, difference(X, Y)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(X, difference(X, difference(X, Y))) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(X, multiply(X, Y)) 0.40/0.58 0.40/0.58 Lemma 7: multiply(X, difference(Y, X)) = difference(X, X). 0.40/0.58 Proof: 0.40/0.58 multiply(X, difference(Y, X)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(X, difference(X, difference(Y, X))) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 difference(X, X) 0.40/0.58 0.40/0.58 Lemma 8: difference(multiply(X, Y), X) = difference(X, X). 0.40/0.58 Proof: 0.40/0.58 difference(multiply(X, Y), X) 0.40/0.58 = { by lemma 5 } 0.40/0.58 difference(multiply(Y, X), X) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(difference(Y, difference(Y, X)), X) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(Y, X), difference(difference(Y, X), X)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 multiply(difference(Y, X), X) 0.40/0.58 = { by lemma 5 } 0.40/0.58 multiply(X, difference(Y, X)) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(X, X) 0.40/0.58 0.40/0.58 Lemma 9: difference(multiply(Y, X), X) = difference(X, X). 0.40/0.58 Proof: 0.40/0.58 difference(multiply(Y, X), X) 0.40/0.58 = { by lemma 5 } 0.40/0.58 difference(multiply(X, Y), X) 0.40/0.58 = { by lemma 8 } 0.40/0.58 difference(X, X) 0.40/0.58 0.40/0.58 Lemma 10: difference(difference(X, X), Y) = difference(difference(?, ?), Y). 0.40/0.58 Proof: 0.40/0.58 difference(difference(X, X), Y) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(X, Y), difference(X, Y)) 0.40/0.58 = { by lemma 7 } 0.40/0.58 multiply(difference(X, Y), difference(Y, difference(X, Y))) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 multiply(difference(X, Y), Y) 0.40/0.58 = { by lemma 5 } 0.40/0.58 multiply(Y, difference(X, Y)) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(Y, Y) 0.40/0.58 = { by lemma 7 } 0.40/0.58 multiply(Y, difference(?, Y)) 0.40/0.58 = { by lemma 5 } 0.40/0.58 multiply(difference(?, Y), Y) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 multiply(difference(?, Y), difference(Y, difference(?, Y))) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(difference(?, Y), difference(?, Y)) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(?, ?), Y) 0.40/0.58 0.40/0.58 Lemma 11: difference(difference(?, ?), Y) = difference(Y, Y). 0.40/0.58 Proof: 0.40/0.58 difference(difference(?, ?), Y) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(?, Y), difference(?, Y)) 0.40/0.58 = { by lemma 7 } 0.40/0.58 multiply(difference(?, Y), difference(Y, difference(?, Y))) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 multiply(difference(?, Y), Y) 0.40/0.58 = { by lemma 5 } 0.40/0.58 multiply(Y, difference(?, Y)) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(Y, Y) 0.40/0.58 0.40/0.58 Lemma 12: multiply(difference(X, Y), multiply(X, Y)) = difference(Y, Y). 0.40/0.58 Proof: 0.40/0.58 multiply(difference(X, Y), multiply(X, Y)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 multiply(difference(X, Y), difference(X, difference(X, Y))) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(difference(X, Y), difference(X, Y)) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(X, X), Y) 0.40/0.58 = { by lemma 10 } 0.40/0.58 difference(difference(?, ?), Y) 0.40/0.58 = { by lemma 11 } 0.40/0.58 difference(Y, Y) 0.40/0.58 0.40/0.58 Lemma 13: difference(difference(X, Y), multiply(X, Y)) = difference(X, Y). 0.40/0.58 Proof: 0.40/0.58 difference(difference(X, Y), multiply(X, Y)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(difference(X, Y), difference(X, difference(X, Y))) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 difference(X, Y) 0.40/0.58 0.40/0.58 Lemma 14: multiply(difference(X, Y), difference(Z, Y)) = difference(multiply(X, Z), Y). 0.40/0.58 Proof: 0.40/0.58 multiply(difference(X, Y), difference(Z, Y)) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(difference(X, Y), difference(difference(X, Y), difference(Z, Y))) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(X, Y), difference(difference(X, Z), Y)) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(X, difference(X, Z)), Y) 0.40/0.58 = { by axiom 1 (intersection) } 0.40/0.58 difference(multiply(X, Z), Y) 0.40/0.58 0.40/0.58 Lemma 15: difference(difference(?, ?), multiply(X, Y)) = difference(difference(?, ?), multiply(X, ?)). 0.40/0.58 Proof: 0.40/0.58 difference(difference(?, ?), multiply(X, Y)) 0.40/0.58 = { by lemma 5 } 0.40/0.58 difference(difference(?, ?), multiply(Y, X)) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(?, multiply(Y, X)), difference(?, multiply(Y, X))) 0.40/0.58 = { by lemma 7 } 0.40/0.58 multiply(difference(?, multiply(Y, X)), difference(multiply(Y, X), difference(?, multiply(Y, X)))) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 multiply(difference(?, multiply(Y, X)), multiply(Y, X)) 0.40/0.58 = { by lemma 5 } 0.40/0.58 multiply(multiply(Y, X), difference(?, multiply(Y, X))) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(multiply(Y, X), multiply(Y, X)) 0.40/0.58 = { by lemma 12 } 0.40/0.58 multiply(difference(difference(Y, X), multiply(Y, X)), multiply(difference(Y, X), multiply(Y, X))) 0.40/0.58 = { by lemma 13 } 0.40/0.58 multiply(difference(Y, X), multiply(difference(Y, X), multiply(Y, X))) 0.40/0.58 = { by lemma 12 } 0.40/0.58 multiply(difference(Y, X), difference(X, X)) 0.40/0.58 = { by lemma 14 } 0.40/0.58 difference(multiply(Y, X), X) 0.40/0.58 = { by lemma 9 } 0.40/0.58 difference(X, X) 0.40/0.58 = { by lemma 9 } 0.40/0.58 difference(multiply(?, X), X) 0.40/0.58 = { by lemma 14 } 0.40/0.58 multiply(difference(?, X), difference(X, X)) 0.40/0.58 = { by lemma 13 } 0.40/0.58 multiply(difference(difference(?, X), multiply(?, X)), difference(X, X)) 0.40/0.58 = { by lemma 12 } 0.40/0.58 multiply(difference(difference(?, X), multiply(?, X)), multiply(difference(?, X), multiply(?, X))) 0.40/0.58 = { by lemma 12 } 0.40/0.58 difference(multiply(?, X), multiply(?, X)) 0.40/0.58 = { by lemma 7 } 0.40/0.58 multiply(multiply(?, X), difference(?, multiply(?, X))) 0.40/0.58 = { by lemma 5 } 0.40/0.58 multiply(difference(?, multiply(?, X)), multiply(?, X)) 0.40/0.58 = { by axiom 2 (set_difference_1) } 0.40/0.58 multiply(difference(?, multiply(?, X)), difference(multiply(?, X), difference(?, multiply(?, X)))) 0.40/0.58 = { by lemma 7 } 0.40/0.58 difference(difference(?, multiply(?, X)), difference(?, multiply(?, X))) 0.40/0.58 = { by axiom 3 (set_difference_3) } 0.40/0.58 difference(difference(?, ?), multiply(?, X)) 0.40/0.58 = { by lemma 5 } 0.43/0.58 difference(difference(?, ?), multiply(X, ?)) 0.43/0.58 0.43/0.58 Lemma 16: difference(difference(?, ?), X) = difference(?, ?). 0.43/0.58 Proof: 0.43/0.58 difference(difference(?, ?), X) 0.43/0.58 = { by axiom 3 (set_difference_3) } 0.43/0.58 difference(difference(?, X), difference(?, X)) 0.43/0.58 = { by lemma 12 } 0.43/0.58 multiply(difference(?, difference(?, X)), multiply(?, difference(?, X))) 0.43/0.58 = { by axiom 1 (intersection) } 0.43/0.58 multiply(multiply(?, X), multiply(?, difference(?, X))) 0.43/0.58 = { by lemma 6 } 0.43/0.58 multiply(multiply(?, X), difference(?, multiply(?, X))) 0.43/0.58 = { by lemma 5 } 0.43/0.58 multiply(difference(?, multiply(?, X)), multiply(?, X)) 0.43/0.58 = { by axiom 2 (set_difference_1) } 0.43/0.58 multiply(difference(?, multiply(?, X)), difference(multiply(?, X), difference(?, multiply(?, X)))) 0.43/0.58 = { by lemma 7 } 0.43/0.58 difference(difference(?, multiply(?, X)), difference(?, multiply(?, X))) 0.43/0.58 = { by axiom 3 (set_difference_3) } 0.43/0.58 difference(difference(?, ?), multiply(?, X)) 0.43/0.58 = { by lemma 15 } 0.43/0.58 difference(difference(?, ?), multiply(?, ?)) 0.43/0.58 = { by axiom 3 (set_difference_3) } 0.43/0.58 difference(difference(?, multiply(?, ?)), difference(?, multiply(?, ?))) 0.43/0.58 = { by lemma 7 } 0.43/0.58 multiply(difference(?, multiply(?, ?)), difference(multiply(?, ?), difference(?, multiply(?, ?)))) 0.43/0.58 = { by axiom 2 (set_difference_1) } 0.43/0.58 multiply(difference(?, multiply(?, ?)), multiply(?, ?)) 0.43/0.58 = { by lemma 5 } 0.43/0.58 multiply(multiply(?, ?), difference(?, multiply(?, ?))) 0.43/0.58 = { by lemma 7 } 0.43/0.58 difference(multiply(?, ?), multiply(?, ?)) 0.43/0.58 = { by lemma 12 } 0.43/0.58 multiply(difference(difference(?, ?), multiply(?, ?)), multiply(difference(?, ?), multiply(?, ?))) 0.43/0.58 = { by lemma 13 } 0.43/0.58 multiply(difference(?, ?), multiply(difference(?, ?), multiply(?, ?))) 0.43/0.58 = { by lemma 12 } 0.43/0.58 multiply(difference(?, ?), difference(?, ?)) 0.43/0.58 = { by lemma 14 } 0.43/0.58 difference(multiply(?, ?), ?) 0.43/0.58 = { by lemma 9 } 0.43/0.58 difference(?, ?) 0.43/0.58 0.43/0.58 Lemma 17: difference(X, X) = difference(?, ?). 0.43/0.58 Proof: 0.43/0.58 difference(X, X) 0.43/0.58 = { by lemma 11 } 0.43/0.58 difference(difference(?, ?), X) 0.43/0.58 = { by lemma 16 } 0.43/0.58 difference(?, ?) 0.43/0.58 0.43/0.58 Lemma 18: difference(X, difference(?, ?)) = X. 0.43/0.58 Proof: 0.43/0.58 difference(X, difference(?, ?)) 0.43/0.58 = { by lemma 16 } 0.43/0.58 difference(X, difference(difference(?, ?), X)) 0.43/0.58 = { by axiom 2 (set_difference_1) } 0.43/0.59 X 0.43/0.59 0.43/0.59 Lemma 19: difference(X, multiply(X, Y)) = difference(X, Y). 0.43/0.59 Proof: 0.43/0.59 difference(X, multiply(X, Y)) 0.43/0.59 = { by lemma 6 } 0.43/0.59 multiply(X, difference(X, Y)) 0.43/0.59 = { by lemma 5 } 0.43/0.59 multiply(difference(X, Y), X) 0.43/0.59 = { by axiom 1 (intersection) } 0.43/0.59 difference(difference(X, Y), difference(difference(X, Y), X)) 0.43/0.59 = { by axiom 3 (set_difference_3) } 0.43/0.59 difference(difference(X, difference(difference(X, Y), X)), difference(Y, difference(difference(X, Y), X))) 0.43/0.59 = { by axiom 2 (set_difference_1) } 0.43/0.59 difference(X, difference(Y, difference(difference(X, Y), X))) 0.43/0.59 = { by axiom 3 (set_difference_3) } 0.43/0.59 difference(X, difference(Y, difference(difference(X, X), difference(Y, X)))) 0.43/0.59 = { by lemma 7 } 0.43/0.59 difference(X, difference(Y, difference(multiply(X, difference(Y, X)), difference(Y, X)))) 0.43/0.59 = { by lemma 9 } 0.43/0.59 difference(X, difference(Y, difference(difference(Y, X), difference(Y, X)))) 0.43/0.59 = { by axiom 3 (set_difference_3) } 0.43/0.59 difference(X, difference(Y, difference(difference(Y, Y), X))) 0.43/0.59 = { by lemma 10 } 0.43/0.59 difference(X, difference(Y, difference(difference(?, ?), X))) 0.43/0.59 = { by lemma 11 } 0.43/0.59 difference(X, difference(Y, difference(X, X))) 0.43/0.59 = { by lemma 17 } 0.43/0.59 difference(X, difference(Y, difference(?, ?))) 0.43/0.59 = { by lemma 18 } 0.43/0.59 difference(X, Y) 0.43/0.59 0.43/0.59 Lemma 20: difference(multiply(X, Z), difference(Y, difference(X, Z))) = difference(difference(X, Y), difference(X, Z)). 0.43/0.59 Proof: 0.43/0.59 difference(multiply(X, Z), difference(Y, difference(X, Z))) 0.43/0.59 = { by axiom 1 (intersection) } 0.43/0.59 difference(difference(X, difference(X, Z)), difference(Y, difference(X, Z))) 0.43/0.59 = { by axiom 3 (set_difference_3) } 0.43/0.59 difference(difference(X, Y), difference(X, Z)) 0.43/0.59 0.43/0.59 Lemma 21: difference(difference(X, Y), Y) = difference(X, Y). 0.43/0.59 Proof: 0.43/0.59 difference(difference(X, Y), Y) 0.43/0.59 = { by axiom 2 (set_difference_1) } 0.43/0.59 difference(difference(X, Y), difference(Y, difference(X, Y))) 0.43/0.59 = { by axiom 2 (set_difference_1) } 0.43/0.59 difference(X, Y) 0.43/0.59 0.43/0.59 Lemma 22: difference(X, multiply(Y, X)) = difference(X, Y). 0.43/0.59 Proof: 0.43/0.59 difference(X, multiply(Y, X)) 0.43/0.59 = { by lemma 5 } 0.43/0.59 difference(X, multiply(X, Y)) 0.43/0.59 = { by lemma 19 } 0.43/0.59 difference(X, Y) 0.43/0.59 0.43/0.59 Lemma 23: multiply(X, difference(Y, Z)) = difference(multiply(X, Y), Z). 0.43/0.59 Proof: 0.43/0.59 multiply(X, difference(Y, Z)) 0.43/0.59 = { by lemma 18 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(?, ?)) 0.43/0.59 = { by lemma 16 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(?, ?), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 10 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(difference(Y, Z), difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 8 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(multiply(difference(Y, Z), Z), difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 14 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(multiply(difference(difference(Y, Z), difference(Y, Z)), difference(Z, difference(Y, Z))), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 8 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(multiply(difference(multiply(difference(Y, Z), X), difference(Y, Z)), difference(Z, difference(Y, Z))), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 14 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(multiply(multiply(difference(Y, Z), X), Z), difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 5 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(multiply(Z, multiply(difference(Y, Z), X)), difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 5 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(multiply(Z, multiply(X, difference(Y, Z))), difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by axiom 3 (set_difference_3) } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(multiply(Z, multiply(X, difference(Y, Z))), difference(Z, multiply(X, difference(Y, Z)))), difference(difference(Y, Z), difference(Z, multiply(X, difference(Y, Z)))))) 0.43/0.59 = { by axiom 3 (set_difference_3) } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(multiply(Z, multiply(X, difference(Y, Z))), difference(difference(Y, Z), difference(Z, multiply(X, difference(Y, Z))))), difference(difference(Z, multiply(X, difference(Y, Z))), difference(difference(Y, Z), difference(Z, multiply(X, difference(Y, Z))))))) 0.43/0.59 = { by lemma 20 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(difference(Z, difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z)))), difference(difference(Z, multiply(X, difference(Y, Z))), difference(difference(Y, Z), difference(Z, multiply(X, difference(Y, Z))))))) 0.43/0.59 = { by axiom 2 (set_difference_1) } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(difference(Z, difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z)))), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 21 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(difference(Z, difference(Y, Z)), difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by axiom 2 (set_difference_1) } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(Z, difference(Z, multiply(X, difference(Y, Z))))) 0.43/0.59 = { by lemma 5 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), difference(Z, difference(Z, multiply(difference(Y, Z), X)))) 0.43/0.59 = { by axiom 1 (intersection) } 0.43/0.59 difference(multiply(X, difference(Y, Z)), multiply(Z, multiply(difference(Y, Z), X))) 0.43/0.59 = { by lemma 5 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), multiply(Z, multiply(X, difference(Y, Z)))) 0.43/0.59 = { by lemma 22 } 0.43/0.59 difference(multiply(X, difference(Y, Z)), Z) 0.43/0.59 = { by lemma 5 } 0.43/0.59 difference(multiply(difference(Y, Z), X), Z) 0.43/0.59 = { by lemma 14 } 0.43/0.59 multiply(difference(difference(Y, Z), Z), difference(X, Z)) 0.43/0.59 = { by lemma 21 } 0.43/0.59 multiply(difference(Y, Z), difference(X, Z)) 0.43/0.59 = { by lemma 14 } 0.43/0.59 difference(multiply(Y, X), Z) 0.43/0.59 = { by lemma 5 } 0.43/0.60 difference(multiply(X, Y), Z) 0.43/0.60 0.43/0.60 Lemma 24: difference(multiply(X, Y), difference(Y, Z)) = multiply(X, multiply(Y, Z)). 0.43/0.60 Proof: 0.43/0.60 difference(multiply(X, Y), difference(Y, Z)) 0.43/0.60 = { by axiom 1 (intersection) } 0.43/0.60 difference(difference(X, difference(X, Y)), difference(Y, Z)) 0.43/0.60 = { by lemma 19 } 0.43/0.60 difference(difference(X, difference(X, Y)), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by axiom 3 (set_difference_3) } 0.43/0.60 difference(difference(X, difference(Y, multiply(Y, Z))), difference(difference(X, Y), difference(Y, multiply(Y, Z)))) 0.43/0.60 = { by axiom 3 (set_difference_3) } 0.43/0.60 difference(difference(X, difference(Y, multiply(Y, Z))), difference(difference(X, difference(Y, multiply(Y, Z))), difference(Y, difference(Y, multiply(Y, Z))))) 0.43/0.60 = { by axiom 1 (intersection) } 0.43/0.60 difference(difference(X, difference(Y, multiply(Y, Z))), difference(difference(X, difference(Y, multiply(Y, Z))), multiply(Y, multiply(Y, Z)))) 0.43/0.60 = { by axiom 1 (intersection) } 0.43/0.60 multiply(difference(X, difference(Y, multiply(Y, Z))), multiply(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 5 } 0.43/0.60 multiply(multiply(Y, multiply(Y, Z)), difference(X, difference(Y, multiply(Y, Z)))) 0.43/0.60 = { by lemma 23 } 0.43/0.60 difference(multiply(multiply(Y, multiply(Y, Z)), X), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 5 } 0.43/0.60 difference(multiply(X, multiply(Y, multiply(Y, Z))), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 5 } 0.43/0.60 difference(multiply(X, multiply(multiply(Y, Z), Y)), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by axiom 1 (intersection) } 0.43/0.60 difference(multiply(X, difference(multiply(Y, Z), difference(multiply(Y, Z), Y))), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 8 } 0.43/0.60 difference(multiply(X, difference(multiply(Y, Z), difference(Y, Y))), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 17 } 0.43/0.60 difference(multiply(X, difference(multiply(Y, Z), difference(?, ?))), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 18 } 0.43/0.60 difference(multiply(X, multiply(Y, Z)), difference(Y, multiply(Y, Z))) 0.43/0.60 = { by lemma 23 } 0.43/0.60 multiply(X, difference(multiply(Y, Z), difference(Y, multiply(Y, Z)))) 0.43/0.60 = { by axiom 2 (set_difference_1) } 0.43/0.60 multiply(X, multiply(Y, Z)) 0.43/0.60 0.43/0.60 Lemma 25: difference(multiply(Y, X), difference(Y, Z)) = multiply(X, multiply(Y, Z)). 0.43/0.60 Proof: 0.43/0.60 difference(multiply(Y, X), difference(Y, Z)) 0.43/0.60 = { by lemma 5 } 0.43/0.60 difference(multiply(X, Y), difference(Y, Z)) 0.43/0.60 = { by lemma 24 } 0.43/0.60 multiply(X, multiply(Y, Z)) 0.43/0.60 0.43/0.60 Goal 1 (prove_associativity_of_multiply): multiply(a, multiply(b, c)) = multiply(multiply(a, b), c). 0.43/0.60 Proof: 0.43/0.60 multiply(a, multiply(b, c)) 0.43/0.60 = { by lemma 5 } 0.43/0.60 multiply(a, multiply(c, b)) 0.43/0.60 = { by lemma 5 } 0.43/0.60 multiply(a, multiply(b, c)) 0.43/0.60 = { by lemma 25 } 0.43/0.60 difference(multiply(b, a), difference(b, c)) 0.43/0.60 = { by axiom 1 (intersection) } 0.43/0.60 difference(difference(b, difference(b, a)), difference(b, c)) 0.43/0.60 = { by lemma 22 } 0.43/0.60 difference(difference(b, multiply(difference(b, a), b)), difference(b, c)) 0.43/0.60 = { by lemma 20 } 0.43/0.60 difference(multiply(b, c), difference(multiply(difference(b, a), b), difference(b, c))) 0.43/0.60 = { by lemma 24 } 0.43/0.60 difference(multiply(b, c), multiply(difference(b, a), multiply(b, c))) 0.43/0.60 = { by lemma 22 } 0.43/0.60 difference(multiply(b, c), difference(b, a)) 0.43/0.60 = { by lemma 25 } 0.43/0.60 multiply(c, multiply(b, a)) 0.43/0.60 = { by lemma 5 } 0.43/0.60 multiply(c, multiply(a, b)) 0.43/0.60 = { by lemma 5 } 0.43/0.60 multiply(multiply(a, b), c) 0.43/0.60 % SZS output end Proof 0.43/0.60 0.43/0.60 RESULT: Unsatisfiable (the axioms are contradictory). 0.43/0.60 EOF