TPTP Problem File: RNG091+2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : RNG091+2 : TPTP v8.2.0. Released v4.0.0.
% Domain   : Ring Theory
% Problem  : Chinese remainder theorem in a ring 03_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    : chines_03_07.01 [Pas08]

% Status   : Theorem
% Rating   : 0.25 v7.5.0, 0.28 v7.4.0, 0.17 v7.3.0, 0.21 v7.2.0, 0.17 v7.1.0, 0.22 v7.0.0, 0.17 v6.4.0, 0.19 v6.3.0, 0.25 v6.2.0, 0.28 v6.1.0, 0.43 v6.0.0, 0.26 v5.5.0, 0.41 v5.4.0, 0.43 v5.3.0, 0.52 v5.2.0, 0.45 v5.1.0, 0.57 v5.0.0, 0.58 v4.1.0, 0.61 v4.0.1, 0.87 v4.0.0
% Syntax   : Number of formulae    :   33 (   5 unt;   3 def)
%            Number of atoms       :  129 (  32 equ)
%            Maximal formula atoms :   14 (   3 avg)
%            Number of connectives :   97 (   1   ~;   3   |;  54   &)
%                                         (   5 <=>;  34  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   5 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    6 (   4 usr;   1 prp; 0-2 aty)
%            Number of functors    :   16 (  16 usr;  11 con; 0-2 aty)
%            Number of variables   :   61 (  51   !;  10   ?)
% SPC      : FOF_THM_RFO_SEQ

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

fof(mSortsC,axiom,
    aElement0(sz00) ).

fof(mSortsC_01,axiom,
    aElement0(sz10) ).

fof(mSortsU,axiom,
    ! [W0] :
      ( aElement0(W0)
     => aElement0(smndt0(W0)) ) ).

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

fof(mSortsB_02,axiom,
    ! [W0,W1] :
      ( ( aElement0(W0)
        & aElement0(W1) )
     => aElement0(sdtasdt0(W0,W1)) ) ).

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

fof(mAddAsso,axiom,
    ! [W0,W1,W2] :
      ( ( aElement0(W0)
        & aElement0(W1)
        & aElement0(W2) )
     => sdtpldt0(sdtpldt0(W0,W1),W2) = sdtpldt0(W0,sdtpldt0(W1,W2)) ) ).

fof(mAddZero,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ( sdtpldt0(W0,sz00) = W0
        & W0 = sdtpldt0(sz00,W0) ) ) ).

fof(mAddInvr,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ( sdtpldt0(W0,smndt0(W0)) = sz00
        & sz00 = sdtpldt0(smndt0(W0),W0) ) ) ).

fof(mMulComm,axiom,
    ! [W0,W1] :
      ( ( aElement0(W0)
        & aElement0(W1) )
     => sdtasdt0(W0,W1) = sdtasdt0(W1,W0) ) ).

fof(mMulAsso,axiom,
    ! [W0,W1,W2] :
      ( ( aElement0(W0)
        & aElement0(W1)
        & aElement0(W2) )
     => sdtasdt0(sdtasdt0(W0,W1),W2) = sdtasdt0(W0,sdtasdt0(W1,W2)) ) ).

fof(mMulUnit,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ( sdtasdt0(W0,sz10) = W0
        & W0 = sdtasdt0(sz10,W0) ) ) ).

fof(mAMDistr,axiom,
    ! [W0,W1,W2] :
      ( ( aElement0(W0)
        & aElement0(W1)
        & aElement0(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)) ) ) ).

fof(mMulMnOne,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ( sdtasdt0(smndt0(sz10),W0) = smndt0(W0)
        & smndt0(W0) = sdtasdt0(W0,smndt0(sz10)) ) ) ).

fof(mMulZero,axiom,
    ! [W0] :
      ( aElement0(W0)
     => ( sdtasdt0(W0,sz00) = sz00
        & sz00 = sdtasdt0(sz00,W0) ) ) ).

fof(mCancel,axiom,
    ! [W0,W1] :
      ( ( aElement0(W0)
        & aElement0(W1) )
     => ( sdtasdt0(W0,W1) = sz00
       => ( W0 = sz00
          | W1 = sz00 ) ) ) ).

fof(mUnNeZr,axiom,
    sz10 != sz00 ).

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

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

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

