TPTP Problem File: NUM553+3.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : NUM553+3 : TPTP v8.2.0. Released v4.0.0.
% Domain   : Number Theory
% Problem  : Ramsey's Infinite Theorem 12_05, 02 expansion
% Version  : Especial.
% English  :

% Refs     : [VLP07] Verchinine et al. (2007), System for Automated Deduction
%          : [Pas08] Paskevich (2008), Email to G. Sutcliffe
% Source   : [Pas08]
% Names    : ramsey_12_05.02 [Pas08]

% Status   : Theorem
% Rating   : 1.00 v4.0.0
% Syntax   : Number of formulae    :   69 (   7 unt;   8 def)
%            Number of atoms       :  289 (  46 equ)
%            Maximal formula atoms :   43 (   4 avg)
%            Number of connectives :  240 (  20   ~;   8   |;  96   &)
%                                         (  17 <=>;  99  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   5 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :   10 (   8 usr;   1 prp; 0-2 aty)
%            Number of functors    :   17 (  17 usr;   9 con; 0-2 aty)
%            Number of variables   :  118 ( 113   !;   5   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : Problem generated by the SAD system [VLP07]
%------------------------------------------------------------------------------
fof(mSetSort,axiom,
    ! [W0] :
      ( aSet0(W0)
     => $true ) ).

fof(mElmSort,axiom,
    ! [W0] :
      ( aElement0(W0)
     => $true ) ).

fof(mEOfElem,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ! [W1] :
          ( aElementOf0(W1,W0)
         => aElement0(W1) ) ) ).

fof(mFinRel,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ( isFinite0(W0)
       => $true ) ) ).

fof(mDefEmp,definition,
    ! [W0] :
      ( W0 = slcrc0
    <=> ( aSet0(W0)
        & ~ ? [W1] : aElementOf0(W1,W0) ) ) ).

fof(mEmpFin,axiom,
    isFinite0(slcrc0) ).

fof(mCntRel,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ( isCountable0(W0)
       => $true ) ) ).

fof(mCountNFin,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & isCountable0(W0) )
     => ~ isFinite0(W0) ) ).

fof(mCountNFin_01,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & isCountable0(W0) )
     => W0 != slcrc0 ) ).

fof(mDefSub,definition,
    ! [W0] :
      ( aSet0(W0)
     => ! [W1] :
          ( aSubsetOf0(W1,W0)
        <=> ( aSet0(W1)
            & ! [W2] :
                ( aElementOf0(W2,W1)
               => aElementOf0(W2,W0) ) ) ) ) ).

fof(mSubFSet,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & isFinite0(W0) )
     => ! [W1] :
          ( aSubsetOf0(W1,W0)
         => isFinite0(W1) ) ) ).

fof(mSubRefl,axiom,
    ! [W0] :
      ( aSet0(W0)
     => aSubsetOf0(W0,W0) ) ).

fof(mSubASymm,axiom,
    ! [W0,W1] :
      ( ( aSet0(W0)
        & aSet0(W1) )
     => ( ( aSubsetOf0(W0,W1)
          & aSubsetOf0(W1,W0) )
       => W0 = W1 ) ) ).

fof(mSubTrans,axiom,
    ! [W0,W1,W2] :
      ( ( aSet0(W0)
        & aSet0(W1)
        & aSet0(W2) )
     => ( ( aSubsetOf0(W0,W1)
          & aSubsetOf0(W1,W2) )
       => aSubsetOf0(W0,W2) ) ) ).

fof(mDefCons,definition,
    ! [W0,W1] :
      ( ( aSet0(W0)
        & aElement0(W1) )
     => ! [W2] :
          ( W2 = sdtpldt0(W0,W1)
        <=> ( aSet0(W2)
            & ! [W3] :
                ( aElementOf0(W3,W2)
              <=> ( aElement0(W3)
                  & ( aElementOf0(W3,W0)
                    | W3 = W1 ) ) ) ) ) ) ).

fof(mDefDiff,definition,
    ! [W0,W1] :
      ( ( aSet0(W0)
        & aElement0(W1) )
     => ! [W2] :
          ( W2 = sdtmndt0(W0,W1)
        <=> ( aSet0(W2)
            & ! [W3] :
                ( aElementOf0(W3,W2)
              <=> ( aElement0(W3)
                  & aElementOf0(W3,W0)
                  & W3 != W1 ) ) ) ) ) ).

fof(mConsDiff,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ! [W1] :
          ( aElementOf0(W1,W0)
         => sdtpldt0(sdtmndt0(W0,W1),W1) = W0 ) ) ).

