TSTP Solution File: NUM467+2 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : NUM467+2 : 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 : n011.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:56:27 EDT 2023

% Result   : Theorem 55.96s 7.51s
% Output   : Proof 55.96s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem  : NUM467+2 : TPTP v8.1.2. Released v4.0.0.
% 0.07/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.36  % Computer : n011.cluster.edu
% 0.14/0.36  % Model    : x86_64 x86_64
% 0.14/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.36  % Memory   : 8042.1875MB
% 0.14/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.36  % CPULimit : 300
% 0.14/0.36  % WCLimit  : 300
% 0.14/0.36  % DateTime : Fri Aug 25 15:32:38 EDT 2023
% 0.14/0.36  % CPUTime  : 
% 55.96/7.51  Command-line arguments: --flatten
% 55.96/7.51  
% 55.96/7.51  % SZS status Theorem
% 55.96/7.51  
% 55.96/7.52  % SZS output start Proof
% 55.96/7.52  Take the following subset of the input axioms:
% 55.96/7.52    fof(mAMDistr, axiom, ![W0, W1, W2]: ((aNaturalNumber0(W0) & (aNaturalNumber0(W1) & aNaturalNumber0(W2))) => (sdtasdt0(W0, sdtpldt0(W1, W2))=sdtpldt0(sdtasdt0(W0, W1), sdtasdt0(W0, W2)) & sdtasdt0(sdtpldt0(W1, W2), W0)=sdtpldt0(sdtasdt0(W1, W0), sdtasdt0(W2, W0))))).
% 55.96/7.52    fof(mSortsB, axiom, ![W0_2, W1_2]: ((aNaturalNumber0(W0_2) & aNaturalNumber0(W1_2)) => aNaturalNumber0(sdtpldt0(W0_2, W1_2)))).
% 55.96/7.52    fof(mSortsC, axiom, aNaturalNumber0(sz00)).
% 55.96/7.52    fof(mSortsC_01, axiom, aNaturalNumber0(sz10) & sz10!=sz00).
% 55.96/7.52    fof(m__, conjecture, ?[W0_2]: (aNaturalNumber0(W0_2) & sdtpldt0(xm, xn)=sdtasdt0(xl, W0_2)) | doDivides0(xl, sdtpldt0(xm, xn))).
% 55.96/7.52    fof(m__1240, hypothesis, aNaturalNumber0(xl) & (aNaturalNumber0(xm) & aNaturalNumber0(xn))).
% 55.96/7.52    fof(m__1240_04, hypothesis, ?[W0_2]: (aNaturalNumber0(W0_2) & xm=sdtasdt0(xl, W0_2)) & (doDivides0(xl, xm) & (?[W0_2]: (aNaturalNumber0(W0_2) & xn=sdtasdt0(xl, W0_2)) & doDivides0(xl, xn)))).
% 55.96/7.52  
% 55.96/7.52  Now clausify the problem and encode Horn clauses using encoding 3 of
% 55.96/7.52  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 55.96/7.52  We repeatedly replace C & s=t => u=v by the two clauses:
% 55.96/7.52    fresh(y, y, x1...xn) = u
% 55.96/7.52    C => fresh(s, t, x1...xn) = v
% 55.96/7.52  where fresh is a fresh function symbol and x1..xn are the free
% 55.96/7.52  variables of u and v.
% 55.96/7.52  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 55.96/7.52  input problem has no model of domain size 1).
% 55.96/7.52  
% 55.96/7.52  The encoding turns the above axioms into the following unit equations and goals:
% 55.96/7.52  
% 55.96/7.52  Axiom 1 (m__1240_04_2): aNaturalNumber0(w0_2) = true2.
% 55.96/7.52  Axiom 2 (m__1240_04_3): aNaturalNumber0(w0) = true2.
% 55.96/7.52  Axiom 3 (mSortsC_01): aNaturalNumber0(sz10) = true2.
% 55.96/7.52  Axiom 4 (mSortsC): aNaturalNumber0(sz00) = true2.
% 55.96/7.52  Axiom 5 (m__1240): aNaturalNumber0(xl) = true2.
% 55.96/7.52  Axiom 6 (m__1240_04): xm = sdtasdt0(xl, w0_2).
% 55.96/7.52  Axiom 7 (m__1240_04_1): xn = sdtasdt0(xl, w0).
% 55.96/7.52  Axiom 8 (mSortsB): fresh18(X, X, Y, Z) = aNaturalNumber0(sdtpldt0(Y, Z)).
% 55.96/7.52  Axiom 9 (mSortsB): fresh17(X, X, Y, Z) = true2.
% 55.96/7.52  Axiom 10 (mAMDistr): fresh93(X, X, Y, Z, W) = sdtasdt0(Y, sdtpldt0(Z, W)).
% 55.96/7.52  Axiom 11 (mSortsB): fresh18(aNaturalNumber0(X), true2, Y, X) = fresh17(aNaturalNumber0(Y), true2, Y, X).
% 55.96/7.52  Axiom 12 (mAMDistr): fresh92(X, X, Y, Z, W) = fresh93(aNaturalNumber0(Y), true2, Y, Z, W).
% 55.96/7.52  Axiom 13 (mAMDistr): fresh92(aNaturalNumber0(X), true2, Y, Z, X) = fresh32(aNaturalNumber0(Z), true2, Y, Z, X).
% 55.96/7.52  Axiom 14 (mAMDistr): fresh32(X, X, Y, Z, W) = sdtpldt0(sdtasdt0(Y, Z), sdtasdt0(Y, W)).
% 55.96/7.52  
% 55.96/7.52  Lemma 15: aNaturalNumber0(sz10) = aNaturalNumber0(w0_2).
% 55.96/7.52  Proof:
% 55.96/7.52    aNaturalNumber0(sz10)
% 55.96/7.52  = { by axiom 3 (mSortsC_01) }
% 55.96/7.52    true2
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    aNaturalNumber0(w0_2)
% 55.96/7.52  
% 55.96/7.52  Lemma 16: aNaturalNumber0(sz00) = aNaturalNumber0(sz10).
% 55.96/7.52  Proof:
% 55.96/7.52    aNaturalNumber0(sz00)
% 55.96/7.52  = { by axiom 4 (mSortsC) }
% 55.96/7.52    true2
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    aNaturalNumber0(w0_2)
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    aNaturalNumber0(sz10)
% 55.96/7.52  
% 55.96/7.52  Lemma 17: aNaturalNumber0(w0) = aNaturalNumber0(w0_2).
% 55.96/7.52  Proof:
% 55.96/7.52    aNaturalNumber0(w0)
% 55.96/7.52  = { by axiom 2 (m__1240_04_3) }
% 55.96/7.52    true2
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    aNaturalNumber0(w0_2)
% 55.96/7.52  
% 55.96/7.52  Goal 1 (m__): tuple(sdtpldt0(xm, xn), aNaturalNumber0(X)) = tuple(sdtasdt0(xl, X), true2).
% 55.96/7.52  The goal is true when:
% 55.96/7.52    X = sdtpldt0(w0_2, w0)
% 55.96/7.52  
% 55.96/7.52  Proof:
% 55.96/7.52    tuple(sdtpldt0(xm, xn), aNaturalNumber0(sdtpldt0(w0_2, w0)))
% 55.96/7.52  = { by axiom 8 (mSortsB) R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(sz00), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by lemma 16 }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(sz10), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by lemma 15 }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(w0_2), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by lemma 17 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(w0), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by lemma 16 }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(w0), aNaturalNumber0(sz10), w0_2, w0))
% 55.96/7.52  = { by lemma 15 }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(w0), aNaturalNumber0(w0_2), w0_2, w0))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh18(aNaturalNumber0(w0), true2, w0_2, w0))
% 55.96/7.52  = { by axiom 11 (mSortsB) }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh17(aNaturalNumber0(w0_2), true2, w0_2, w0))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh17(aNaturalNumber0(w0_2), aNaturalNumber0(w0_2), w0_2, w0))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh17(aNaturalNumber0(w0_2), aNaturalNumber0(sz10), w0_2, w0))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh17(aNaturalNumber0(w0_2), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh17(aNaturalNumber0(sz10), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), fresh17(aNaturalNumber0(sz00), aNaturalNumber0(sz00), w0_2, w0))
% 55.96/7.52  = { by axiom 9 (mSortsB) }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), true2)
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), aNaturalNumber0(w0_2))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), aNaturalNumber0(sz10))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(sdtpldt0(xm, xn), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 6 (m__1240_04) }
% 55.96/7.52    tuple(sdtpldt0(sdtasdt0(xl, w0_2), xn), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 7 (m__1240_04_1) }
% 55.96/7.52    tuple(sdtpldt0(sdtasdt0(xl, w0_2), sdtasdt0(xl, w0)), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 14 (mAMDistr) R->L }
% 55.96/7.52    tuple(fresh32(aNaturalNumber0(sz00), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 }
% 55.96/7.52    tuple(fresh32(aNaturalNumber0(sz10), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 15 }
% 55.96/7.52    tuple(fresh32(aNaturalNumber0(w0_2), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 }
% 55.96/7.52    tuple(fresh32(aNaturalNumber0(w0_2), aNaturalNumber0(sz10), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 15 }
% 55.96/7.52    tuple(fresh32(aNaturalNumber0(w0_2), aNaturalNumber0(w0_2), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) }
% 55.96/7.52    tuple(fresh32(aNaturalNumber0(w0_2), true2, xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 13 (mAMDistr) R->L }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(w0), true2, xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(w0), aNaturalNumber0(w0_2), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(w0), aNaturalNumber0(sz10), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(w0), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 17 }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(w0_2), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(sz10), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(fresh92(aNaturalNumber0(sz00), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 12 (mAMDistr) }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(xl), true2, xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(xl), aNaturalNumber0(w0_2), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(xl), aNaturalNumber0(sz10), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(xl), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 5 (m__1240) }
% 55.96/7.52    tuple(fresh93(true2, aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) R->L }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(w0_2), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 15 R->L }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(sz10), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 R->L }
% 55.96/7.52    tuple(fresh93(aNaturalNumber0(sz00), aNaturalNumber0(sz00), xl, w0_2, w0), aNaturalNumber0(sz00))
% 55.96/7.52  = { by axiom 10 (mAMDistr) }
% 55.96/7.52    tuple(sdtasdt0(xl, sdtpldt0(w0_2, w0)), aNaturalNumber0(sz00))
% 55.96/7.52  = { by lemma 16 }
% 55.96/7.52    tuple(sdtasdt0(xl, sdtpldt0(w0_2, w0)), aNaturalNumber0(sz10))
% 55.96/7.52  = { by lemma 15 }
% 55.96/7.52    tuple(sdtasdt0(xl, sdtpldt0(w0_2, w0)), aNaturalNumber0(w0_2))
% 55.96/7.52  = { by axiom 1 (m__1240_04_2) }
% 55.96/7.52    tuple(sdtasdt0(xl, sdtpldt0(w0_2, w0)), true2)
% 55.96/7.52  % SZS output end Proof
% 55.96/7.52  
% 55.96/7.52  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------