TPTP Problem File: NUM527+3.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : NUM527+3 : TPTP v9.0.0. Released v4.0.0.
% Domain : Number Theory
% Problem : Square root of a prime is irrational 15_04_01, 02 expansion
% Version : Especial.
% English :
% Refs : [LPV06] Lyaletski et al. (2006), SAD as a Mathematical Assista
% : [VLP07] Verchinine et al. (2007), System for Automated Deduction
% : [Pas08] Paskevich (2008), Email to G. Sutcliffe
% Source : [Pas08]
% Names : primes_15_04_01.02 [Pas08]
% Status : Theorem
% Rating : 0.58 v9.0.0, 0.61 v8.2.0, 0.64 v8.1.0, 0.69 v7.4.0, 0.60 v7.3.0, 0.66 v7.1.0, 0.61 v7.0.0, 0.60 v6.4.0, 0.62 v6.2.0, 0.76 v6.1.0, 0.80 v6.0.0, 0.74 v5.5.0, 0.78 v5.4.0, 0.82 v5.3.0, 0.85 v5.2.0, 0.70 v5.1.0, 0.81 v5.0.0, 0.88 v4.1.0, 0.91 v4.0.0
% Syntax : Number of formulae : 47 ( 3 unt; 5 def)
% Number of atoms : 237 ( 79 equ)
% Maximal formula atoms : 16 ( 5 avg)
% Number of connectives : 219 ( 29 ~; 13 |; 105 &)
% ( 5 <=>; 67 =>; 0 <=; 0 <~>)
% Maximal formula depth : 16 ( 6 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 7 ( 5 usr; 1 prp; 0-2 aty)
% Number of functors : 10 ( 10 usr; 6 con; 0-2 aty)
% Number of variables : 96 ( 87 !; 9 ?)
% SPC : FOF_THM_RFO_SEQ
% Comments : Problem generated by the SAD system [VLP07]
%------------------------------------------------------------------------------
fof(mNatSort,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> $true ) ).
fof(mSortsC,axiom,
aNaturalNumber0(sz00) ).
fof(mSortsC_01,axiom,
( aNaturalNumber0(sz10)
& sz10 != sz00 ) ).
fof(mSortsB,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> aNaturalNumber0(sdtpldt0(W0,W1)) ) ).
fof(mSortsB_02,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> aNaturalNumber0(sdtasdt0(W0,W1)) ) ).
fof(mAddComm,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> sdtpldt0(W0,W1) = sdtpldt0(W1,W0) ) ).
fof(mAddAsso,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> sdtpldt0(sdtpldt0(W0,W1),W2) = sdtpldt0(W0,sdtpldt0(W1,W2)) ) ).
fof(m_AddZero,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> ( sdtpldt0(W0,sz00) = W0
& W0 = sdtpldt0(sz00,W0) ) ) ).
fof(mMulComm,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> sdtasdt0(W0,W1) = sdtasdt0(W1,W0) ) ).
fof(mMulAsso,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> sdtasdt0(sdtasdt0(W0,W1),W2) = sdtasdt0(W0,sdtasdt0(W1,W2)) ) ).
fof(m_MulUnit,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> ( sdtasdt0(W0,sz10) = W0
& W0 = sdtasdt0(sz10,W0) ) ) ).
fof(m_MulZero,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> ( sdtasdt0(W0,sz00) = sz00
& sz00 = sdtasdt0(sz00,W0) ) ) ).
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)) ) ) ).
fof(mAddCanc,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( sdtpldt0(W0,W1) = sdtpldt0(W0,W2)
| sdtpldt0(W1,W0) = sdtpldt0(W2,W0) )
=> W1 = W2 ) ) ).
fof(mMulCanc,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> ( W0 != sz00
=> ! [W1,W2] :
( ( aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( sdtasdt0(W0,W1) = sdtasdt0(W0,W2)
| sdtasdt0(W1,W0) = sdtasdt0(W2,W0) )
=> W1 = W2 ) ) ) ) ).
fof(mZeroAdd,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( sdtpldt0(W0,W1) = sz00
=> ( W0 = sz00
& W1 = sz00 ) ) ) ).
fof(mZeroMul,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( sdtasdt0(W0,W1) = sz00
=> ( W0 = sz00
| W1 = sz00 ) ) ) ).
fof(mDefLE,definition,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( sdtlseqdt0(W0,W1)
<=> ? [W2] :
( aNaturalNumber0(W2)
& sdtpldt0(W0,W2) = W1 ) ) ) ).
fof(mDefDiff,definition,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( sdtlseqdt0(W0,W1)
=> ! [W2] :
( W2 = sdtmndt0(W1,W0)
<=> ( aNaturalNumber0(W2)
& sdtpldt0(W0,W2) = W1 ) ) ) ) ).
fof(mLERefl,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> sdtlseqdt0(W0,W0) ) ).
fof(mLEAsym,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( ( sdtlseqdt0(W0,W1)
& sdtlseqdt0(W1,W0) )
=> W0 = W1 ) ) ).
fof(mLETran,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( sdtlseqdt0(W0,W1)
& sdtlseqdt0(W1,W2) )
=> sdtlseqdt0(W0,W2) ) ) ).
fof(mLETotal,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( sdtlseqdt0(W0,W1)
| ( W1 != W0
& sdtlseqdt0(W1,W0) ) ) ) ).
fof(mMonAdd,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( ( W0 != W1
& sdtlseqdt0(W0,W1) )
=> ! [W2] :
( aNaturalNumber0(W2)
=> ( sdtpldt0(W2,W0) != sdtpldt0(W2,W1)
& sdtlseqdt0(sdtpldt0(W2,W0),sdtpldt0(W2,W1))
& sdtpldt0(W0,W2) != sdtpldt0(W1,W2)
& sdtlseqdt0(sdtpldt0(W0,W2),sdtpldt0(W1,W2)) ) ) ) ) ).
fof(mMonMul,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( W0 != sz00
& W1 != W2
& sdtlseqdt0(W1,W2) )
=> ( sdtasdt0(W0,W1) != sdtasdt0(W0,W2)
& sdtlseqdt0(sdtasdt0(W0,W1),sdtasdt0(W0,W2))
& sdtasdt0(W1,W0) != sdtasdt0(W2,W0)
& sdtlseqdt0(sdtasdt0(W1,W0),sdtasdt0(W2,W0)) ) ) ) ).
fof(mLENTr,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> ( W0 = sz00
| W0 = sz10
| ( sz10 != W0
& sdtlseqdt0(sz10,W0) ) ) ) ).
fof(mMonMul2,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( W0 != sz00
=> sdtlseqdt0(W1,sdtasdt0(W1,W0)) ) ) ).
fof(mIH,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( iLess0(W0,W1)
=> $true ) ) ).
fof(mIH_03,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( ( W0 != W1
& sdtlseqdt0(W0,W1) )
=> iLess0(W0,W1) ) ) ).
fof(mDefDiv,definition,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( doDivides0(W0,W1)
<=> ? [W2] :
( aNaturalNumber0(W2)
& W1 = sdtasdt0(W0,W2) ) ) ) ).
fof(mDefQuot,definition,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( ( W0 != sz00
& doDivides0(W0,W1) )
=> ! [W2] :
( W2 = sdtsldt0(W1,W0)
<=> ( aNaturalNumber0(W2)
& W1 = sdtasdt0(W0,W2) ) ) ) ) ).
fof(mDivTrans,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( doDivides0(W0,W1)
& doDivides0(W1,W2) )
=> doDivides0(W0,W2) ) ) ).
fof(mDivSum,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( doDivides0(W0,W1)
& doDivides0(W0,W2) )
=> doDivides0(W0,sdtpldt0(W1,W2)) ) ) ).
fof(mDivMin,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( doDivides0(W0,W1)
& doDivides0(W0,sdtpldt0(W1,W2)) )
=> doDivides0(W0,W2) ) ) ).
fof(mDivLE,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( ( doDivides0(W0,W1)
& W1 != sz00 )
=> sdtlseqdt0(W0,W1) ) ) ).
fof(mDivAsso,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1) )
=> ( ( W0 != sz00
& doDivides0(W0,W1) )
=> ! [W2] :
( aNaturalNumber0(W2)
=> sdtasdt0(W2,sdtsldt0(W1,W0)) = sdtsldt0(sdtasdt0(W2,W1),W0) ) ) ) ).
fof(mDefPrime,definition,
! [W0] :
( aNaturalNumber0(W0)
=> ( isPrime0(W0)
<=> ( W0 != sz00
& W0 != sz10
& ! [W1] :
( ( aNaturalNumber0(W1)
& doDivides0(W1,W0) )
=> ( W1 = sz10
| W1 = W0 ) ) ) ) ) ).
fof(mPrimDiv,axiom,
! [W0] :
( ( aNaturalNumber0(W0)
& W0 != sz00
& W0 != sz10 )
=> ? [W1] :
( aNaturalNumber0(W1)
& doDivides0(W1,W0)
& isPrime0(W1) ) ) ).
fof(mPDP,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2) )
=> ( ( isPrime0(W2)
& doDivides0(W2,sdtasdt0(W0,W1)) )
=> ( doDivides0(W2,W0)
| doDivides0(W2,W1) ) ) ) ).
fof(m__2987,hypothesis,
( aNaturalNumber0(xn)
& aNaturalNumber0(xm)
& aNaturalNumber0(xp)
& xn != sz00
& xm != sz00
& xp != sz00 ) ).
fof(m__2963,hypothesis,
! [W0,W1,W2] :
( ( aNaturalNumber0(W0)
& aNaturalNumber0(W1)
& aNaturalNumber0(W2)
& W0 != sz00
& W1 != sz00
& W2 != sz00 )
=> ( sdtasdt0(W2,sdtasdt0(W1,W1)) = sdtasdt0(W0,W0)
=> ( iLess0(W0,xn)
=> ~ ( ( W2 != sz10
& ! [W3] :
( ( aNaturalNumber0(W3)
& ? [W4] :
( aNaturalNumber0(W4)
& W2 = sdtasdt0(W3,W4) )
& doDivides0(W3,W2) )
=> ( W3 = sz10
| W3 = W2 ) ) )
| isPrime0(W2) ) ) ) ) ).
fof(m__3014,hypothesis,
sdtasdt0(xp,sdtasdt0(xm,xm)) = sdtasdt0(xn,xn) ).
fof(m__3025,hypothesis,
( xp != sz10
& ! [W0] :
( ( aNaturalNumber0(W0)
& ( ? [W1] :
( aNaturalNumber0(W1)
& xp = sdtasdt0(W0,W1) )
| doDivides0(W0,xp) ) )
=> ( W0 = sz10
| W0 = xp ) )
& isPrime0(xp) ) ).
fof(m__3046,hypothesis,
( ? [W0] :
( aNaturalNumber0(W0)
& sdtasdt0(xn,xn) = sdtasdt0(xp,W0) )
& doDivides0(xp,sdtasdt0(xn,xn))
& ? [W0] :
( aNaturalNumber0(W0)
& xn = sdtasdt0(xp,W0) )
& doDivides0(xp,xn) ) ).
fof(m__3059,hypothesis,
( aNaturalNumber0(xq)
& xn = sdtasdt0(xp,xq)
& xq = sdtsldt0(xn,xp) ) ).
fof(m__3082,hypothesis,
sdtasdt0(xm,xm) = sdtasdt0(xp,sdtasdt0(xq,xq)) ).
fof(m__,conjecture,
( ( ? [W0] :
( aNaturalNumber0(W0)
& sdtpldt0(xn,W0) = xm )
& sdtlseqdt0(xn,xm) )
=> ( ? [W0] :
( aNaturalNumber0(W0)
& sdtpldt0(sdtasdt0(xn,xn),W0) = sdtasdt0(xm,xm) )
| sdtlseqdt0(sdtasdt0(xn,xn),sdtasdt0(xm,xm)) ) ) ).
%------------------------------------------------------------------------------