fof(mDiffCons,axiom,
    ! [W0,W1] :
      ( ( aElement0(W0)
        & aSet0(W1) )
     => ( ~ aElementOf0(W0,W1)
       => sdtmndt0(sdtpldt0(W1,W0),W0) = W1 ) ) ).

fof(mCConsSet,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ! [W1] :
          ( ( aSet0(W1)
            & isCountable0(W1) )
         => isCountable0(sdtpldt0(W1,W0)) ) ) ).

fof(mCDiffSet,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ! [W1] :
          ( ( aSet0(W1)
            & isCountable0(W1) )
         => isCountable0(sdtmndt0(W1,W0)) ) ) ).

fof(mFConsSet,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ! [W1] :
          ( ( aSet0(W1)
            & isFinite0(W1) )
         => isFinite0(sdtpldt0(W1,W0)) ) ) ).

fof(mFDiffSet,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ! [W1] :
          ( ( aSet0(W1)
            & isFinite0(W1) )
         => isFinite0(sdtmndt0(W1,W0)) ) ) ).

fof(mNATSet,axiom,
    ( aSet0(szNzAzT0)
    & isCountable0(szNzAzT0) ) ).

fof(mZeroNum,axiom,
    aElementOf0(sz00,szNzAzT0) ).

fof(mSuccNum,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => ( aElementOf0(szszuzczcdt0(W0),szNzAzT0)
        & szszuzczcdt0(W0) != sz00 ) ) ).

fof(mSuccEquSucc,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( szszuzczcdt0(W0) = szszuzczcdt0(W1)
       => W0 = W1 ) ) ).

fof(mNatExtra,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => ( W0 = sz00
        | ? [W1] :
            ( aElementOf0(W1,szNzAzT0)
            & W0 = szszuzczcdt0(W1) ) ) ) ).

fof(mNatNSucc,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => W0 != szszuzczcdt0(W0) ) ).

fof(mLessRel,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( sdtlseqdt0(W0,W1)
       => $true ) ) ).

fof(mZeroLess,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => sdtlseqdt0(sz00,W0) ) ).

fof(mNoScLessZr,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => ~ sdtlseqdt0(szszuzczcdt0(W0),sz00) ) ).

fof(mSuccLess,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( sdtlseqdt0(W0,W1)
      <=> sdtlseqdt0(szszuzczcdt0(W0),szszuzczcdt0(W1)) ) ) ).

fof(mLessSucc,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => sdtlseqdt0(W0,szszuzczcdt0(W0)) ) ).

fof(mLessRefl,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => sdtlseqdt0(W0,W0) ) ).

fof(mLessASymm,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( ( sdtlseqdt0(W0,W1)
          & sdtlseqdt0(W1,W0) )
       => W0 = W1 ) ) ).

fof(mLessTrans,axiom,
    ! [W0,W1,W2] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0)
        & aElementOf0(W2,szNzAzT0) )
     => ( ( sdtlseqdt0(W0,W1)
          & sdtlseqdt0(W1,W2) )
       => sdtlseqdt0(W0,W2) ) ) ).

fof(mLessTotal,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( sdtlseqdt0(W0,W1)
        | sdtlseqdt0(szszuzczcdt0(W1),W0) ) ) ).

fof(mIHSort,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( iLess0(W0,W1)
       => $true ) ) ).

fof(mIH,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => iLess0(W0,szszuzczcdt0(W0)) ) ).

fof(mCardS,axiom,
    ! [W0] :
      ( aSet0(W0)
     => aElement0(sbrdtbr0(W0)) ) ).

fof(mCardNum,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ( aElementOf0(sbrdtbr0(W0),szNzAzT0)
      <=> isFinite0(W0) ) ) ).

fof(mCardEmpty,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ( sbrdtbr0(W0) = sz00
      <=> W0 = slcrc0 ) ) ).

fof(mCardCons,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & isFinite0(W0) )
     => ! [W1] :
          ( aElement0(W1)
         => ( ~ aElementOf0(W1,W0)
           => sbrdtbr0(sdtpldt0(W0,W1)) = szszuzczcdt0(sbrdtbr0(W0)) ) ) ) ).

fof(mCardDiff,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ! [W1] :
          ( ( isFinite0(W0)
            & aElementOf0(W1,W0) )
         => szszuzczcdt0(sbrdtbr0(sdtmndt0(W0,W1))) = sbrdtbr0(W0) ) ) ).

