0.04/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.14/0.13 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.14/0.34 % Computer : n006.cluster.edu 0.14/0.34 % Model : x86_64 x86_64 0.14/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.14/0.34 % Memory : 8042.1875MB 0.14/0.34 % OS : Linux 3.10.0-693.el7.x86_64 0.14/0.34 % CPULimit : 1200 0.14/0.34 % WCLimit : 120 0.14/0.34 % DateTime : Tue Jul 13 15:05:10 EDT 2021 0.14/0.35 % CPUTime : 1.48/0.57 % SZS status Theorem 1.48/0.57 1.48/0.58 % SZS output start Proof 1.48/0.58 Take the following subset of the input axioms: 1.48/0.58 fof(goals, conjecture, ![X0]: (f(eh)=eg & (opp(f(X0))=f(inv(X0)) | ~g(X0)))). 1.48/0.58 fof(sos02, axiom, ![A]: (g(inv(A)) <= g(A))). 1.48/0.58 fof(sos03, axiom, g(eh)). 1.48/0.58 fof(sos06, axiom, ![A]: (product(A, eh)=A <= g(A))). 1.48/0.58 fof(sos07, axiom, ![A]: (product(A, inv(A))=eh <= g(A))). 1.48/0.58 fof(sos10, axiom, ![A, B]: (h(opp(B)) <= h(A))). 1.48/0.58 fof(sos11, axiom, h(eg)). 1.48/0.58 fof(sos12, axiom, ![A, B, C]: ((h(C) & (h(B) & h(A))) => sum(A, sum(B, C))=sum(sum(A, B), C))). 1.48/0.58 fof(sos13, axiom, ![A]: (A=sum(eg, A) <= h(A))). 1.48/0.58 fof(sos14, axiom, ![A]: (h(A) => A=sum(A, eg))). 1.48/0.58 fof(sos15, axiom, ![A]: (sum(A, opp(A))=eg <= h(A))). 1.48/0.58 fof(sos16, axiom, ![A]: (sum(opp(A), A)=eg <= h(A))). 1.48/0.58 fof(sos17, axiom, ![A]: (h(f(A)) <= g(A))). 1.48/0.58 fof(sos18, axiom, ![A, B]: sum(f(A), f(B))=f(product(A, B))). 1.48/0.58 1.48/0.58 Now clausify the problem and encode Horn clauses using encoding 3 of 1.48/0.58 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 1.48/0.58 We repeatedly replace C & s=t => u=v by the two clauses: 1.48/0.58 fresh(y, y, x1...xn) = u 1.48/0.58 C => fresh(s, t, x1...xn) = v 1.48/0.58 where fresh is a fresh function symbol and x1..xn are the free 1.48/0.58 variables of u and v. 1.48/0.58 A predicate p(X) is encoded as p(X)=true (this is sound, because the 1.48/0.58 input problem has no model of domain size 1). 1.48/0.58 1.48/0.58 The encoding turns the above axioms into the following unit equations and goals: 1.48/0.58 1.48/0.58 Axiom 1 (sos11): h(eg) = true. 1.48/0.58 Axiom 2 (sos03): g(eh) = true. 1.48/0.58 Axiom 3 (goals_1): fresh17(X, X) = true. 1.48/0.58 Axiom 4 (sos06): fresh(X, X, Y) = Y. 1.48/0.58 Axiom 5 (sos02): fresh15(X, X, Y) = true. 1.48/0.58 Axiom 6 (sos07): fresh13(X, X, Y) = eh. 1.48/0.58 Axiom 7 (sos10): fresh9(X, X, Y) = true. 1.48/0.58 Axiom 8 (sos15): fresh7(X, X, Y) = eg. 1.48/0.58 Axiom 9 (sos16): fresh6(X, X, Y) = eg. 1.48/0.58 Axiom 10 (sos17): fresh5(X, X, Y) = true. 1.48/0.58 Axiom 11 (sos14): fresh3(X, X, Y) = Y. 1.48/0.58 Axiom 12 (sos13): fresh2(X, X, Y) = Y. 1.48/0.58 Axiom 13 (goals_1): fresh17(f(eh), eg) = g(x0). 1.48/0.58 Axiom 14 (sos06): fresh(g(X), true, X) = product(X, eh). 1.48/0.58 Axiom 15 (sos02): fresh15(g(X), true, X) = g(inv(X)). 1.48/0.58 Axiom 16 (sos07): fresh13(g(X), true, X) = product(X, inv(X)). 1.48/0.58 Axiom 17 (sos10): fresh9(h(X), true, Y) = h(opp(Y)). 1.48/0.58 Axiom 18 (sos15): fresh7(h(X), true, X) = sum(X, opp(X)). 1.48/0.58 Axiom 19 (sos16): fresh6(h(X), true, X) = sum(opp(X), X). 1.48/0.58 Axiom 20 (sos17): fresh5(g(X), true, X) = h(f(X)). 1.48/0.58 Axiom 21 (sos14): fresh3(h(X), true, X) = sum(X, eg). 1.48/0.58 Axiom 22 (sos13): fresh2(h(X), true, X) = sum(eg, X). 1.48/0.58 Axiom 23 (sos18): sum(f(X), f(Y)) = f(product(X, Y)). 1.48/0.58 Axiom 24 (sos12): fresh22(X, X, Y, Z, W) = sum(sum(W, Z), Y). 1.48/0.58 Axiom 25 (sos12): fresh8(X, X, Y, Z, W) = sum(W, sum(Z, Y)). 1.48/0.58 Axiom 26 (sos12): fresh21(X, X, Y, Z, W) = fresh22(h(Y), true, Y, Z, W). 1.48/0.58 Axiom 27 (sos12): fresh21(h(X), true, Y, Z, X) = fresh8(h(Z), true, Y, Z, X). 1.48/0.58 1.48/0.58 Lemma 28: g(eh) = h(eg). 1.48/0.58 Proof: 1.48/0.58 g(eh) 1.48/0.58 = { by axiom 2 (sos03) } 1.48/0.58 true 1.48/0.58 = { by axiom 1 (sos11) R->L } 1.48/0.58 h(eg) 1.48/0.58 1.48/0.58 Lemma 29: fresh5(g(X), g(eh), X) = h(f(X)). 1.48/0.58 Proof: 1.48/0.58 fresh5(g(X), g(eh), X) 1.48/0.58 = { by lemma 28 } 1.48/0.58 fresh5(g(X), h(eg), X) 1.48/0.58 = { by axiom 1 (sos11) } 1.48/0.58 fresh5(g(X), true, X) 1.48/0.58 = { by axiom 20 (sos17) } 1.48/0.58 h(f(X)) 1.48/0.58 1.48/0.58 Lemma 30: fresh5(X, X, Y) = g(eh). 1.48/0.58 Proof: 1.48/0.58 fresh5(X, X, Y) 1.48/0.58 = { by axiom 10 (sos17) } 1.48/0.58 true 1.48/0.58 = { by axiom 1 (sos11) R->L } 1.48/0.58 h(eg) 1.48/0.58 = { by lemma 28 R->L } 1.48/0.58 g(eh) 1.48/0.58 1.48/0.58 Lemma 31: h(f(eh)) = g(eh). 1.48/0.58 Proof: 1.48/0.58 h(f(eh)) 1.48/0.58 = { by lemma 29 R->L } 1.48/0.58 fresh5(g(eh), g(eh), eh) 1.48/0.58 = { by lemma 30 } 1.48/0.58 g(eh) 1.48/0.58 1.48/0.58 Lemma 32: fresh3(h(X), g(eh), X) = sum(X, eg). 1.48/0.58 Proof: 1.48/0.58 fresh3(h(X), g(eh), X) 1.48/0.58 = { by lemma 28 } 1.48/0.58 fresh3(h(X), h(eg), X) 1.48/0.58 = { by axiom 1 (sos11) } 1.48/0.58 fresh3(h(X), true, X) 1.48/0.58 = { by axiom 21 (sos14) } 1.48/0.58 sum(X, eg) 1.48/0.58 1.48/0.58 Lemma 33: sum(f(eh), opp(f(eh))) = eg. 1.48/0.58 Proof: 1.48/0.58 sum(f(eh), opp(f(eh))) 1.48/0.58 = { by axiom 18 (sos15) R->L } 1.48/0.58 fresh7(h(f(eh)), true, f(eh)) 1.48/0.58 = { by axiom 1 (sos11) R->L } 1.48/0.58 fresh7(h(f(eh)), h(eg), f(eh)) 1.48/0.58 = { by lemma 28 R->L } 1.48/0.58 fresh7(h(f(eh)), g(eh), f(eh)) 1.48/0.58 = { by lemma 31 } 1.48/0.58 fresh7(g(eh), g(eh), f(eh)) 1.48/0.58 = { by axiom 8 (sos15) } 1.48/0.58 eg 1.48/0.58 1.48/0.58 Lemma 34: fresh8(h(Z), g(eh), Y, Z, X) = fresh21(h(X), g(eh), Y, Z, X). 1.48/0.58 Proof: 1.48/0.58 fresh8(h(Z), g(eh), Y, Z, X) 1.48/0.58 = { by lemma 28 } 1.48/0.58 fresh8(h(Z), h(eg), Y, Z, X) 1.48/0.58 = { by axiom 1 (sos11) } 1.48/0.58 fresh8(h(Z), true, Y, Z, X) 1.48/0.58 = { by axiom 27 (sos12) R->L } 1.48/0.58 fresh21(h(X), true, Y, Z, X) 1.48/0.58 = { by axiom 1 (sos11) R->L } 1.48/0.58 fresh21(h(X), h(eg), Y, Z, X) 1.48/0.58 = { by lemma 28 R->L } 1.48/0.58 fresh21(h(X), g(eh), Y, Z, X) 1.48/0.58 1.48/0.58 Lemma 35: fresh22(h(X), g(eh), X, Y, Z) = fresh21(W, W, X, Y, Z). 1.48/0.58 Proof: 1.48/0.58 fresh22(h(X), g(eh), X, Y, Z) 1.48/0.58 = { by lemma 28 } 1.48/0.58 fresh22(h(X), h(eg), X, Y, Z) 1.48/0.58 = { by axiom 1 (sos11) } 1.48/0.58 fresh22(h(X), true, X, Y, Z) 1.48/0.58 = { by axiom 26 (sos12) R->L } 1.48/0.59 fresh21(W, W, X, Y, Z) 1.48/0.59 1.48/0.59 Lemma 36: h(opp(X)) = g(eh). 1.48/0.59 Proof: 1.48/0.59 h(opp(X)) 1.48/0.59 = { by axiom 17 (sos10) R->L } 1.48/0.59 fresh9(h(eg), true, X) 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 fresh9(h(eg), h(eg), X) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 fresh9(h(eg), g(eh), X) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 fresh9(g(eh), g(eh), X) 1.48/0.59 = { by axiom 7 (sos10) } 1.48/0.59 true 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 h(eg) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 g(eh) 1.48/0.59 1.48/0.59 Lemma 37: f(eh) = eg. 1.48/0.59 Proof: 1.48/0.59 f(eh) 1.48/0.59 = { by axiom 11 (sos14) R->L } 1.48/0.59 fresh3(g(eh), g(eh), f(eh)) 1.48/0.59 = { by lemma 31 R->L } 1.48/0.59 fresh3(h(f(eh)), g(eh), f(eh)) 1.48/0.59 = { by lemma 32 } 1.48/0.59 sum(f(eh), eg) 1.48/0.59 = { by lemma 33 R->L } 1.48/0.59 sum(f(eh), sum(f(eh), opp(f(eh)))) 1.48/0.59 = { by axiom 25 (sos12) R->L } 1.48/0.59 fresh8(g(eh), g(eh), opp(f(eh)), f(eh), f(eh)) 1.48/0.59 = { by lemma 31 R->L } 1.48/0.59 fresh8(h(f(eh)), g(eh), opp(f(eh)), f(eh), f(eh)) 1.48/0.59 = { by lemma 34 } 1.48/0.59 fresh21(h(f(eh)), g(eh), opp(f(eh)), f(eh), f(eh)) 1.48/0.59 = { by lemma 31 } 1.48/0.59 fresh21(g(eh), g(eh), opp(f(eh)), f(eh), f(eh)) 1.48/0.59 = { by lemma 35 R->L } 1.48/0.59 fresh22(h(opp(f(eh))), g(eh), opp(f(eh)), f(eh), f(eh)) 1.48/0.59 = { by lemma 36 } 1.48/0.59 fresh22(g(eh), g(eh), opp(f(eh)), f(eh), f(eh)) 1.48/0.59 = { by axiom 24 (sos12) } 1.48/0.59 sum(sum(f(eh), f(eh)), opp(f(eh))) 1.48/0.59 = { by axiom 23 (sos18) } 1.48/0.59 sum(f(product(eh, eh)), opp(f(eh))) 1.48/0.59 = { by axiom 14 (sos06) R->L } 1.48/0.59 sum(f(fresh(g(eh), true, eh)), opp(f(eh))) 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 sum(f(fresh(g(eh), h(eg), eh)), opp(f(eh))) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 sum(f(fresh(g(eh), g(eh), eh)), opp(f(eh))) 1.48/0.59 = { by axiom 4 (sos06) } 1.48/0.59 sum(f(eh), opp(f(eh))) 1.48/0.59 = { by lemma 33 } 1.48/0.59 eg 1.48/0.59 1.48/0.59 Lemma 38: g(eh) = g(x0). 1.48/0.59 Proof: 1.48/0.59 g(eh) 1.48/0.59 = { by lemma 28 } 1.48/0.59 h(eg) 1.48/0.59 = { by axiom 1 (sos11) } 1.48/0.59 true 1.48/0.59 = { by axiom 3 (goals_1) R->L } 1.48/0.59 fresh17(f(eh), f(eh)) 1.48/0.59 = { by lemma 37 } 1.48/0.59 fresh17(f(eh), eg) 1.48/0.59 = { by axiom 13 (goals_1) } 1.48/0.59 g(x0) 1.48/0.59 1.48/0.59 Lemma 39: h(f(x0)) = g(eh). 1.48/0.59 Proof: 1.48/0.59 h(f(x0)) 1.48/0.59 = { by lemma 29 R->L } 1.48/0.59 fresh5(g(x0), g(eh), x0) 1.48/0.59 = { by lemma 38 R->L } 1.48/0.59 fresh5(g(eh), g(eh), x0) 1.48/0.59 = { by lemma 30 } 1.48/0.59 g(eh) 1.48/0.59 1.48/0.59 Lemma 40: h(f(inv(x0))) = g(eh). 1.48/0.59 Proof: 1.48/0.59 h(f(inv(x0))) 1.48/0.59 = { by lemma 29 R->L } 1.48/0.59 fresh5(g(inv(x0)), g(eh), inv(x0)) 1.48/0.59 = { by axiom 15 (sos02) R->L } 1.48/0.59 fresh5(fresh15(g(x0), true, x0), g(eh), inv(x0)) 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 fresh5(fresh15(g(x0), h(eg), x0), g(eh), inv(x0)) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 fresh5(fresh15(g(x0), g(eh), x0), g(eh), inv(x0)) 1.48/0.59 = { by lemma 38 R->L } 1.48/0.59 fresh5(fresh15(g(eh), g(eh), x0), g(eh), inv(x0)) 1.48/0.59 = { by axiom 5 (sos02) } 1.48/0.59 fresh5(true, g(eh), inv(x0)) 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 fresh5(h(eg), g(eh), inv(x0)) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 fresh5(g(eh), g(eh), inv(x0)) 1.48/0.59 = { by lemma 30 } 1.48/0.59 g(eh) 1.48/0.59 1.48/0.59 Goal 1 (goals): tuple(opp(f(x0)), f(eh)) = tuple(f(inv(x0)), eg). 1.48/0.59 Proof: 1.48/0.59 tuple(opp(f(x0)), f(eh)) 1.48/0.59 = { by lemma 37 } 1.48/0.59 tuple(opp(f(x0)), eg) 1.48/0.59 = { by axiom 11 (sos14) R->L } 1.48/0.59 tuple(fresh3(g(eh), g(eh), opp(f(x0))), eg) 1.48/0.59 = { by lemma 36 R->L } 1.48/0.59 tuple(fresh3(h(opp(f(x0))), g(eh), opp(f(x0))), eg) 1.48/0.59 = { by lemma 32 } 1.48/0.59 tuple(sum(opp(f(x0)), eg), eg) 1.48/0.59 = { by lemma 37 R->L } 1.48/0.59 tuple(sum(opp(f(x0)), f(eh)), eg) 1.48/0.59 = { by axiom 6 (sos07) R->L } 1.48/0.59 tuple(sum(opp(f(x0)), f(fresh13(g(eh), g(eh), x0))), eg) 1.48/0.59 = { by lemma 38 } 1.48/0.59 tuple(sum(opp(f(x0)), f(fresh13(g(x0), g(eh), x0))), eg) 1.48/0.59 = { by lemma 28 } 1.48/0.59 tuple(sum(opp(f(x0)), f(fresh13(g(x0), h(eg), x0))), eg) 1.48/0.59 = { by axiom 1 (sos11) } 1.48/0.59 tuple(sum(opp(f(x0)), f(fresh13(g(x0), true, x0))), eg) 1.48/0.59 = { by axiom 16 (sos07) } 1.48/0.59 tuple(sum(opp(f(x0)), f(product(x0, inv(x0)))), eg) 1.48/0.59 = { by axiom 23 (sos18) R->L } 1.48/0.59 tuple(sum(opp(f(x0)), sum(f(x0), f(inv(x0)))), eg) 1.48/0.59 = { by axiom 25 (sos12) R->L } 1.48/0.59 tuple(fresh8(g(eh), g(eh), f(inv(x0)), f(x0), opp(f(x0))), eg) 1.48/0.59 = { by lemma 39 R->L } 1.48/0.59 tuple(fresh8(h(f(x0)), g(eh), f(inv(x0)), f(x0), opp(f(x0))), eg) 1.48/0.59 = { by lemma 34 } 1.48/0.59 tuple(fresh21(h(opp(f(x0))), g(eh), f(inv(x0)), f(x0), opp(f(x0))), eg) 1.48/0.59 = { by lemma 36 } 1.48/0.59 tuple(fresh21(g(eh), g(eh), f(inv(x0)), f(x0), opp(f(x0))), eg) 1.48/0.59 = { by lemma 35 R->L } 1.48/0.59 tuple(fresh22(h(f(inv(x0))), g(eh), f(inv(x0)), f(x0), opp(f(x0))), eg) 1.48/0.59 = { by lemma 40 } 1.48/0.59 tuple(fresh22(g(eh), g(eh), f(inv(x0)), f(x0), opp(f(x0))), eg) 1.48/0.59 = { by axiom 24 (sos12) } 1.48/0.59 tuple(sum(sum(opp(f(x0)), f(x0)), f(inv(x0))), eg) 1.48/0.59 = { by axiom 19 (sos16) R->L } 1.48/0.59 tuple(sum(fresh6(h(f(x0)), true, f(x0)), f(inv(x0))), eg) 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 tuple(sum(fresh6(h(f(x0)), h(eg), f(x0)), f(inv(x0))), eg) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 tuple(sum(fresh6(h(f(x0)), g(eh), f(x0)), f(inv(x0))), eg) 1.48/0.59 = { by lemma 39 } 1.48/0.59 tuple(sum(fresh6(g(eh), g(eh), f(x0)), f(inv(x0))), eg) 1.48/0.59 = { by axiom 9 (sos16) } 1.48/0.59 tuple(sum(eg, f(inv(x0))), eg) 1.48/0.59 = { by axiom 22 (sos13) R->L } 1.48/0.59 tuple(fresh2(h(f(inv(x0))), true, f(inv(x0))), eg) 1.48/0.59 = { by axiom 1 (sos11) R->L } 1.48/0.59 tuple(fresh2(h(f(inv(x0))), h(eg), f(inv(x0))), eg) 1.48/0.59 = { by lemma 28 R->L } 1.48/0.59 tuple(fresh2(h(f(inv(x0))), g(eh), f(inv(x0))), eg) 1.48/0.59 = { by lemma 40 } 1.48/0.59 tuple(fresh2(g(eh), g(eh), f(inv(x0))), eg) 1.48/0.59 = { by axiom 12 (sos13) } 1.48/0.59 tuple(f(inv(x0)), eg) 1.48/0.59 % SZS output end Proof 1.48/0.59 1.48/0.59 RESULT: Theorem (the conjecture is true). 1.48/0.59 EOF