TSTP Solution File: COM018+4 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : COM018+4 : TPTP v8.1.2. Released v4.0.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 : n021.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 : Wed Aug 30 18:45:22 EDT 2023

% Result   : Theorem 0.20s 0.64s
% Output   : Proof 1.86s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.13/0.13  % Problem  : COM018+4 : TPTP v8.1.2. Released v4.0.0.
% 0.13/0.14  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.14/0.35  % Computer : n021.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit : 300
% 0.14/0.35  % WCLimit  : 300
% 0.14/0.35  % DateTime : Tue Aug 29 12:58:14 EDT 2023
% 0.14/0.35  % CPUTime  : 
% 0.20/0.64  Command-line arguments: --kbo-weight0 --lhs-weight 5 --flip-ordering --normalise-queue-percent 10 --cp-renormalise-threshold 10 --goal-heuristic
% 0.20/0.64  
% 0.20/0.64  % SZS status Theorem
% 0.20/0.64  
% 1.86/0.64  % SZS output start Proof
% 1.86/0.64  Take the following subset of the input axioms:
% 1.86/0.65    fof(mNFRDef, definition, ![W0, W1]: ((aElement0(W0) & aRewritingSystem0(W1)) => ![W2]: (aNormalFormOfIn0(W2, W0, W1) <=> (aElement0(W2) & (sdtmndtasgtdt0(W0, W1, W2) & ~?[W3]: aReductOfIn0(W3, W2, W1)))))).
% 1.86/0.65    fof(mTermNF, axiom, ![W0_2]: ((aRewritingSystem0(W0_2) & isTerminating0(W0_2)) => ![W1_2]: (aElement0(W1_2) => ?[W2_2]: aNormalFormOfIn0(W2_2, W1_2, W0_2)))).
% 1.86/0.65    fof(m__, conjecture, ?[W0_2]: ((aElement0(W0_2) & ((xw=W0_2 | (aReductOfIn0(W0_2, xw, xR) | (?[W1_2]: (aElement0(W1_2) & (aReductOfIn0(W1_2, xw, xR) & sdtmndtplgtdt0(W1_2, xR, W0_2))) | (sdtmndtplgtdt0(xw, xR, W0_2) | sdtmndtasgtdt0(xw, xR, W0_2))))) & ~?[W1_2]: aReductOfIn0(W1_2, W0_2, xR))) | aNormalFormOfIn0(W0_2, xw, xR))).
% 1.86/0.65    fof(m__656, hypothesis, aRewritingSystem0(xR)).
% 1.86/0.65    fof(m__656_01, hypothesis, ![W0_2, W1_2, W2_2]: ((aElement0(W0_2) & (aElement0(W1_2) & (aElement0(W2_2) & (aReductOfIn0(W1_2, W0_2, xR) & aReductOfIn0(W2_2, W0_2, xR))))) => ?[W3_2]: (aElement0(W3_2) & ((W1_2=W3_2 | ((aReductOfIn0(W3_2, W1_2, xR) | ?[W4]: (aElement0(W4) & (aReductOfIn0(W4, W1_2, xR) & sdtmndtplgtdt0(W4, xR, W3_2)))) & sdtmndtplgtdt0(W1_2, xR, W3_2))) & (sdtmndtasgtdt0(W1_2, xR, W3_2) & ((W2_2=W3_2 | ((aReductOfIn0(W3_2, W2_2, xR) | ?[W4_2]: (aElement0(W4_2) & (aReductOfIn0(W4_2, W2_2, xR) & sdtmndtplgtdt0(W4_2, xR, W3_2)))) & sdtmndtplgtdt0(W2_2, xR, W3_2))) & sdtmndtasgtdt0(W2_2, xR, W3_2)))))) & (isLocallyConfluent0(xR) & (![W0_2, W1_2]: ((aElement0(W0_2) & aElement0(W1_2)) => ((aReductOfIn0(W1_2, W0_2, xR) | (?[W2_2]: (aElement0(W2_2) & (aReductOfIn0(W2_2, W0_2, xR) & sdtmndtplgtdt0(W2_2, xR, W1_2))) | sdtmndtplgtdt0(W0_2, xR, W1_2))) => iLess0(W1_2, W0_2))) & isTerminating0(xR)))).
% 1.86/0.65    fof(m__715, hypothesis, ![W0_2, W1_2, W2_2]: ((aElement0(W0_2) & (aElement0(W1_2) & (aElement0(W2_2) & ((W0_2=W1_2 | (aReductOfIn0(W1_2, W0_2, xR) | (?[W3_2]: (aElement0(W3_2) & (aReductOfIn0(W3_2, W0_2, xR) & sdtmndtplgtdt0(W3_2, xR, W1_2))) | (sdtmndtplgtdt0(W0_2, xR, W1_2) | sdtmndtasgtdt0(W0_2, xR, W1_2))))) & (W0_2=W2_2 | (aReductOfIn0(W2_2, W0_2, xR) | (?[W3_2]: (aElement0(W3_2) & (aReductOfIn0(W3_2, W0_2, xR) & sdtmndtplgtdt0(W3_2, xR, W2_2))) | (sdtmndtplgtdt0(W0_2, xR, W2_2) | sdtmndtasgtdt0(W0_2, xR, W2_2))))))))) => (iLess0(W0_2, xa) => ?[W3_2]: (aElement0(W3_2) & ((W1_2=W3_2 | ((aReductOfIn0(W3_2, W1_2, xR) | ?[W4_2]: (aElement0(W4_2) & (aReductOfIn0(W4_2, W1_2, xR) & sdtmndtplgtdt0(W4_2, xR, W3_2)))) & sdtmndtplgtdt0(W1_2, xR, W3_2))) & (sdtmndtasgtdt0(W1_2, xR, W3_2) & ((W2_2=W3_2 | ((aReductOfIn0(W3_2, W2_2, xR) | ?[W4_2]: (aElement0(W4_2) & (aReductOfIn0(W4_2, W2_2, xR) & sdtmndtplgtdt0(W4_2, xR, W3_2)))) & sdtmndtplgtdt0(W2_2, xR, W3_2))) & sdtmndtasgtdt0(W2_2, xR, W3_2)))))))).
% 1.86/0.65    fof(m__799, hypothesis, aElement0(xw) & ((xu=xw | ((aReductOfIn0(xw, xu, xR) | ?[W0_2]: (aElement0(W0_2) & (aReductOfIn0(W0_2, xu, xR) & sdtmndtplgtdt0(W0_2, xR, xw)))) & sdtmndtplgtdt0(xu, xR, xw))) & (sdtmndtasgtdt0(xu, xR, xw) & ((xv=xw | ((aReductOfIn0(xw, xv, xR) | ?[W0_2]: (aElement0(W0_2) & (aReductOfIn0(W0_2, xv, xR) & sdtmndtplgtdt0(W0_2, xR, xw)))) & sdtmndtplgtdt0(xv, xR, xw))) & sdtmndtasgtdt0(xv, xR, xw))))).
% 1.86/0.65  
% 1.86/0.65  Now clausify the problem and encode Horn clauses using encoding 3 of
% 1.86/0.65  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 1.86/0.65  We repeatedly replace C & s=t => u=v by the two clauses:
% 1.86/0.65    fresh(y, y, x1...xn) = u
% 1.86/0.65    C => fresh(s, t, x1...xn) = v
% 1.86/0.65  where fresh is a fresh function symbol and x1..xn are the free
% 1.86/0.65  variables of u and v.
% 1.86/0.65  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 1.86/0.65  input problem has no model of domain size 1).
% 1.86/0.65  
% 1.86/0.65  The encoding turns the above axioms into the following unit equations and goals:
% 1.86/0.65  
% 1.86/0.65  Axiom 1 (m__799_8): aElement0(xw) = true2.
% 1.86/0.65  Axiom 2 (m__656): aRewritingSystem0(xR) = true2.
% 1.86/0.65  Axiom 3 (m__656_01_1): isTerminating0(xR) = true2.
% 1.86/0.65  Axiom 4 (mTermNF): fresh51(X, X, Y, Z) = true2.
% 1.86/0.65  Axiom 5 (mTermNF): fresh14(X, X, Y, Z) = aNormalFormOfIn0(w2(Y, Z), Z, Y).
% 1.86/0.65  Axiom 6 (mTermNF): fresh50(X, X, Y, Z) = fresh51(aElement0(Z), true2, Y, Z).
% 1.86/0.65  Axiom 7 (mTermNF): fresh50(isTerminating0(X), true2, X, Y) = fresh14(aRewritingSystem0(X), true2, X, Y).
% 1.86/0.65  
% 1.86/0.65  Goal 1 (m___5): aNormalFormOfIn0(X, xw, xR) = true2.
% 1.86/0.65  The goal is true when:
% 1.86/0.65    X = w2(xR, xw)
% 1.86/0.65  
% 1.86/0.65  Proof:
% 1.86/0.65    aNormalFormOfIn0(w2(xR, xw), xw, xR)
% 1.86/0.65  = { by axiom 5 (mTermNF) R->L }
% 1.86/0.65    fresh14(true2, true2, xR, xw)
% 1.86/0.65  = { by axiom 2 (m__656) R->L }
% 1.86/0.65    fresh14(aRewritingSystem0(xR), true2, xR, xw)
% 1.86/0.65  = { by axiom 7 (mTermNF) R->L }
% 1.86/0.65    fresh50(isTerminating0(xR), true2, xR, xw)
% 1.86/0.65  = { by axiom 3 (m__656_01_1) }
% 1.86/0.65    fresh50(true2, true2, xR, xw)
% 1.86/0.65  = { by axiom 6 (mTermNF) }
% 1.86/0.65    fresh51(aElement0(xw), true2, xR, xw)
% 1.86/0.65  = { by axiom 1 (m__799_8) }
% 1.86/0.65    fresh51(true2, true2, xR, xw)
% 1.86/0.65  = { by axiom 4 (mTermNF) }
% 1.86/0.65    true2
% 1.86/0.65  % SZS output end Proof
% 1.86/0.65  
% 1.86/0.65  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------