TSTP Solution File: GRP776+1 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : GRP776+1 : TPTP v8.1.2. Released v4.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof

% Computer : n018.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Thu Aug 31 01:20:04 EDT 2023

% Result   : Theorem 0.19s 0.56s
% Output   : Proof 0.19s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.12  % Problem  : GRP776+1 : TPTP v8.1.2. Released v4.1.0.
% 0.12/0.13  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.13/0.34  % Computer : n018.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Mon Aug 28 20:19:02 EDT 2023
% 0.13/0.34  % CPUTime  : 
% 0.19/0.56  Command-line arguments: --lhs-weight 9 --flip-ordering --complete-subsets --normalise-queue-percent 10 --cp-renormalise-threshold 10
% 0.19/0.56  
% 0.19/0.56  % SZS status Theorem
% 0.19/0.56  
% 0.19/0.58  % SZS output start Proof
% 0.19/0.58  Take the following subset of the input axioms:
% 0.19/0.58    fof(goals, conjecture, ![X0]: (f(eh)=eg & (~g(X0) | f(inv(X0))=opp(f(X0))))).
% 0.19/0.58    fof(sos02, axiom, ![A2]: (g(A2) => g(inv(A2)))).
% 0.19/0.58    fof(sos03, axiom, g(eh)).
% 0.19/0.58    fof(sos05, axiom, ![A2_2]: (g(A2_2) => product(eh, A2_2)=A2_2)).
% 0.19/0.58    fof(sos07, axiom, ![A2_2]: (g(A2_2) => product(A2_2, inv(A2_2))=eh)).
% 0.19/0.58    fof(sos10, axiom, ![B, A]: (h(A) => h(opp(B)))).
% 0.19/0.58    fof(sos11, axiom, h(eg)).
% 0.19/0.58    fof(sos12, axiom, ![C, B2, A2_2]: ((h(A2_2) & (h(B2) & h(C))) => sum(sum(A2_2, B2), C)=sum(A2_2, sum(B2, C)))).
% 0.19/0.58    fof(sos13, axiom, ![A2_2]: (h(A2_2) => sum(eg, A2_2)=A2_2)).
% 0.19/0.58    fof(sos14, axiom, ![A2_2]: (h(A2_2) => sum(A2_2, eg)=A2_2)).
% 0.19/0.58    fof(sos15, axiom, ![A2_2]: (h(A2_2) => sum(A2_2, opp(A2_2))=eg)).
% 0.19/0.58    fof(sos17, axiom, ![A2_2]: (g(A2_2) => h(f(A2_2)))).
% 0.19/0.58    fof(sos18, axiom, ![B2, A3]: f(product(A3, B2))=sum(f(A3), f(B2))).
% 0.19/0.58  
% 0.19/0.58  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.19/0.58  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.19/0.58  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.19/0.58    fresh(y, y, x1...xn) = u
% 0.19/0.58    C => fresh(s, t, x1...xn) = v
% 0.19/0.58  where fresh is a fresh function symbol and x1..xn are the free
% 0.19/0.58  variables of u and v.
% 0.19/0.58  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.19/0.58  input problem has no model of domain size 1).
% 0.19/0.58  
% 0.19/0.58  The encoding turns the above axioms into the following unit equations and goals:
% 0.19/0.58  
% 0.19/0.58  Axiom 1 (sos03): g(eh) = true.
% 0.19/0.58  Axiom 2 (sos11): h(eg) = true.
% 0.19/0.58  Axiom 3 (goals_1): fresh17(X, X) = true.
% 0.19/0.58  Axiom 4 (sos14): fresh(X, X, Y) = Y.
% 0.19/0.58  Axiom 5 (goals_1): fresh17(f(eh), eg) = g(x0).
% 0.19/0.58  Axiom 6 (sos02): fresh15(X, X, Y) = true.
% 0.19/0.58  Axiom 7 (sos07): fresh13(X, X, Y) = eh.
% 0.19/0.58  Axiom 8 (sos10): fresh9(X, X, Y) = true.
% 0.19/0.58  Axiom 9 (sos15): fresh7(X, X, Y) = eg.
% 0.19/0.58  Axiom 10 (sos17): fresh5(X, X, Y) = true.
% 0.19/0.58  Axiom 11 (sos05): fresh4(X, X, Y) = Y.
% 0.19/0.58  Axiom 12 (sos13): fresh2(X, X, Y) = Y.
% 0.19/0.58  Axiom 13 (sos18): f(product(X, Y)) = sum(f(X), f(Y)).
% 0.19/0.58  Axiom 14 (sos14): fresh(h(X), true, X) = sum(X, eg).
% 0.19/0.58  Axiom 15 (sos02): fresh15(g(X), true, X) = g(inv(X)).
% 0.19/0.58  Axiom 16 (sos07): fresh13(g(X), true, X) = product(X, inv(X)).
% 0.19/0.58  Axiom 17 (sos10): fresh9(h(X), true, Y) = h(opp(Y)).
% 0.19/0.58  Axiom 18 (sos15): fresh7(h(X), true, X) = sum(X, opp(X)).
% 0.19/0.58  Axiom 19 (sos17): fresh5(g(X), true, X) = h(f(X)).
% 0.19/0.58  Axiom 20 (sos05): fresh4(g(X), true, X) = product(eh, X).
% 0.19/0.58  Axiom 21 (sos13): fresh2(h(X), true, X) = sum(eg, X).
% 0.19/0.58  Axiom 22 (sos12): fresh20(X, X, Y, Z, W) = sum(W, sum(Z, Y)).
% 0.19/0.58  Axiom 23 (sos12): fresh8(X, X, Y, Z, W) = sum(sum(W, Z), Y).
% 0.19/0.58  Axiom 24 (sos12): fresh19(X, X, Y, Z, W) = fresh20(h(Y), true, Y, Z, W).
% 0.19/0.58  Axiom 25 (sos12): fresh19(h(X), true, Y, Z, X) = fresh8(h(Z), true, Y, Z, X).
% 0.19/0.58  
% 0.19/0.58  Lemma 26: h(f(eh)) = true.
% 0.19/0.58  Proof:
% 0.19/0.58    h(f(eh))
% 0.19/0.58  = { by axiom 19 (sos17) R->L }
% 0.19/0.58    fresh5(g(eh), true, eh)
% 0.19/0.58  = { by axiom 1 (sos03) }
% 0.19/0.58    fresh5(true, true, eh)
% 0.19/0.58  = { by axiom 10 (sos17) }
% 0.19/0.58    true
% 0.19/0.58  
% 0.19/0.58  Lemma 27: sum(f(eh), opp(f(eh))) = eg.
% 0.19/0.58  Proof:
% 0.19/0.58    sum(f(eh), opp(f(eh)))
% 0.19/0.58  = { by axiom 18 (sos15) R->L }
% 0.19/0.58    fresh7(h(f(eh)), true, f(eh))
% 0.19/0.58  = { by lemma 26 }
% 0.19/0.58    fresh7(true, true, f(eh))
% 0.19/0.58  = { by axiom 9 (sos15) }
% 0.19/0.58    eg
% 0.19/0.58  
% 0.19/0.58  Lemma 28: h(opp(X)) = true.
% 0.19/0.58  Proof:
% 0.19/0.58    h(opp(X))
% 0.19/0.58  = { by axiom 17 (sos10) R->L }
% 0.19/0.58    fresh9(h(eg), true, X)
% 0.19/0.58  = { by axiom 2 (sos11) }
% 0.19/0.58    fresh9(true, true, X)
% 0.19/0.58  = { by axiom 8 (sos10) }
% 0.19/0.58    true
% 0.19/0.58  
% 0.19/0.58  Lemma 29: fresh19(X, X, opp(Y), Z, W) = sum(W, sum(Z, opp(Y))).
% 0.19/0.58  Proof:
% 0.19/0.58    fresh19(X, X, opp(Y), Z, W)
% 0.19/0.58  = { by axiom 24 (sos12) }
% 0.19/0.58    fresh20(h(opp(Y)), true, opp(Y), Z, W)
% 0.19/0.58  = { by lemma 28 }
% 0.19/0.58    fresh20(true, true, opp(Y), Z, W)
% 0.19/0.58  = { by axiom 22 (sos12) }
% 0.19/0.58    sum(W, sum(Z, opp(Y)))
% 0.19/0.58  
% 0.19/0.58  Lemma 30: f(eh) = eg.
% 0.19/0.58  Proof:
% 0.19/0.58    f(eh)
% 0.19/0.58  = { by axiom 4 (sos14) R->L }
% 0.19/0.58    fresh(true, true, f(eh))
% 0.19/0.58  = { by lemma 26 R->L }
% 0.19/0.58    fresh(h(f(eh)), true, f(eh))
% 0.19/0.58  = { by axiom 14 (sos14) }
% 0.19/0.58    sum(f(eh), eg)
% 0.19/0.58  = { by lemma 27 R->L }
% 0.19/0.58    sum(f(eh), sum(f(eh), opp(f(eh))))
% 0.19/0.58  = { by lemma 29 R->L }
% 0.19/0.58    fresh19(true, true, opp(f(eh)), f(eh), f(eh))
% 0.19/0.58  = { by lemma 26 R->L }
% 0.19/0.58    fresh19(h(f(eh)), true, opp(f(eh)), f(eh), f(eh))
% 0.19/0.58  = { by axiom 25 (sos12) }
% 0.19/0.58    fresh8(h(f(eh)), true, opp(f(eh)), f(eh), f(eh))
% 0.19/0.58  = { by lemma 26 }
% 0.19/0.58    fresh8(true, true, opp(f(eh)), f(eh), f(eh))
% 0.19/0.58  = { by axiom 23 (sos12) }
% 0.19/0.58    sum(sum(f(eh), f(eh)), opp(f(eh)))
% 0.19/0.58  = { by axiom 13 (sos18) R->L }
% 0.19/0.58    sum(f(product(eh, eh)), opp(f(eh)))
% 0.19/0.58  = { by axiom 20 (sos05) R->L }
% 0.19/0.58    sum(f(fresh4(g(eh), true, eh)), opp(f(eh)))
% 0.19/0.58  = { by axiom 1 (sos03) }
% 0.19/0.58    sum(f(fresh4(true, true, eh)), opp(f(eh)))
% 0.19/0.58  = { by axiom 11 (sos05) }
% 0.19/0.58    sum(f(eh), opp(f(eh)))
% 0.19/0.58  = { by lemma 27 }
% 0.19/0.58    eg
% 0.19/0.58  
% 0.19/0.58  Lemma 31: g(x0) = true.
% 0.19/0.58  Proof:
% 0.19/0.58    g(x0)
% 0.19/0.58  = { by axiom 5 (goals_1) R->L }
% 0.19/0.58    fresh17(f(eh), eg)
% 0.19/0.58  = { by lemma 30 }
% 0.19/0.58    fresh17(eg, eg)
% 0.19/0.58  = { by axiom 3 (goals_1) }
% 0.19/0.58    true
% 0.19/0.58  
% 0.19/0.58  Lemma 32: h(f(x0)) = true.
% 0.19/0.58  Proof:
% 0.19/0.58    h(f(x0))
% 0.19/0.58  = { by axiom 19 (sos17) R->L }
% 0.19/0.58    fresh5(g(x0), true, x0)
% 0.19/0.58  = { by lemma 31 }
% 0.19/0.58    fresh5(true, true, x0)
% 0.19/0.58  = { by axiom 10 (sos17) }
% 0.19/0.58    true
% 0.19/0.58  
% 0.19/0.58  Lemma 33: h(f(inv(x0))) = true.
% 0.19/0.58  Proof:
% 0.19/0.58    h(f(inv(x0)))
% 0.19/0.58  = { by axiom 19 (sos17) R->L }
% 0.19/0.58    fresh5(g(inv(x0)), true, inv(x0))
% 0.19/0.58  = { by axiom 15 (sos02) R->L }
% 0.19/0.58    fresh5(fresh15(g(x0), true, x0), true, inv(x0))
% 0.19/0.58  = { by lemma 31 }
% 0.19/0.58    fresh5(fresh15(true, true, x0), true, inv(x0))
% 0.19/0.58  = { by axiom 6 (sos02) }
% 0.19/0.58    fresh5(true, true, inv(x0))
% 0.19/0.58  = { by axiom 10 (sos17) }
% 0.19/0.58    true
% 0.19/0.58  
% 0.19/0.58  Lemma 34: sum(opp(X), opp(opp(X))) = eg.
% 0.19/0.58  Proof:
% 0.19/0.58    sum(opp(X), opp(opp(X)))
% 0.19/0.58  = { by axiom 18 (sos15) R->L }
% 0.19/0.58    fresh7(h(opp(X)), true, opp(X))
% 0.19/0.58  = { by lemma 28 }
% 0.19/0.58    fresh7(true, true, opp(X))
% 0.19/0.58  = { by axiom 9 (sos15) }
% 0.19/0.58    eg
% 0.19/0.58  
% 0.19/0.58  Lemma 35: fresh19(h(X), true, Y, opp(Z), X) = sum(sum(X, opp(Z)), Y).
% 0.19/0.58  Proof:
% 0.19/0.58    fresh19(h(X), true, Y, opp(Z), X)
% 0.19/0.58  = { by axiom 25 (sos12) }
% 0.19/0.58    fresh8(h(opp(Z)), true, Y, opp(Z), X)
% 0.19/0.58  = { by lemma 28 }
% 0.19/0.58    fresh8(true, true, Y, opp(Z), X)
% 0.19/0.58  = { by axiom 23 (sos12) }
% 0.19/0.58    sum(sum(X, opp(Z)), Y)
% 0.19/0.58  
% 0.19/0.58  Goal 1 (goals): tuple(f(inv(x0)), f(eh)) = tuple(opp(f(x0)), eg).
% 0.19/0.58  Proof:
% 0.19/0.58    tuple(f(inv(x0)), f(eh))
% 0.19/0.58  = { by axiom 12 (sos13) R->L }
% 0.19/0.58    tuple(fresh2(true, true, f(inv(x0))), f(eh))
% 0.19/0.58  = { by lemma 33 R->L }
% 0.19/0.58    tuple(fresh2(h(f(inv(x0))), true, f(inv(x0))), f(eh))
% 0.19/0.58  = { by axiom 21 (sos13) }
% 0.19/0.58    tuple(sum(eg, f(inv(x0))), f(eh))
% 0.19/0.58  = { by lemma 34 R->L }
% 0.19/0.58    tuple(sum(sum(opp(f(x0)), opp(opp(f(x0)))), f(inv(x0))), f(eh))
% 0.19/0.58  = { by lemma 35 R->L }
% 0.19/0.58    tuple(fresh19(h(opp(f(x0))), true, f(inv(x0)), opp(opp(f(x0))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 28 }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), opp(opp(f(x0))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 12 (sos13) R->L }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), fresh2(true, true, opp(opp(f(x0)))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 28 R->L }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), fresh2(h(opp(opp(f(x0)))), true, opp(opp(f(x0)))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 21 (sos13) }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), sum(eg, opp(opp(f(x0)))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 9 (sos15) R->L }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), sum(fresh7(true, true, f(x0)), opp(opp(f(x0)))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 32 R->L }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), sum(fresh7(h(f(x0)), true, f(x0)), opp(opp(f(x0)))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 18 (sos15) }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), sum(sum(f(x0), opp(f(x0))), opp(opp(f(x0)))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 35 R->L }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), fresh19(h(f(x0)), true, opp(opp(f(x0))), opp(f(x0)), f(x0)), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 32 }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), fresh19(true, true, opp(opp(f(x0))), opp(f(x0)), f(x0)), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 29 }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), sum(f(x0), sum(opp(f(x0)), opp(opp(f(x0))))), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 34 }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), sum(f(x0), eg), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 14 (sos14) R->L }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), fresh(h(f(x0)), true, f(x0)), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 32 }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), fresh(true, true, f(x0)), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 4 (sos14) }
% 0.19/0.58    tuple(fresh19(true, true, f(inv(x0)), f(x0), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 24 (sos12) }
% 0.19/0.58    tuple(fresh20(h(f(inv(x0))), true, f(inv(x0)), f(x0), opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 33 }
% 0.19/0.58    tuple(fresh20(true, true, f(inv(x0)), f(x0), opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 22 (sos12) }
% 0.19/0.58    tuple(sum(opp(f(x0)), sum(f(x0), f(inv(x0)))), f(eh))
% 0.19/0.58  = { by axiom 13 (sos18) R->L }
% 0.19/0.58    tuple(sum(opp(f(x0)), f(product(x0, inv(x0)))), f(eh))
% 0.19/0.58  = { by axiom 16 (sos07) R->L }
% 0.19/0.58    tuple(sum(opp(f(x0)), f(fresh13(g(x0), true, x0))), f(eh))
% 0.19/0.58  = { by lemma 31 }
% 0.19/0.58    tuple(sum(opp(f(x0)), f(fresh13(true, true, x0))), f(eh))
% 0.19/0.58  = { by axiom 7 (sos07) }
% 0.19/0.58    tuple(sum(opp(f(x0)), f(eh)), f(eh))
% 0.19/0.58  = { by lemma 30 }
% 0.19/0.58    tuple(sum(opp(f(x0)), eg), f(eh))
% 0.19/0.58  = { by axiom 14 (sos14) R->L }
% 0.19/0.58    tuple(fresh(h(opp(f(x0))), true, opp(f(x0))), f(eh))
% 0.19/0.58  = { by lemma 28 }
% 0.19/0.58    tuple(fresh(true, true, opp(f(x0))), f(eh))
% 0.19/0.58  = { by axiom 4 (sos14) }
% 0.19/0.58    tuple(opp(f(x0)), f(eh))
% 0.19/0.58  = { by lemma 30 }
% 0.19/0.58    tuple(opp(f(x0)), eg)
% 0.19/0.58  % SZS output end Proof
% 0.19/0.58  
% 0.19/0.58  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------