0.00/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.12/0.12 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.12/0.34 % Computer : n003.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 13:03:32 EDT 2019 0.19/0.34 % CPUTime : 3.32/3.50 % SZS status Unsatisfiable 3.32/3.50 3.32/3.50 % SZS output start Proof 3.32/3.50 Take the following subset of the input axioms: 3.32/3.50 fof(f01, axiom, ![A, B]: mult(A, ld(A, B))=B). 3.32/3.50 fof(f02, axiom, ![A, B]: ld(A, mult(A, B))=B). 3.32/3.50 fof(f03, axiom, ![A, B]: mult(rd(A, B), B)=A). 3.32/3.50 fof(f04, axiom, ![A, B]: rd(mult(A, B), B)=A). 3.32/3.50 fof(f05, axiom, ![A, B, C]: mult(mult(A, B), mult(mult(A, A), C))=mult(mult(A, mult(A, A)), mult(B, C))). 3.32/3.50 fof(f06, axiom, ![A, B, C]: mult(mult(A, B), mult(A, C))=mult(mult(A, A), mult(B, C))). 3.32/3.50 fof(f07, axiom, ![A, B, C]: mult(mult(A, C), mult(B, C))=mult(mult(A, B), mult(C, C))). 3.32/3.50 fof(goals, negated_conjecture, mult(mult(rd(a, a), b), mult(a, c))!=mult(a, mult(b, c))). 3.32/3.50 3.32/3.50 Now clausify the problem and encode Horn clauses using encoding 3 of 3.32/3.50 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 3.32/3.50 We repeatedly replace C & s=t => u=v by the two clauses: 3.32/3.50 fresh(y, y, x1...xn) = u 3.32/3.50 C => fresh(s, t, x1...xn) = v 3.32/3.50 where fresh is a fresh function symbol and x1..xn are the free 3.32/3.50 variables of u and v. 3.32/3.50 A predicate p(X) is encoded as p(X)=true (this is sound, because the 3.32/3.50 input problem has no model of domain size 1). 3.32/3.50 3.32/3.50 The encoding turns the above axioms into the following unit equations and goals: 3.32/3.50 3.32/3.50 Axiom 1 (f07): mult(mult(X, Y), mult(Z, Y)) = mult(mult(X, Z), mult(Y, Y)). 3.32/3.50 Axiom 2 (f03): mult(rd(X, Y), Y) = X. 3.32/3.50 Axiom 3 (f02): ld(X, mult(X, Y)) = Y. 3.32/3.50 Axiom 4 (f04): rd(mult(X, Y), Y) = X. 3.32/3.50 Axiom 5 (f01): mult(X, ld(X, Y)) = Y. 3.32/3.50 Axiom 6 (f06): mult(mult(X, Y), mult(X, Z)) = mult(mult(X, X), mult(Y, Z)). 3.32/3.50 Axiom 7 (f05): mult(mult(X, Y), mult(mult(X, X), Z)) = mult(mult(X, mult(X, X)), mult(Y, Z)). 3.32/3.50 3.32/3.50 Lemma 8: rd(mult(X, mult(Z, Z)), Y) = mult(rd(X, rd(Y, Z)), Z). 3.32/3.50 Proof: 3.32/3.50 rd(mult(X, mult(Z, Z)), Y) 3.32/3.50 = { by axiom 2 (f03) } 3.32/3.50 rd(mult(mult(rd(X, rd(Y, Z)), rd(Y, Z)), mult(Z, Z)), Y) 3.32/3.50 = { by axiom 1 (f07) } 3.32/3.50 rd(mult(mult(rd(X, rd(Y, Z)), Z), mult(rd(Y, Z), Z)), Y) 3.32/3.50 = { by axiom 2 (f03) } 3.32/3.50 rd(mult(mult(rd(X, rd(Y, Z)), Z), Y), Y) 3.32/3.50 = { by axiom 4 (f04) } 3.32/3.50 mult(rd(X, rd(Y, Z)), Z) 3.32/3.50 3.32/3.50 Goal 1 (goals): mult(mult(rd(a, a), b), mult(a, c)) = mult(a, mult(b, c)). 3.32/3.50 Proof: 3.32/3.50 mult(mult(rd(a, a), b), mult(a, c)) 3.32/3.50 = { by axiom 4 (f04) } 3.32/3.50 mult(mult(rd(a, rd(mult(a, b), b)), b), mult(a, c)) 3.32/3.50 = { by axiom 4 (f04) } 3.32/3.50 mult(mult(rd(a, rd(mult(a, rd(mult(b, c), c)), b)), b), mult(a, c)) 3.32/3.50 = { by axiom 3 (f02) } 3.32/3.50 mult(mult(rd(a, rd(mult(a, rd(mult(b, c), ld(a, mult(a, c)))), b)), b), mult(a, c)) 3.32/3.50 = { by axiom 4 (f04) } 3.32/3.50 mult(mult(rd(a, rd(rd(mult(mult(a, rd(mult(b, c), ld(a, mult(a, c)))), mult(a, c)), mult(a, c)), b)), b), mult(a, c)) 3.32/3.50 = { by axiom 5 (f01) } 3.32/3.50 mult(mult(rd(a, rd(rd(mult(mult(a, rd(mult(b, c), ld(a, mult(a, c)))), mult(a, ld(a, mult(a, c)))), mult(a, c)), b)), b), mult(a, c)) 3.32/3.50 = { by axiom 6 (f06) } 3.32/3.50 mult(mult(rd(a, rd(rd(mult(mult(a, a), mult(rd(mult(b, c), ld(a, mult(a, c))), ld(a, mult(a, c)))), mult(a, c)), b)), b), mult(a, c)) 3.32/3.50 = { by axiom 2 (f03) } 3.32/3.50 mult(mult(rd(a, rd(rd(mult(mult(a, a), mult(b, c)), mult(a, c)), b)), b), mult(a, c)) 3.32/3.50 = { by lemma 8 } 3.32/3.50 mult(rd(mult(a, mult(b, b)), rd(mult(mult(a, a), mult(b, c)), mult(a, c))), mult(a, c)) 3.32/3.50 = { by lemma 8 } 3.32/3.50 rd(mult(mult(a, mult(b, b)), mult(mult(a, c), mult(a, c))), mult(mult(a, a), mult(b, c))) 3.32/3.50 = { by axiom 6 (f06) } 3.32/3.50 rd(mult(mult(a, mult(b, b)), mult(mult(a, a), mult(c, c))), mult(mult(a, a), mult(b, c))) 3.32/3.50 = { by axiom 7 (f05) } 3.32/3.50 rd(mult(mult(a, mult(a, a)), mult(mult(b, b), mult(c, c))), mult(mult(a, a), mult(b, c))) 3.32/3.50 = { by axiom 1 (f07) } 3.32/3.50 rd(mult(mult(a, mult(a, a)), mult(mult(b, c), mult(b, c))), mult(mult(a, a), mult(b, c))) 3.32/3.50 = { by axiom 1 (f07) } 3.32/3.50 rd(mult(mult(a, mult(b, c)), mult(mult(a, a), mult(b, c))), mult(mult(a, a), mult(b, c))) 3.32/3.50 = { by axiom 4 (f04) } 3.32/3.50 mult(a, mult(b, c)) 3.32/3.50 % SZS output end Proof 3.32/3.50 3.32/3.50 RESULT: Unsatisfiable (the axioms are contradictory). 3.34/3.51 EOF