TPTP Problem File: NUM539+2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : NUM539+2 : TPTP v8.2.0. Released v4.0.0.
% Domain   : Number Theory
% Problem  : Ramsey's Infinite Theorem 07, 01 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_07.01 [Pas08]

% Status   : Theorem
% Rating   : 0.17 v8.1.0, 0.14 v7.5.0, 0.16 v7.4.0, 0.07 v7.1.0, 0.09 v7.0.0, 0.07 v6.4.0, 0.12 v6.2.0, 0.16 v6.1.0, 0.20 v6.0.0, 0.17 v5.5.0, 0.22 v5.4.0, 0.29 v5.3.0, 0.33 v5.2.0, 0.20 v5.1.0, 0.29 v5.0.0, 0.38 v4.1.0, 0.43 v4.0.1, 0.65 v4.0.0
% Syntax   : Number of formulae    :   51 (   2 unt;   6 def)
%            Number of atoms       :  203 (  28 equ)
%            Maximal formula atoms :   12 (   3 avg)
%            Number of connectives :  167 (  15   ~;   6   |;  59   &)
%                                         (  11 <=>;  76  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   12 (   5 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :   10 (   8 usr;   1 prp; 0-2 aty)
%            Number of functors    :   11 (  11 usr;   5 con; 0-2 aty)
%            Number of variables   :   91 (  86   !;   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(m__1779,hypothesis,
    ( aSet0(xS)
    & ! [W0] :
        ( aElementOf0(W0,xS)
       => aElementOf0(W0,szNzAzT0) )
    & aSubsetOf0(xS,szNzAzT0)
    & aSet0(xT)
    & ! [W0] :
        ( aElementOf0(W0,xT)
       => aElementOf0(W0,szNzAzT0) )
    & aSubsetOf0(xT,szNzAzT0)
    & ~ ( ~ ? [W0] : aElementOf0(W0,xS)
        | xS = slcrc0 )
    & ~ ( ~ ? [W0] : aElementOf0(W0,xT)
        | xT = slcrc0 ) ) ).

fof(m__1802,hypothesis,
    ( aElementOf0(szmzizndt0(xS),xS)
    & ! [W0] :
        ( aElementOf0(W0,xS)
       => sdtlseqdt0(szmzizndt0(xS),W0) )
    & aElementOf0(szmzizndt0(xS),xT)
    & aElementOf0(szmzizndt0(xT),xT)
    & ! [W0] :
        ( aElementOf0(W0,xT)
       => sdtlseqdt0(szmzizndt0(xT),W0) )
    & aElementOf0(szmzizndt0(xT),xS) ) ).

fof(m__,conjecture,
    ( ( aElementOf0(szmzizndt0(xS),xS)
      & ! [W0] :
          ( aElementOf0(W0,xS)
         => sdtlseqdt0(szmzizndt0(xS),W0) ) )
   => ( ! [W0] :
          ( aElementOf0(W0,xT)
         => sdtlseqdt0(szmzizndt0(xS),W0) )
      | szmzizndt0(xS) = szmzizndt0(xT) ) ) ).

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