0.07/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.07/0.14 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.13/0.35 % Computer : n009.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 10:05:27 EDT 2019 0.13/0.36 % CPUTime : 0.13/0.37 % SZS status Unsatisfiable 0.13/0.37 0.13/0.37 % SZS output start Proof 0.13/0.37 Take the following subset of the input axioms: 0.13/0.37 fof(multiply, axiom, ![A, B]: multiply(A, B)=divide(A, inverse(B))). 0.13/0.37 fof(prove_these_axioms_2, negated_conjecture, multiply(multiply(inverse(b2), b2), a2)!=a2). 0.13/0.37 fof(single_axiom, axiom, ![A, B, C, D]: divide(divide(A, A), divide(B, divide(divide(C, divide(D, B)), inverse(D))))=C). 0.13/0.37 0.13/0.37 Now clausify the problem and encode Horn clauses using encoding 3 of 0.13/0.37 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.13/0.37 We repeatedly replace C & s=t => u=v by the two clauses: 0.13/0.37 fresh(y, y, x1...xn) = u 0.13/0.37 C => fresh(s, t, x1...xn) = v 0.13/0.37 where fresh is a fresh function symbol and x1..xn are the free 0.13/0.37 variables of u and v. 0.13/0.37 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.13/0.37 input problem has no model of domain size 1). 0.13/0.37 0.13/0.37 The encoding turns the above axioms into the following unit equations and goals: 0.13/0.37 0.13/0.37 Axiom 1 (single_axiom): divide(divide(X, X), divide(Y, divide(divide(Z, divide(W, Y)), inverse(W)))) = Z. 0.13/0.37 Axiom 2 (multiply): multiply(X, Y) = divide(X, inverse(Y)). 0.13/0.37 0.13/0.37 Lemma 3: divide(divide(Y, Y), divide(Z, multiply(divide(X, divide(W, Z)), W))) = X. 0.13/0.37 Proof: 0.13/0.37 divide(divide(Y, Y), divide(Z, multiply(divide(X, divide(W, Z)), W))) 0.13/0.37 = { by axiom 2 (multiply) } 0.13/0.37 divide(divide(Y, Y), divide(Z, divide(divide(X, divide(W, Z)), inverse(W)))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 X 0.13/0.37 0.13/0.37 Lemma 4: divide(X, X) = divide(?, ?). 0.13/0.37 Proof: 0.13/0.37 divide(X, X) 0.13/0.37 = { by lemma 3 } 0.13/0.37 divide(divide(Y, Y), divide(divide(divide(Z, divide(W, V)), inverse(W)), multiply(divide(divide(X, X), divide(V, divide(divide(Z, divide(W, V)), inverse(W)))), V))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 divide(divide(Y, Y), divide(divide(divide(Z, divide(W, V)), inverse(W)), multiply(Z, V))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 divide(divide(Y, Y), divide(divide(divide(Z, divide(W, V)), inverse(W)), multiply(divide(divide(?, ?), divide(V, divide(divide(Z, divide(W, V)), inverse(W)))), V))) 0.13/0.37 = { by lemma 3 } 0.13/0.37 divide(?, ?) 0.13/0.37 0.13/0.37 Lemma 5: divide(divide(?, ?), divide(Y, multiply(divide(?, ?), X))) = divide(X, Y). 0.13/0.37 Proof: 0.13/0.37 divide(divide(?, ?), divide(Y, multiply(divide(?, ?), X))) 0.13/0.37 = { by axiom 2 (multiply) } 0.13/0.37 divide(divide(?, ?), divide(Y, divide(divide(?, ?), inverse(X)))) 0.13/0.37 = { by lemma 4 } 0.13/0.37 divide(divide(?, ?), divide(Y, divide(divide(divide(X, Y), divide(X, Y)), inverse(X)))) 0.13/0.37 = { by axiom 1 (single_axiom) } 0.13/0.37 divide(X, Y) 0.13/0.37 0.13/0.37 Goal 1 (prove_these_axioms_2): multiply(multiply(inverse(b2), b2), a2) = a2. 0.13/0.37 Proof: 0.13/0.37 multiply(multiply(inverse(b2), b2), a2) 0.13/0.37 = { by axiom 2 (multiply) } 0.13/0.37 multiply(divide(inverse(b2), inverse(b2)), a2) 0.13/0.37 = { by lemma 4 } 0.13/0.37 multiply(divide(?, ?), a2) 0.13/0.37 = { by axiom 2 (multiply) } 0.13/0.37 divide(divide(?, ?), inverse(a2)) 0.13/0.37 = { by lemma 5 } 0.13/0.37 divide(divide(?, ?), divide(inverse(a2), multiply(divide(?, ?), divide(?, ?)))) 0.13/0.37 = { by lemma 4 } 0.13/0.37 divide(divide(?, ?), divide(inverse(a2), multiply(divide(divide(?, ?), divide(?, ?)), divide(?, ?)))) 0.13/0.37 = { by lemma 4 } 0.13/0.38 divide(divide(?, ?), divide(inverse(a2), multiply(divide(divide(?, ?), divide(multiply(divide(?, ?), a2), multiply(divide(?, ?), a2))), divide(?, ?)))) 0.13/0.38 = { by lemma 5 } 0.13/0.38 divide(divide(?, ?), divide(inverse(a2), multiply(divide(a2, multiply(divide(?, ?), a2)), divide(?, ?)))) 0.13/0.38 = { by axiom 2 (multiply) } 0.13/0.38 divide(divide(?, ?), divide(inverse(a2), divide(divide(a2, multiply(divide(?, ?), a2)), inverse(divide(?, ?))))) 0.13/0.38 = { by axiom 2 (multiply) } 0.13/0.38 divide(divide(?, ?), divide(inverse(a2), divide(divide(a2, divide(divide(?, ?), inverse(a2))), inverse(divide(?, ?))))) 0.13/0.38 = { by axiom 1 (single_axiom) } 0.13/0.38 a2 0.13/0.38 % SZS output end Proof 0.13/0.38 0.13/0.38 RESULT: Unsatisfiable (the axioms are contradictory). 0.13/0.38 EOF