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