fof(mDefSSum,definition,
    ! [W0,W1] :
      ( ( aSet0(W0)
        & aSet0(W1) )
     => ! [W2] :
          ( W2 = sdtpldt1(W0,W1)
        <=> ( aSet0(W2)
            & ! [W3] :
                ( aElementOf0(W3,W2)
              <=> ? [W4,W5] :
                    ( aElementOf0(W4,W0)
                    & aElementOf0(W5,W1)
                    & sdtpldt0(W4,W5) = W3 ) ) ) ) ) ).

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

fof(mDefIdeal,definition,
    ! [W0] :
      ( aIdeal0(W0)
    <=> ( aSet0(W0)
        & ! [W1] :
            ( aElementOf0(W1,W0)
           => ( ! [W2] :
                  ( aElementOf0(W2,W0)
                 => aElementOf0(sdtpldt0(W1,W2),W0) )
              & ! [W2] :
                  ( aElement0(W2)
                 => aElementOf0(sdtasdt0(W2,W1),W0) ) ) ) ) ) ).

fof(m__870,hypothesis,
    ( aSet0(xI)
    & ! [W0] :
        ( aElementOf0(W0,xI)
       => ( ! [W1] :
              ( aElementOf0(W1,xI)
             => aElementOf0(sdtpldt0(W0,W1),xI) )
          & ! [W1] :
              ( aElement0(W1)
             => aElementOf0(sdtasdt0(W1,W0),xI) ) ) )
    & aIdeal0(xI)
    & aSet0(xJ)
    & ! [W0] :
        ( aElementOf0(W0,xJ)
       => ( ! [W1] :
              ( aElementOf0(W1,xJ)
             => aElementOf0(sdtpldt0(W0,W1),xJ) )
          & ! [W1] :
              ( aElement0(W1)
             => aElementOf0(sdtasdt0(W1,W0),xJ) ) ) )
    & aIdeal0(xJ) ) ).

fof(m__901,hypothesis,
    ( ? [W0,W1] :
        ( aElementOf0(W0,xI)
        & aElementOf0(W1,xJ)
        & sdtpldt0(W0,W1) = xx )
    & aElementOf0(xx,sdtpldt1(xI,xJ))
    & ? [W0,W1] :
        ( aElementOf0(W0,xI)
        & aElementOf0(W1,xJ)
        & sdtpldt0(W0,W1) = xy )
    & aElementOf0(xy,sdtpldt1(xI,xJ))
    & aElement0(xz) ) ).

fof(m__934,hypothesis,
    ( aElementOf0(xk,xI)
    & aElementOf0(xl,xJ)
    & xx = sdtpldt0(xk,xl) ) ).

fof(m__967,hypothesis,
    ( aElementOf0(xm,xI)
    & aElementOf0(xn,xJ)
    & xy = sdtpldt0(xm,xn) ) ).

fof(m__994,hypothesis,
    ( aElementOf0(sdtpldt0(xk,xm),xI)
    & aElementOf0(sdtpldt0(xl,xn),xJ) ) ).

fof(m__1021,hypothesis,
    ( aElementOf0(sdtasdt0(xz,xk),xI)
    & aElementOf0(sdtasdt0(xz,xl),xJ) ) ).

fof(m__1061,hypothesis,
    sdtpldt0(xx,xy) = sdtpldt0(sdtpldt0(xk,xm),sdtpldt0(xl,xn)) ).

fof(m__1098,hypothesis,
    sdtasdt0(xz,xx) = sdtpldt0(sdtasdt0(xz,xk),sdtasdt0(xz,xl)) ).

fof(m__,conjecture,
    ( ( ? [W0,W1] :
          ( aElementOf0(W0,xI)
          & aElementOf0(W1,xJ)
          & sdtpldt0(W0,W1) = sdtpldt0(xx,xy) )
      | aElementOf0(sdtpldt0(xx,xy),sdtpldt1(xI,xJ)) )
    & ( ? [W0,W1] :
          ( aElementOf0(W0,xI)
          & aElementOf0(W1,xJ)
          & sdtpldt0(W0,W1) = sdtasdt0(xz,xx) )
      | aElementOf0(sdtasdt0(xz,xx),sdtpldt1(xI,xJ)) ) ) ).

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