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