TSTP Solution File: NUM566+3 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : NUM566+3 : 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 : n004.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 11:57:01 EDT 2023

% Result   : Theorem 47.68s 6.51s
% Output   : Proof 48.24s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.12  % Problem  : NUM566+3 : TPTP v8.1.2. Released v4.0.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 : n004.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 : Fri Aug 25 16:31:22 EDT 2023
% 0.13/0.34  % CPUTime  : 
% 47.68/6.51  Command-line arguments: --set-join --lhs-weight 1 --no-flatten-goal --complete-subsets --goal-heuristic
% 47.68/6.51  
% 47.68/6.51  % SZS status Theorem
% 47.68/6.51  
% 47.68/6.51  % SZS output start Proof
% 47.68/6.51  Take the following subset of the input axioms:
% 47.68/6.52    fof(mCardEmpty, axiom, ![W0]: (aSet0(W0) => (sbrdtbr0(W0)=sz00 <=> W0=slcrc0))).
% 47.68/6.52    fof(mCountNFin, axiom, ![W0_2]: ((aSet0(W0_2) & isCountable0(W0_2)) => ~isFinite0(W0_2))).
% 47.68/6.52    fof(mCountNFin_01, axiom, ![W0_2]: ((aSet0(W0_2) & isCountable0(W0_2)) => W0_2!=slcrc0)).
% 47.68/6.52    fof(mDefDiff, definition, ![W1, W0_2]: ((aSet0(W0_2) & aElement0(W1)) => ![W2]: (W2=sdtmndt0(W0_2, W1) <=> (aSet0(W2) & ![W3]: (aElementOf0(W3, W2) <=> (aElement0(W3) & (aElementOf0(W3, W0_2) & W3!=W1))))))).
% 47.68/6.52    fof(mDefEmp, definition, ![W0_2]: (W0_2=slcrc0 <=> (aSet0(W0_2) & ~?[W1_2]: aElementOf0(W1_2, W0_2)))).
% 47.68/6.52    fof(mNatNSucc, axiom, ![W0_2]: (aElementOf0(W0_2, szNzAzT0) => W0_2!=szszuzczcdt0(W0_2))).
% 47.68/6.52    fof(mNoScLessZr, axiom, ![W0_2]: (aElementOf0(W0_2, szNzAzT0) => ~sdtlseqdt0(szszuzczcdt0(W0_2), sz00))).
% 47.68/6.52    fof(mSubRefl, axiom, ![W0_2]: (aSet0(W0_2) => aSubsetOf0(W0_2, W0_2))).
% 47.68/6.52    fof(mSuccNum, axiom, ![W0_2]: (aElementOf0(W0_2, szNzAzT0) => (aElementOf0(szszuzczcdt0(W0_2), szNzAzT0) & szszuzczcdt0(W0_2)!=sz00))).
% 47.68/6.52    fof(m__, conjecture, ?[W0_2]: (aElementOf0(W0_2, xT) & ?[W1_2]: (((aSet0(W1_2) & ![W2_2]: (aElementOf0(W2_2, W1_2) => aElementOf0(W2_2, xS))) | aSubsetOf0(W1_2, xS)) & (isCountable0(W1_2) & ![W2_2]: ((aSet0(W2_2) & (![W3_2]: (aElementOf0(W3_2, W2_2) => aElementOf0(W3_2, W1_2)) & (aSubsetOf0(W2_2, W1_2) & (sbrdtbr0(W2_2)=xK & aElementOf0(W2_2, slbdtsldtrb0(W1_2, xK)))))) => sdtlpdtrp0(xc, W2_2)=W0_2))))).
% 48.24/6.52    fof(m__3398, hypothesis, ![W0_2]: (aElementOf0(W0_2, szNzAzT0) => ![W1_2]: ((((aSet0(W1_2) & ![W2_2]: (aElementOf0(W2_2, W1_2) => aElementOf0(W2_2, szNzAzT0))) | aSubsetOf0(W1_2, szNzAzT0)) & isCountable0(W1_2)) => ![W2_2]: ((aFunction0(W2_2) & ((![W3_2]: ((aElementOf0(W3_2, szDzozmdt0(W2_2)) => (((aSet0(W3_2) & ![W4]: (aElementOf0(W4, W3_2) => aElementOf0(W4, W1_2))) | aSubsetOf0(W3_2, W1_2)) & sbrdtbr0(W3_2)=W0_2)) & ((aSet0(W3_2) & (![W4_2]: (aElementOf0(W4_2, W3_2) => aElementOf0(W4_2, W1_2)) & (aSubsetOf0(W3_2, W1_2) & sbrdtbr0(W3_2)=W0_2))) => aElementOf0(W3_2, szDzozmdt0(W2_2)))) | szDzozmdt0(W2_2)=slbdtsldtrb0(W1_2, W0_2)) & ((aSet0(sdtlcdtrc0(W2_2, szDzozmdt0(W2_2))) & ![W3_2]: (aElementOf0(W3_2, sdtlcdtrc0(W2_2, szDzozmdt0(W2_2))) <=> ?[W4_2]: (aElementOf0(W4_2, szDzozmdt0(W2_2)) & sdtlpdtrp0(W2_2, W4_2)=W3_2))) => (![W3_2]: (aElementOf0(W3_2, sdtlcdtrc0(W2_2, szDzozmdt0(W2_2))) => aElementOf0(W3_2, xT)) | aSubsetOf0(sdtlcdtrc0(W2_2, szDzozmdt0(W2_2)), xT))))) => (iLess0(W0_2, xK) => ?[W3_2]: (aElementOf0(W3_2, xT) & ?[W4_2]: (aSet0(W4_2) & (![W5]: (aElementOf0(W5, W4_2) => aElementOf0(W5, W1_2)) & (aSubsetOf0(W4_2, W1_2) & (isCountable0(W4_2) & ![W5_2]: (((((aSet0(W5_2) & ![W6]: (aElementOf0(W6, W5_2) => aElementOf0(W6, W4_2))) | aSubsetOf0(W5_2, W4_2)) & sbrdtbr0(W5_2)=W0_2) | aElementOf0(W5_2, slbdtsldtrb0(W4_2, W0_2))) => sdtlpdtrp0(W2_2, W5_2)=W3_2))))))))))).
% 48.24/6.52    fof(m__3435, hypothesis, aSet0(xS) & (![W0_2]: (aElementOf0(W0_2, xS) => aElementOf0(W0_2, szNzAzT0)) & (aSubsetOf0(xS, szNzAzT0) & isCountable0(xS)))).
% 48.24/6.52    fof(m__3453, hypothesis, aFunction0(xc) & (![W0_2]: ((aElementOf0(W0_2, szDzozmdt0(xc)) => (aSet0(W0_2) & (![W1_2]: (aElementOf0(W1_2, W0_2) => aElementOf0(W1_2, xS)) & (aSubsetOf0(W0_2, xS) & sbrdtbr0(W0_2)=xK)))) & ((((aSet0(W0_2) & ![W1_2]: (aElementOf0(W1_2, W0_2) => aElementOf0(W1_2, xS))) | aSubsetOf0(W0_2, xS)) & sbrdtbr0(W0_2)=xK) => aElementOf0(W0_2, szDzozmdt0(xc)))) & (szDzozmdt0(xc)=slbdtsldtrb0(xS, xK) & (aSet0(sdtlcdtrc0(xc, szDzozmdt0(xc))) & (![W0_2]: (aElementOf0(W0_2, sdtlcdtrc0(xc, szDzozmdt0(xc))) <=> ?[W1_2]: (aElementOf0(W1_2, szDzozmdt0(xc)) & sdtlpdtrp0(xc, W1_2)=W0_2)) & (![W0_2]: (aElementOf0(W0_2, sdtlcdtrc0(xc, szDzozmdt0(xc))) => aElementOf0(W0_2, xT)) & aSubsetOf0(sdtlcdtrc0(xc, szDzozmdt0(xc)), xT))))))).
% 48.24/6.52    fof(m__3462, hypothesis, xK=sz00).
% 48.24/6.52    fof(m__3476, hypothesis, aSet0(slcrc0) & (~?[W0_2]: aElementOf0(W0_2, slcrc0) & (![W0_2]: (aElementOf0(W0_2, slcrc0) => aElementOf0(W0_2, xS)) & (aSubsetOf0(slcrc0, xS) & aElementOf0(slcrc0, slbdtsldtrb0(xS, sz00)))))).
% 48.24/6.52    fof(m__3507, hypothesis, ![W0_2]: (((((aSet0(W0_2) & ![W1_2]: (aElementOf0(W1_2, W0_2) => aElementOf0(W1_2, xS))) | aSubsetOf0(W0_2, xS)) & sbrdtbr0(W0_2)=sz00) | aElementOf0(W0_2, slbdtsldtrb0(xS, sz00))) => (aSet0(slcrc0) & (~?[W1_2]: aElementOf0(W1_2, slcrc0) & sdtlpdtrp0(xc, W0_2)=sdtlpdtrp0(xc, slcrc0))))).
% 48.24/6.52  
% 48.24/6.52  Now clausify the problem and encode Horn clauses using encoding 3 of
% 48.24/6.52  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 48.24/6.52  We repeatedly replace C & s=t => u=v by the two clauses:
% 48.24/6.52    fresh(y, y, x1...xn) = u
% 48.24/6.52    C => fresh(s, t, x1...xn) = v
% 48.24/6.52  where fresh is a fresh function symbol and x1..xn are the free
% 48.24/6.52  variables of u and v.
% 48.24/6.52  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 48.24/6.52  input problem has no model of domain size 1).
% 48.24/6.52  
% 48.24/6.52  The encoding turns the above axioms into the following unit equations and goals:
% 48.24/6.52  
% 48.24/6.52  Axiom 1 (m__3462): xK = sz00.
% 48.24/6.52  Axiom 2 (m__3435_1): isCountable0(xS) = true2.
% 48.24/6.52  Axiom 3 (m__3435): aSet0(xS) = true2.
% 48.24/6.52  Axiom 4 (m__3453): szDzozmdt0(xc) = slbdtsldtrb0(xS, xK).
% 48.24/6.52  Axiom 5 (mCardEmpty_1): fresh134(X, X, Y) = slcrc0.
% 48.24/6.52  Axiom 6 (mSubRefl): fresh56(X, X, Y) = true2.
% 48.24/6.52  Axiom 7 (m__3453_14): fresh27(X, X, Y) = true2.
% 48.24/6.52  Axiom 8 (m__3453_4): fresh25(X, X, Y) = true2.
% 48.24/6.52  Axiom 9 (mCardEmpty_1): fresh7(X, X, Y) = Y.
% 48.24/6.52  Axiom 10 (m___3): fresh141(X, X, Y, Z) = or(Y, Z).
% 48.24/6.52  Axiom 11 (mSubRefl): fresh56(aSet0(X), true2, X) = aSubsetOf0(X, X).
% 48.24/6.52  Axiom 12 (m___3): fresh16(X, X, Y, Z) = true2.
% 48.24/6.52  Axiom 13 (m___5): fresh13(X, X, Y, Z) = xK.
% 48.24/6.52  Axiom 14 (m___6): fresh12(X, X, Y, Z) = true2.
% 48.24/6.52  Axiom 15 (mCardEmpty_1): fresh7(aSet0(X), true2, X) = fresh134(sbrdtbr0(X), sz00, X).
% 48.24/6.52  Axiom 16 (m__3476_1): aElementOf0(slcrc0, slbdtsldtrb0(xS, sz00)) = true2.
% 48.24/6.52  Axiom 17 (m___3): fresh140(X, X, Y, Z) = fresh141(isCountable0(Z), true2, Y, Z).
% 48.24/6.52  Axiom 18 (m__3453_4): fresh26(X, X, Y, Z) = aElementOf0(Y, sdtlcdtrc0(xc, szDzozmdt0(xc))).
% 48.24/6.52  Axiom 19 (m___3): fresh140(aSubsetOf0(X, xS), true2, Y, X) = fresh16(aElementOf0(Y, xT), true2, Y, X).
% 48.24/6.52  Axiom 20 (m___5): fresh13(or(X, Y), true2, X, Y) = sbrdtbr0(w2(X, Y)).
% 48.24/6.53  Axiom 21 (m___6): fresh12(or(X, Y), true2, X, Y) = aSet0(w2(X, Y)).
% 48.24/6.53  Axiom 22 (m__3453_4): fresh26(aElementOf0(X, szDzozmdt0(xc)), true2, Y, X) = fresh25(sdtlpdtrp0(xc, X), Y, Y).
% 48.24/6.53  Axiom 23 (m__3453_14): fresh27(aElementOf0(X, sdtlcdtrc0(xc, szDzozmdt0(xc))), true2, X) = aElementOf0(X, xT).
% 48.24/6.53  
% 48.24/6.53  Lemma 24: or(sdtlpdtrp0(xc, slcrc0), xS) = true2.
% 48.24/6.53  Proof:
% 48.24/6.53    or(sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 10 (m___3) R->L }
% 48.24/6.53    fresh141(true2, true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 2 (m__3435_1) R->L }
% 48.24/6.53    fresh141(isCountable0(xS), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 17 (m___3) R->L }
% 48.24/6.53    fresh140(true2, true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 6 (mSubRefl) R->L }
% 48.24/6.53    fresh140(fresh56(true2, true2, xS), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 3 (m__3435) R->L }
% 48.24/6.53    fresh140(fresh56(aSet0(xS), true2, xS), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 11 (mSubRefl) }
% 48.24/6.53    fresh140(aSubsetOf0(xS, xS), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 19 (m___3) }
% 48.24/6.53    fresh16(aElementOf0(sdtlpdtrp0(xc, slcrc0), xT), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 23 (m__3453_14) R->L }
% 48.24/6.53    fresh16(fresh27(aElementOf0(sdtlpdtrp0(xc, slcrc0), sdtlcdtrc0(xc, szDzozmdt0(xc))), true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 18 (m__3453_4) R->L }
% 48.24/6.53    fresh16(fresh27(fresh26(true2, true2, sdtlpdtrp0(xc, slcrc0), slcrc0), true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 16 (m__3476_1) R->L }
% 48.24/6.53    fresh16(fresh27(fresh26(aElementOf0(slcrc0, slbdtsldtrb0(xS, sz00)), true2, sdtlpdtrp0(xc, slcrc0), slcrc0), true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 1 (m__3462) R->L }
% 48.24/6.53    fresh16(fresh27(fresh26(aElementOf0(slcrc0, slbdtsldtrb0(xS, xK)), true2, sdtlpdtrp0(xc, slcrc0), slcrc0), true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 4 (m__3453) R->L }
% 48.24/6.53    fresh16(fresh27(fresh26(aElementOf0(slcrc0, szDzozmdt0(xc)), true2, sdtlpdtrp0(xc, slcrc0), slcrc0), true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 22 (m__3453_4) }
% 48.24/6.53    fresh16(fresh27(fresh25(sdtlpdtrp0(xc, slcrc0), sdtlpdtrp0(xc, slcrc0), sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 8 (m__3453_4) }
% 48.24/6.53    fresh16(fresh27(true2, true2, sdtlpdtrp0(xc, slcrc0)), true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 7 (m__3453_14) }
% 48.24/6.53    fresh16(true2, true2, sdtlpdtrp0(xc, slcrc0), xS)
% 48.24/6.53  = { by axiom 12 (m___3) }
% 48.24/6.53    true2
% 48.24/6.53  
% 48.24/6.53  Goal 1 (m__): tuple5(sdtlpdtrp0(xc, w2(X, Y)), or(X, Y)) = tuple5(X, true2).
% 48.24/6.53  The goal is true when:
% 48.24/6.53    X = sdtlpdtrp0(xc, slcrc0)
% 48.24/6.53    Y = xS
% 48.24/6.53  
% 48.24/6.53  Proof:
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, w2(sdtlpdtrp0(xc, slcrc0), xS)), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 9 (mCardEmpty_1) R->L }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh7(true2, true2, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 14 (m___6) R->L }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh7(fresh12(true2, true2, sdtlpdtrp0(xc, slcrc0), xS), true2, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by lemma 24 R->L }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh7(fresh12(or(sdtlpdtrp0(xc, slcrc0), xS), true2, sdtlpdtrp0(xc, slcrc0), xS), true2, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 21 (m___6) }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh7(aSet0(w2(sdtlpdtrp0(xc, slcrc0), xS)), true2, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 15 (mCardEmpty_1) }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh134(sbrdtbr0(w2(sdtlpdtrp0(xc, slcrc0), xS)), sz00, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 1 (m__3462) R->L }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh134(sbrdtbr0(w2(sdtlpdtrp0(xc, slcrc0), xS)), xK, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 20 (m___5) R->L }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh134(fresh13(or(sdtlpdtrp0(xc, slcrc0), xS), true2, sdtlpdtrp0(xc, slcrc0), xS), xK, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by lemma 24 }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh134(fresh13(true2, true2, sdtlpdtrp0(xc, slcrc0), xS), xK, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 13 (m___5) }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, fresh134(xK, xK, w2(sdtlpdtrp0(xc, slcrc0), xS))), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by axiom 5 (mCardEmpty_1) }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, slcrc0), or(sdtlpdtrp0(xc, slcrc0), xS))
% 48.24/6.53  = { by lemma 24 }
% 48.24/6.53    tuple5(sdtlpdtrp0(xc, slcrc0), true2)
% 48.24/6.53  % SZS output end Proof
% 48.24/6.53  
% 48.24/6.53  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------