fof(mCardSub,axiom,
    ! [W0] :
      ( aSet0(W0)
     => ! [W1] :
          ( ( isFinite0(W0)
            & aSubsetOf0(W1,W0) )
         => sdtlseqdt0(sbrdtbr0(W1),sbrdtbr0(W0)) ) ) ).

fof(mCardSubEx,axiom,
    ! [W0,W1] :
      ( ( aSet0(W0)
        & aElementOf0(W1,szNzAzT0) )
     => ( ( isFinite0(W0)
          & sdtlseqdt0(W1,sbrdtbr0(W0)) )
       => ? [W2] :
            ( aSubsetOf0(W2,W0)
            & sbrdtbr0(W2) = W1 ) ) ) ).

fof(mDefMin,definition,
    ! [W0] :
      ( ( aSubsetOf0(W0,szNzAzT0)
        & W0 != slcrc0 )
     => ! [W1] :
          ( W1 = szmzizndt0(W0)
        <=> ( aElementOf0(W1,W0)
            & ! [W2] :
                ( aElementOf0(W2,W0)
               => sdtlseqdt0(W1,W2) ) ) ) ) ).

fof(mDefMax,definition,
    ! [W0] :
      ( ( aSubsetOf0(W0,szNzAzT0)
        & isFinite0(W0)
        & W0 != slcrc0 )
     => ! [W1] :
          ( W1 = szmzazxdt0(W0)
        <=> ( aElementOf0(W1,W0)
            & ! [W2] :
                ( aElementOf0(W2,W0)
               => sdtlseqdt0(W2,W1) ) ) ) ) ).

fof(mMinMin,axiom,
    ! [W0,W1] :
      ( ( aSubsetOf0(W0,szNzAzT0)
        & aSubsetOf0(W1,szNzAzT0)
        & W0 != slcrc0
        & W1 != slcrc0 )
     => ( ( aElementOf0(szmzizndt0(W0),W1)
          & aElementOf0(szmzizndt0(W1),W0) )
       => szmzizndt0(W0) = szmzizndt0(W1) ) ) ).

fof(mDefSeg,definition,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => ! [W1] :
          ( W1 = slbdtrb0(W0)
        <=> ( aSet0(W1)
            & ! [W2] :
                ( aElementOf0(W2,W1)
              <=> ( aElementOf0(W2,szNzAzT0)
                  & sdtlseqdt0(szszuzczcdt0(W2),W0) ) ) ) ) ) ).

fof(mSegFin,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => isFinite0(slbdtrb0(W0)) ) ).

fof(mSegZero,axiom,
    slbdtrb0(sz00) = slcrc0 ).

fof(mSegSucc,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( aElementOf0(W0,slbdtrb0(szszuzczcdt0(W1)))
      <=> ( aElementOf0(W0,slbdtrb0(W1))
          | W0 = W1 ) ) ) ).

fof(mSegLess,axiom,
    ! [W0,W1] :
      ( ( aElementOf0(W0,szNzAzT0)
        & aElementOf0(W1,szNzAzT0) )
     => ( sdtlseqdt0(W0,W1)
      <=> aSubsetOf0(slbdtrb0(W0),slbdtrb0(W1)) ) ) ).

fof(mFinSubSeg,axiom,
    ! [W0] :
      ( ( aSubsetOf0(W0,szNzAzT0)
        & isFinite0(W0) )
     => ? [W1] :
          ( aElementOf0(W1,szNzAzT0)
          & aSubsetOf0(W0,slbdtrb0(W1)) ) ) ).

fof(mCardSeg,axiom,
    ! [W0] :
      ( aElementOf0(W0,szNzAzT0)
     => sbrdtbr0(slbdtrb0(W0)) = W0 ) ).

fof(mDefSel,definition,
    ! [W0,W1] :
      ( ( aSet0(W0)
        & aElementOf0(W1,szNzAzT0) )
     => ! [W2] :
          ( W2 = slbdtsldtrb0(W0,W1)
        <=> ( aSet0(W2)
            & ! [W3] :
                ( aElementOf0(W3,W2)
              <=> ( aSubsetOf0(W3,W0)
                  & sbrdtbr0(W3) = W1 ) ) ) ) ) ).

fof(mSelFSet,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & isFinite0(W0) )
     => ! [W1] :
          ( aElementOf0(W1,szNzAzT0)
         => isFinite0(slbdtsldtrb0(W0,W1)) ) ) ).

