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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : RNG099+1 : 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 : n026.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 13:59:16 EDT 2023

% Result   : Theorem 219.48s 29.25s
% Output   : Proof 219.48s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.83  % Problem  : RNG099+1 : TPTP v8.1.2. Released v4.0.0.
% 0.11/0.84  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.13/1.05  % Computer : n026.cluster.edu
% 0.13/1.05  % Model    : x86_64 x86_64
% 0.13/1.05  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/1.05  % Memory   : 8042.1875MB
% 0.13/1.05  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/1.05  % CPULimit : 300
% 0.13/1.05  % WCLimit  : 300
% 0.13/1.05  % DateTime : Sun Aug 27 02:05:49 EDT 2023
% 0.13/1.05  % CPUTime  : 
% 219.48/29.25  Command-line arguments: --no-flatten-goal
% 219.48/29.25  
% 219.48/29.25  % SZS status Theorem
% 219.48/29.25  
% 219.48/29.26  % SZS output start Proof
% 219.48/29.26  Take the following subset of the input axioms:
% 219.48/29.26    fof(mDefIdeal, definition, ![W0]: (aIdeal0(W0) <=> (aSet0(W0) & ![W1]: (aElementOf0(W1, W0) => (![W2]: (aElementOf0(W2, W0) => aElementOf0(sdtpldt0(W1, W2), W0)) & ![W2_2]: (aElement0(W2_2) => aElementOf0(sdtasdt0(W2_2, W1), W0))))))).
% 219.48/29.26    fof(mDefMod, definition, ![W0_2, W1_2, W2_2]: ((aElement0(W0_2) & (aElement0(W1_2) & aIdeal0(W2_2))) => (sdteqdtlpzmzozddtrp0(W0_2, W1_2, W2_2) <=> aElementOf0(sdtpldt0(W0_2, smndt0(W1_2)), W2_2)))).
% 219.48/29.26    fof(mEOfElem, axiom, ![W0_2]: (aSet0(W0_2) => ![W1_2]: (aElementOf0(W1_2, W0_2) => aElement0(W1_2)))).
% 219.48/29.26    fof(mMulComm, axiom, ![W0_2, W1_2]: ((aElement0(W0_2) & aElement0(W1_2)) => sdtasdt0(W0_2, W1_2)=sdtasdt0(W1_2, W0_2))).
% 219.48/29.26    fof(mSortsB, axiom, ![W0_2, W1_2]: ((aElement0(W0_2) & aElement0(W1_2)) => aElement0(sdtpldt0(W0_2, W1_2)))).
% 219.48/29.26    fof(mSortsB_02, axiom, ![W0_2, W1_2]: ((aElement0(W0_2) & aElement0(W1_2)) => aElement0(sdtasdt0(W0_2, W1_2)))).
% 219.48/29.26    fof(m__, conjecture, ?[W0_2]: (aElement0(W0_2) & (sdteqdtlpzmzozddtrp0(W0_2, xx, xI) & sdteqdtlpzmzozddtrp0(W0_2, xy, xJ)))).
% 219.48/29.26    fof(m__1205, hypothesis, aIdeal0(xI) & aIdeal0(xJ)).
% 219.48/29.26    fof(m__1217, hypothesis, aElement0(xx) & aElement0(xy)).
% 219.48/29.26    fof(m__1294, hypothesis, aElementOf0(xa, xI) & (aElementOf0(xb, xJ) & sdtpldt0(xa, xb)=sz10)).
% 219.48/29.26    fof(m__1319, hypothesis, xw=sdtpldt0(sdtasdt0(xy, xa), sdtasdt0(xx, xb))).
% 219.48/29.26    fof(m__1332, hypothesis, aElementOf0(sdtpldt0(xw, smndt0(xx)), xI)).
% 219.48/29.26    fof(m__1409, hypothesis, aElementOf0(sdtpldt0(xw, smndt0(xy)), xJ)).
% 219.48/29.26  
% 219.48/29.26  Now clausify the problem and encode Horn clauses using encoding 3 of
% 219.48/29.26  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 219.48/29.26  We repeatedly replace C & s=t => u=v by the two clauses:
% 219.48/29.26    fresh(y, y, x1...xn) = u
% 219.48/29.26    C => fresh(s, t, x1...xn) = v
% 219.48/29.26  where fresh is a fresh function symbol and x1..xn are the free
% 219.48/29.26  variables of u and v.
% 219.48/29.26  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 219.48/29.26  input problem has no model of domain size 1).
% 219.48/29.26  
% 219.48/29.26  The encoding turns the above axioms into the following unit equations and goals:
% 219.48/29.26  
% 219.48/29.26  Axiom 1 (m__1205): aIdeal0(xI) = true2.
% 219.48/29.26  Axiom 2 (m__1205_1): aIdeal0(xJ) = true2.
% 219.48/29.26  Axiom 3 (m__1217): aElement0(xx) = true2.
% 219.48/29.26  Axiom 4 (m__1217_1): aElement0(xy) = true2.
% 219.48/29.26  Axiom 5 (m__1294_1): aElementOf0(xa, xI) = true2.
% 219.48/29.26  Axiom 6 (m__1294_2): aElementOf0(xb, xJ) = true2.
% 219.48/29.26  Axiom 7 (mDefIdeal_7): fresh34(X, X, Y) = true2.
% 219.48/29.26  Axiom 8 (mEOfElem): fresh23(X, X, Y) = true2.
% 219.48/29.26  Axiom 9 (mDefIdeal_7): fresh34(aIdeal0(X), true2, X) = aSet0(X).
% 219.48/29.26  Axiom 10 (mEOfElem): fresh24(X, X, Y, Z) = aElement0(Z).
% 219.48/29.26  Axiom 11 (mMulComm): fresh17(X, X, Y, Z) = sdtasdt0(Y, Z).
% 219.48/29.26  Axiom 12 (mMulComm): fresh16(X, X, Y, Z) = sdtasdt0(Z, Y).
% 219.48/29.26  Axiom 13 (mSortsB): fresh11(X, X, Y, Z) = aElement0(sdtpldt0(Y, Z)).
% 219.48/29.26  Axiom 14 (mSortsB): fresh10(X, X, Y, Z) = true2.
% 219.48/29.26  Axiom 15 (mSortsB_02): fresh9(X, X, Y, Z) = aElement0(sdtasdt0(Y, Z)).
% 219.48/29.26  Axiom 16 (mSortsB_02): fresh8(X, X, Y, Z) = true2.
% 219.48/29.26  Axiom 17 (mDefMod): fresh48(X, X, Y, Z, W) = true2.
% 219.48/29.26  Axiom 18 (mDefMod): fresh46(X, X, Y, Z, W) = sdteqdtlpzmzozddtrp0(Y, Z, W).
% 219.48/29.26  Axiom 19 (mMulComm): fresh17(aElement0(X), true2, Y, X) = fresh16(aElement0(Y), true2, Y, X).
% 219.48/29.26  Axiom 20 (mSortsB): fresh11(aElement0(X), true2, Y, X) = fresh10(aElement0(Y), true2, Y, X).
% 219.48/29.26  Axiom 21 (mSortsB_02): fresh9(aElement0(X), true2, Y, X) = fresh8(aElement0(Y), true2, Y, X).
% 219.48/29.26  Axiom 22 (mDefMod_1): fresh50(X, X, Y, Z, W) = aElementOf0(sdtpldt0(Y, smndt0(Z)), W).
% 219.48/29.26  Axiom 23 (m__1332): aElementOf0(sdtpldt0(xw, smndt0(xx)), xI) = true2.
% 219.48/29.26  Axiom 24 (m__1409): aElementOf0(sdtpldt0(xw, smndt0(xy)), xJ) = true2.
% 219.48/29.26  Axiom 25 (mDefMod): fresh47(X, X, Y, Z, W) = fresh48(aElement0(Y), true2, Y, Z, W).
% 219.48/29.26  Axiom 26 (mDefMod): fresh45(X, X, Y, Z, W) = fresh46(aElement0(Z), true2, Y, Z, W).
% 219.48/29.26  Axiom 27 (mEOfElem): fresh24(aElementOf0(X, Y), true2, Y, X) = fresh23(aSet0(Y), true2, X).
% 219.48/29.26  Axiom 28 (m__1319): xw = sdtpldt0(sdtasdt0(xy, xa), sdtasdt0(xx, xb)).
% 219.48/29.26  Axiom 29 (mDefMod): fresh45(aIdeal0(X), true2, Y, Z, X) = fresh47(aElementOf0(sdtpldt0(Y, smndt0(Z)), X), true2, Y, Z, X).
% 219.48/29.26  
% 219.48/29.26  Lemma 30: aElement0(xb) = true2.
% 219.48/29.26  Proof:
% 219.48/29.26    aElement0(xb)
% 219.48/29.26  = { by axiom 10 (mEOfElem) R->L }
% 219.48/29.26    fresh24(true2, true2, xJ, xb)
% 219.48/29.26  = { by axiom 6 (m__1294_2) R->L }
% 219.48/29.26    fresh24(aElementOf0(xb, xJ), true2, xJ, xb)
% 219.48/29.26  = { by axiom 27 (mEOfElem) }
% 219.48/29.26    fresh23(aSet0(xJ), true2, xb)
% 219.48/29.26  = { by axiom 9 (mDefIdeal_7) R->L }
% 219.48/29.26    fresh23(fresh34(aIdeal0(xJ), true2, xJ), true2, xb)
% 219.48/29.26  = { by axiom 2 (m__1205_1) }
% 219.48/29.26    fresh23(fresh34(true2, true2, xJ), true2, xb)
% 219.48/29.26  = { by axiom 7 (mDefIdeal_7) }
% 219.48/29.26    fresh23(true2, true2, xb)
% 219.48/29.27  = { by axiom 8 (mEOfElem) }
% 219.48/29.27    true2
% 219.48/29.27  
% 219.48/29.27  Lemma 31: aElement0(xa) = true2.
% 219.48/29.27  Proof:
% 219.48/29.27    aElement0(xa)
% 219.48/29.27  = { by axiom 10 (mEOfElem) R->L }
% 219.48/29.27    fresh24(true2, true2, xI, xa)
% 219.48/29.27  = { by axiom 5 (m__1294_1) R->L }
% 219.48/29.27    fresh24(aElementOf0(xa, xI), true2, xI, xa)
% 219.48/29.27  = { by axiom 27 (mEOfElem) }
% 219.48/29.27    fresh23(aSet0(xI), true2, xa)
% 219.48/29.27  = { by axiom 9 (mDefIdeal_7) R->L }
% 219.48/29.27    fresh23(fresh34(aIdeal0(xI), true2, xI), true2, xa)
% 219.48/29.27  = { by axiom 1 (m__1205) }
% 219.48/29.27    fresh23(fresh34(true2, true2, xI), true2, xa)
% 219.48/29.27  = { by axiom 7 (mDefIdeal_7) }
% 219.48/29.27    fresh23(true2, true2, xa)
% 219.48/29.27  = { by axiom 8 (mEOfElem) }
% 219.48/29.27    true2
% 219.48/29.27  
% 219.48/29.27  Lemma 32: sdtasdt0(xy, xa) = sdtasdt0(xa, xy).
% 219.48/29.27  Proof:
% 219.48/29.27    sdtasdt0(xy, xa)
% 219.48/29.27  = { by axiom 11 (mMulComm) R->L }
% 219.48/29.27    fresh17(true2, true2, xy, xa)
% 219.48/29.27  = { by lemma 31 R->L }
% 219.48/29.27    fresh17(aElement0(xa), true2, xy, xa)
% 219.48/29.27  = { by axiom 19 (mMulComm) }
% 219.48/29.27    fresh16(aElement0(xy), true2, xy, xa)
% 219.48/29.27  = { by axiom 4 (m__1217_1) }
% 219.48/29.27    fresh16(true2, true2, xy, xa)
% 219.48/29.27  = { by axiom 12 (mMulComm) }
% 219.48/29.27    sdtasdt0(xa, xy)
% 219.48/29.27  
% 219.48/29.27  Lemma 33: sdtasdt0(xx, xb) = sdtasdt0(xb, xx).
% 219.48/29.27  Proof:
% 219.48/29.27    sdtasdt0(xx, xb)
% 219.48/29.27  = { by axiom 11 (mMulComm) R->L }
% 219.48/29.27    fresh17(true2, true2, xx, xb)
% 219.48/29.27  = { by lemma 30 R->L }
% 219.48/29.27    fresh17(aElement0(xb), true2, xx, xb)
% 219.48/29.27  = { by axiom 19 (mMulComm) }
% 219.48/29.27    fresh16(aElement0(xx), true2, xx, xb)
% 219.48/29.27  = { by axiom 3 (m__1217) }
% 219.48/29.27    fresh16(true2, true2, xx, xb)
% 219.48/29.27  = { by axiom 12 (mMulComm) }
% 219.48/29.27    sdtasdt0(xb, xx)
% 219.48/29.27  
% 219.48/29.27  Lemma 34: aElement0(xw) = true2.
% 219.48/29.27  Proof:
% 219.48/29.27    aElement0(xw)
% 219.48/29.27  = { by axiom 28 (m__1319) }
% 219.48/29.27    aElement0(sdtpldt0(sdtasdt0(xy, xa), sdtasdt0(xx, xb)))
% 219.48/29.27  = { by lemma 32 }
% 219.48/29.27    aElement0(sdtpldt0(sdtasdt0(xa, xy), sdtasdt0(xx, xb)))
% 219.48/29.27  = { by lemma 33 }
% 219.48/29.27    aElement0(sdtpldt0(sdtasdt0(xa, xy), sdtasdt0(xb, xx)))
% 219.48/29.27  = { by axiom 13 (mSortsB) R->L }
% 219.48/29.27    fresh11(true2, true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 16 (mSortsB_02) R->L }
% 219.48/29.27    fresh11(fresh8(true2, true2, xx, xb), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 3 (m__1217) R->L }
% 219.48/29.27    fresh11(fresh8(aElement0(xx), true2, xx, xb), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 21 (mSortsB_02) R->L }
% 219.48/29.27    fresh11(fresh9(aElement0(xb), true2, xx, xb), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by lemma 30 }
% 219.48/29.27    fresh11(fresh9(true2, true2, xx, xb), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 15 (mSortsB_02) }
% 219.48/29.27    fresh11(aElement0(sdtasdt0(xx, xb)), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by lemma 33 }
% 219.48/29.27    fresh11(aElement0(sdtasdt0(xb, xx)), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 20 (mSortsB) }
% 219.48/29.27    fresh10(aElement0(sdtasdt0(xa, xy)), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by lemma 32 R->L }
% 219.48/29.27    fresh10(aElement0(sdtasdt0(xy, xa)), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 15 (mSortsB_02) R->L }
% 219.48/29.27    fresh10(fresh9(true2, true2, xy, xa), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by lemma 31 R->L }
% 219.48/29.27    fresh10(fresh9(aElement0(xa), true2, xy, xa), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 21 (mSortsB_02) }
% 219.48/29.27    fresh10(fresh8(aElement0(xy), true2, xy, xa), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 4 (m__1217_1) }
% 219.48/29.27    fresh10(fresh8(true2, true2, xy, xa), true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 16 (mSortsB_02) }
% 219.48/29.27    fresh10(true2, true2, sdtasdt0(xa, xy), sdtasdt0(xb, xx))
% 219.48/29.27  = { by axiom 14 (mSortsB) }
% 219.48/29.27    true2
% 219.48/29.27  
% 219.48/29.27  Lemma 35: fresh47(X, X, xw, Y, Z) = true2.
% 219.48/29.27  Proof:
% 219.48/29.27    fresh47(X, X, xw, Y, Z)
% 219.48/29.27  = { by axiom 25 (mDefMod) }
% 219.48/29.27    fresh48(aElement0(xw), true2, xw, Y, Z)
% 219.48/29.27  = { by lemma 34 }
% 219.48/29.27    fresh48(true2, true2, xw, Y, Z)
% 219.48/29.27  = { by axiom 17 (mDefMod) }
% 219.48/29.27    true2
% 219.48/29.27  
% 219.48/29.27  Lemma 36: fresh47(fresh50(X, X, Y, Z, W), true2, Y, Z, W) = fresh45(aIdeal0(W), true2, Y, Z, W).
% 219.48/29.27  Proof:
% 219.48/29.27    fresh47(fresh50(X, X, Y, Z, W), true2, Y, Z, W)
% 219.48/29.27  = { by axiom 22 (mDefMod_1) }
% 219.48/29.27    fresh47(aElementOf0(sdtpldt0(Y, smndt0(Z)), W), true2, Y, Z, W)
% 219.48/29.27  = { by axiom 29 (mDefMod) R->L }
% 219.48/29.27    fresh45(aIdeal0(W), true2, Y, Z, W)
% 219.48/29.27  
% 219.48/29.27  Goal 1 (m__): tuple(aElement0(X), sdteqdtlpzmzozddtrp0(X, xx, xI), sdteqdtlpzmzozddtrp0(X, xy, xJ)) = tuple(true2, true2, true2).
% 219.48/29.27  The goal is true when:
% 219.48/29.27    X = xw
% 219.48/29.27  
% 219.48/29.27  Proof:
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), sdteqdtlpzmzozddtrp0(xw, xy, xJ))
% 219.48/29.27  = { by axiom 18 (mDefMod) R->L }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh46(true2, true2, xw, xy, xJ))
% 219.48/29.27  = { by axiom 4 (m__1217_1) R->L }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh46(aElement0(xy), true2, xw, xy, xJ))
% 219.48/29.27  = { by axiom 26 (mDefMod) R->L }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh45(true2, true2, xw, xy, xJ))
% 219.48/29.27  = { by axiom 2 (m__1205_1) R->L }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh45(aIdeal0(xJ), true2, xw, xy, xJ))
% 219.48/29.27  = { by lemma 36 R->L }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh47(fresh50(Y, Y, xw, xy, xJ), true2, xw, xy, xJ))
% 219.48/29.27  = { by axiom 22 (mDefMod_1) }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh47(aElementOf0(sdtpldt0(xw, smndt0(xy)), xJ), true2, xw, xy, xJ))
% 219.48/29.27  = { by axiom 24 (m__1409) }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), fresh47(true2, true2, xw, xy, xJ))
% 219.48/29.27  = { by lemma 35 }
% 219.48/29.27    tuple(aElement0(xw), sdteqdtlpzmzozddtrp0(xw, xx, xI), true2)
% 219.48/29.27  = { by lemma 34 }
% 219.48/29.27    tuple(true2, sdteqdtlpzmzozddtrp0(xw, xx, xI), true2)
% 219.48/29.27  = { by axiom 18 (mDefMod) R->L }
% 219.48/29.27    tuple(true2, fresh46(true2, true2, xw, xx, xI), true2)
% 219.48/29.27  = { by axiom 3 (m__1217) R->L }
% 219.48/29.27    tuple(true2, fresh46(aElement0(xx), true2, xw, xx, xI), true2)
% 219.48/29.27  = { by axiom 26 (mDefMod) R->L }
% 219.48/29.27    tuple(true2, fresh45(true2, true2, xw, xx, xI), true2)
% 219.48/29.27  = { by axiom 1 (m__1205) R->L }
% 219.48/29.27    tuple(true2, fresh45(aIdeal0(xI), true2, xw, xx, xI), true2)
% 219.48/29.27  = { by lemma 36 R->L }
% 219.48/29.27    tuple(true2, fresh47(fresh50(X, X, xw, xx, xI), true2, xw, xx, xI), true2)
% 219.48/29.27  = { by axiom 22 (mDefMod_1) }
% 219.48/29.27    tuple(true2, fresh47(aElementOf0(sdtpldt0(xw, smndt0(xx)), xI), true2, xw, xx, xI), true2)
% 219.48/29.27  = { by axiom 23 (m__1332) }
% 219.48/29.27    tuple(true2, fresh47(true2, true2, xw, xx, xI), true2)
% 219.48/29.27  = { by lemma 35 }
% 219.48/29.27    tuple(true2, true2, true2)
% 219.48/29.27  % SZS output end Proof
% 219.48/29.27  
% 219.48/29.27  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------