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