fof(mSelNSet,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & ~ isFinite0(W0) )
     => ! [W1] :
          ( aElementOf0(W1,szNzAzT0)
         => slbdtsldtrb0(W0,W1) != slcrc0 ) ) ).

fof(mSelCSet,axiom,
    ! [W0] :
      ( ( aSet0(W0)
        & isCountable0(W0) )
     => ! [W1] :
          ( ( aElementOf0(W1,szNzAzT0)
            & W1 != sz00 )
         => isCountable0(slbdtsldtrb0(W0,W1)) ) ) ).

fof(m__2202,hypothesis,
    aElementOf0(xk,szNzAzT0) ).

fof(m__2202_02,hypothesis,
    ( aSet0(xS)
    & aSet0(xT)
    & xk != sz00 ) ).

fof(m__2227,hypothesis,
    ( aSet0(slbdtsldtrb0(xS,xk))
    & ! [W0] :
        ( ( aElementOf0(W0,slbdtsldtrb0(xS,xk))
         => ( aSet0(W0)
            & ! [W1] :
                ( aElementOf0(W1,W0)
               => aElementOf0(W1,xS) )
            & aSubsetOf0(W0,xS)
            & sbrdtbr0(W0) = xk ) )
        & ( ( ( ( aSet0(W0)
                & ! [W1] :
                    ( aElementOf0(W1,W0)
                   => aElementOf0(W1,xS) ) )
              | aSubsetOf0(W0,xS) )
            & sbrdtbr0(W0) = xk )
         => aElementOf0(W0,slbdtsldtrb0(xS,xk)) ) )
    & aSet0(slbdtsldtrb0(xT,xk))
    & ! [W0] :
        ( ( aElementOf0(W0,slbdtsldtrb0(xT,xk))
         => ( aSet0(W0)
            & ! [W1] :
                ( aElementOf0(W1,W0)
               => aElementOf0(W1,xT) )
            & aSubsetOf0(W0,xT)
            & sbrdtbr0(W0) = xk ) )
        & ( ( ( ( aSet0(W0)
                & ! [W1] :
                    ( aElementOf0(W1,W0)
                   => aElementOf0(W1,xT) ) )
              | aSubsetOf0(W0,xT) )
            & sbrdtbr0(W0) = xk )
         => aElementOf0(W0,slbdtsldtrb0(xT,xk)) ) )
    & ! [W0] :
        ( aElementOf0(W0,slbdtsldtrb0(xS,xk))
       => aElementOf0(W0,slbdtsldtrb0(xT,xk)) )
    & aSubsetOf0(slbdtsldtrb0(xS,xk),slbdtsldtrb0(xT,xk))
    & ~ ( ! [W0] :
            ( ( aElementOf0(W0,slbdtsldtrb0(xS,xk))
             => ( aSet0(W0)
                & ! [W1] :
                    ( aElementOf0(W1,W0)
                   => aElementOf0(W1,xS) )
                & aSubsetOf0(W0,xS)
                & sbrdtbr0(W0) = xk ) )
            & ( ( ( ( aSet0(W0)
                    & ! [W1] :
                        ( aElementOf0(W1,W0)
                       => aElementOf0(W1,xS) ) )
                  | aSubsetOf0(W0,xS) )
                & sbrdtbr0(W0) = xk )
             => aElementOf0(W0,slbdtsldtrb0(xS,xk)) ) )
       => ( ~ ? [W0] : aElementOf0(W0,slbdtsldtrb0(xS,xk))
          | slbdtsldtrb0(xS,xk) = slcrc0 ) ) ) ).

fof(m__2256,hypothesis,
    aElementOf0(xx,xS) ).

fof(m__2270,hypothesis,
    ( aSet0(xQ)
    & ! [W0] :
        ( aElementOf0(W0,xQ)
       => aElementOf0(W0,xS) )
    & aSubsetOf0(xQ,xS)
    & sbrdtbr0(xQ) = xk
    & aElementOf0(xQ,slbdtsldtrb0(xS,xk)) ) ).

fof(m__2291,hypothesis,
    ( aSet0(xQ)
    & isFinite0(xQ)
    & sbrdtbr0(xQ) = xk ) ).

fof(m__2304,hypothesis,
    ( aElement0(xy)
    & aElementOf0(xy,xQ) ) ).

fof(m__2323,hypothesis,
    ~ aElementOf0(xx,xQ) ).

fof(m__,conjecture,
    aElementOf0(xx,xT) ).

%------------------------------------------------------------------------------