TPTP Problem File: NUM440+6.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : NUM440+6 : TPTP v9.0.0. Released v4.0.0.
% Domain : Number Theory
% Problem : Fuerstenberg's infinitude of primes 09_01, 05 expansion
% Version : Especial.
% English :
% Refs : [VLP07] Verchinine et al. (2007), System for Automated Deduction
% : [Pas08] Paskevich (2008), Email to G. Sutcliffe
% Source : [Pas08]
% Names : fuerst_09_01.05 [Pas08]
% Status : Theorem
% Rating : 0.42 v8.2.0, 0.44 v7.5.0, 0.50 v7.4.0, 0.37 v7.3.0, 0.48 v7.2.0, 0.41 v7.1.0, 0.48 v7.0.0, 0.37 v6.4.0, 0.38 v6.3.0, 0.46 v6.2.0, 0.44 v6.1.0, 0.50 v6.0.0, 0.48 v5.5.0, 0.56 v5.4.0, 0.61 v5.3.0, 0.67 v5.2.0, 0.55 v5.1.0, 0.62 v5.0.0, 0.71 v4.1.0, 0.74 v4.0.1, 0.83 v4.0.0
% Syntax : Number of formulae : 40 ( 2 unt; 10 def)
% Number of atoms : 274 ( 44 equ)
% Maximal formula atoms : 64 ( 6 avg)
% Number of connectives : 256 ( 22 ~; 10 |; 128 &)
% ( 29 <=>; 67 =>; 0 <=; 0 <~>)
% Maximal formula depth : 33 ( 7 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 12 ( 10 usr; 1 prp; 0-3 aty)
% Number of functors : 13 ( 13 usr; 5 con; 0-2 aty)
% Number of variables : 112 ( 102 !; 10 ?)
% SPC : FOF_THM_RFO_SEQ
% Comments : Problem generated by the SAD system [VLP07]
%------------------------------------------------------------------------------
fof(mIntegers,axiom,
! [W0] :
( aInteger0(W0)
=> $true ) ).
fof(mIntZero,axiom,
aInteger0(sz00) ).
fof(mIntOne,axiom,
aInteger0(sz10) ).
fof(mIntNeg,axiom,
! [W0] :
( aInteger0(W0)
=> aInteger0(smndt0(W0)) ) ).
fof(mIntPlus,axiom,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1) )
=> aInteger0(sdtpldt0(W0,W1)) ) ).
fof(mIntMult,axiom,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1) )
=> aInteger0(sdtasdt0(W0,W1)) ) ).
fof(mAddAsso,axiom,
! [W0,W1,W2] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2) )
=> sdtpldt0(W0,sdtpldt0(W1,W2)) = sdtpldt0(sdtpldt0(W0,W1),W2) ) ).
fof(mAddComm,axiom,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1) )
=> sdtpldt0(W0,W1) = sdtpldt0(W1,W0) ) ).
fof(mAddZero,axiom,
! [W0] :
( aInteger0(W0)
=> ( sdtpldt0(W0,sz00) = W0
& W0 = sdtpldt0(sz00,W0) ) ) ).
fof(mAddNeg,axiom,
! [W0] :
( aInteger0(W0)
=> ( sdtpldt0(W0,smndt0(W0)) = sz00
& sz00 = sdtpldt0(smndt0(W0),W0) ) ) ).
fof(mMulAsso,axiom,
! [W0,W1,W2] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2) )
=> sdtasdt0(W0,sdtasdt0(W1,W2)) = sdtasdt0(sdtasdt0(W0,W1),W2) ) ).
fof(mMulComm,axiom,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1) )
=> sdtasdt0(W0,W1) = sdtasdt0(W1,W0) ) ).
fof(mMulOne,axiom,
! [W0] :
( aInteger0(W0)
=> ( sdtasdt0(W0,sz10) = W0
& W0 = sdtasdt0(sz10,W0) ) ) ).
fof(mDistrib,axiom,
! [W0,W1,W2] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2) )
=> ( sdtasdt0(W0,sdtpldt0(W1,W2)) = sdtpldt0(sdtasdt0(W0,W1),sdtasdt0(W0,W2))
& sdtasdt0(sdtpldt0(W0,W1),W2) = sdtpldt0(sdtasdt0(W0,W2),sdtasdt0(W1,W2)) ) ) ).
fof(mMulZero,axiom,
! [W0] :
( aInteger0(W0)
=> ( sdtasdt0(W0,sz00) = sz00
& sz00 = sdtasdt0(sz00,W0) ) ) ).
fof(mMulMinOne,axiom,
! [W0] :
( aInteger0(W0)
=> ( sdtasdt0(smndt0(sz10),W0) = smndt0(W0)
& smndt0(W0) = sdtasdt0(W0,smndt0(sz10)) ) ) ).
fof(mZeroDiv,axiom,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1) )
=> ( sdtasdt0(W0,W1) = sz00
=> ( W0 = sz00
| W1 = sz00 ) ) ) ).
fof(mDivisor,definition,
! [W0] :
( aInteger0(W0)
=> ! [W1] :
( aDivisorOf0(W1,W0)
<=> ( aInteger0(W1)
& W1 != sz00
& ? [W2] :
( aInteger0(W2)
& sdtasdt0(W1,W2) = W0 ) ) ) ) ).
fof(mEquMod,definition,
! [W0,W1,W2] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2)
& W2 != sz00 )
=> ( sdteqdtlpzmzozddtrp0(W0,W1,W2)
<=> aDivisorOf0(W2,sdtpldt0(W0,smndt0(W1))) ) ) ).
fof(mEquModRef,axiom,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1)
& W1 != sz00 )
=> sdteqdtlpzmzozddtrp0(W0,W0,W1) ) ).
fof(mEquModSym,axiom,
! [W0,W1,W2] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2)
& W2 != sz00 )
=> ( sdteqdtlpzmzozddtrp0(W0,W1,W2)
=> sdteqdtlpzmzozddtrp0(W1,W0,W2) ) ) ).
fof(mEquModTrn,axiom,
! [W0,W1,W2,W3] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2)
& W2 != sz00
& aInteger0(W3) )
=> ( ( sdteqdtlpzmzozddtrp0(W0,W1,W2)
& sdteqdtlpzmzozddtrp0(W1,W3,W2) )
=> sdteqdtlpzmzozddtrp0(W0,W3,W2) ) ) ).
fof(mEquModMul,axiom,
! [W0,W1,W2,W3] :
( ( aInteger0(W0)
& aInteger0(W1)
& aInteger0(W2)
& W2 != sz00
& aInteger0(W3)
& W3 != sz00 )
=> ( sdteqdtlpzmzozddtrp0(W0,W1,sdtasdt0(W2,W3))
=> ( sdteqdtlpzmzozddtrp0(W0,W1,W2)
& sdteqdtlpzmzozddtrp0(W0,W1,W3) ) ) ) ).
fof(mPrime,axiom,
! [W0] :
( ( aInteger0(W0)
& W0 != sz00 )
=> ( isPrime0(W0)
=> $true ) ) ).
fof(mPrimeDivisor,axiom,
! [W0] :
( aInteger0(W0)
=> ( ? [W1] :
( aDivisorOf0(W1,W0)
& isPrime0(W1) )
<=> ( W0 != sz10
& W0 != smndt0(sz10) ) ) ) ).
fof(mSets,axiom,
! [W0] :
( aSet0(W0)
=> $true ) ).
fof(mElements,axiom,
! [W0] :
( aSet0(W0)
=> ! [W1] :
( aElementOf0(W1,W0)
=> $true ) ) ).
fof(mSubset,definition,
! [W0] :
( aSet0(W0)
=> ! [W1] :
( aSubsetOf0(W1,W0)
<=> ( aSet0(W1)
& ! [W2] :
( aElementOf0(W2,W1)
=> aElementOf0(W2,W0) ) ) ) ) ).
fof(mFinSet,axiom,
! [W0] :
( aSet0(W0)
=> ( isFinite0(W0)
=> $true ) ) ).
fof(mUnion,definition,
! [W0,W1] :
( ( aSubsetOf0(W0,cS1395)
& aSubsetOf0(W1,cS1395) )
=> ! [W2] :
( W2 = sdtbsmnsldt0(W0,W1)
<=> ( aSet0(W2)
& ! [W3] :
( aElementOf0(W3,W2)
<=> ( aInteger0(W3)
& ( aElementOf0(W3,W0)
| aElementOf0(W3,W1) ) ) ) ) ) ) ).
fof(mIntersection,definition,
! [W0,W1] :
( ( aSubsetOf0(W0,cS1395)
& aSubsetOf0(W1,cS1395) )
=> ! [W2] :
( W2 = sdtslmnbsdt0(W0,W1)
<=> ( aSet0(W2)
& ! [W3] :
( aElementOf0(W3,W2)
<=> ( aInteger0(W3)
& aElementOf0(W3,W0)
& aElementOf0(W3,W1) ) ) ) ) ) ).
fof(mUnionSet,definition,
! [W0] :
( ( aSet0(W0)
& ! [W1] :
( aElementOf0(W1,W0)
=> aSubsetOf0(W1,cS1395) ) )
=> ! [W1] :
( W1 = sbsmnsldt0(W0)
<=> ( aSet0(W1)
& ! [W2] :
( aElementOf0(W2,W1)
<=> ( aInteger0(W2)
& ? [W3] :
( aElementOf0(W3,W0)
& aElementOf0(W2,W3) ) ) ) ) ) ) ).
fof(mComplement,definition,
! [W0] :
( aSubsetOf0(W0,cS1395)
=> ! [W1] :
( W1 = stldt0(W0)
<=> ( aSet0(W1)
& ! [W2] :
( aElementOf0(W2,W1)
<=> ( aInteger0(W2)
& ~ aElementOf0(W2,W0) ) ) ) ) ) ).
fof(mArSeq,definition,
! [W0,W1] :
( ( aInteger0(W0)
& aInteger0(W1)
& W1 != sz00 )
=> ! [W2] :
( W2 = szAzrzSzezqlpdtcmdtrp0(W0,W1)
<=> ( aSet0(W2)
& ! [W3] :
( aElementOf0(W3,W2)
<=> ( aInteger0(W3)
& sdteqdtlpzmzozddtrp0(W3,W0,W1) ) ) ) ) ) ).
fof(mOpen,definition,
! [W0] :
( aSubsetOf0(W0,cS1395)
=> ( isOpen0(W0)
<=> ! [W1] :
( aElementOf0(W1,W0)
=> ? [W2] :
( aInteger0(W2)
& W2 != sz00
& aSubsetOf0(szAzrzSzezqlpdtcmdtrp0(W1,W2),W0) ) ) ) ) ).
fof(mClosed,definition,
! [W0] :
( aSubsetOf0(W0,cS1395)
=> ( isClosed0(W0)
<=> isOpen0(stldt0(W0)) ) ) ).
fof(mUnionOpen,axiom,
! [W0] :
( ( aSet0(W0)
& ! [W1] :
( aElementOf0(W1,W0)
=> ( aSubsetOf0(W1,cS1395)
& isOpen0(W1) ) ) )
=> isOpen0(sbsmnsldt0(W0)) ) ).
fof(mInterOpen,axiom,
! [W0,W1] :
( ( aSubsetOf0(W0,cS1395)
& aSubsetOf0(W1,cS1395)
& isOpen0(W0)
& isOpen0(W1) )
=> isOpen0(sdtslmnbsdt0(W0,W1)) ) ).
fof(m__1826,hypothesis,
( aSet0(cS1395)
& ! [W0] :
( aElementOf0(W0,cS1395)
<=> aInteger0(W0) )
& aSet0(xA)
& ! [W0] :
( aElementOf0(W0,xA)
=> aElementOf0(W0,cS1395) )
& aSubsetOf0(xA,cS1395)
& aSet0(cS1395)
& ! [W0] :
( aElementOf0(W0,cS1395)
<=> aInteger0(W0) )
& aSet0(xB)
& ! [W0] :
( aElementOf0(W0,xB)
=> aElementOf0(W0,cS1395) )
& aSubsetOf0(xB,cS1395)
& aSet0(stldt0(xA))
& ! [W0] :
( aElementOf0(W0,stldt0(xA))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,xA) ) )
& ! [W0] :
( aElementOf0(W0,stldt0(xA))
=> ? [W1] :
( aInteger0(W1)
& W1 != sz00
& aSet0(szAzrzSzezqlpdtcmdtrp0(W0,W1))
& ! [W2] :
( ( aElementOf0(W2,szAzrzSzezqlpdtcmdtrp0(W0,W1))
=> ( aInteger0(W2)
& ? [W3] :
( aInteger0(W3)
& sdtasdt0(W1,W3) = sdtpldt0(W2,smndt0(W0)) )
& aDivisorOf0(W1,sdtpldt0(W2,smndt0(W0)))
& sdteqdtlpzmzozddtrp0(W2,W0,W1) ) )
& ( ( aInteger0(W2)
& ( ? [W3] :
( aInteger0(W3)
& sdtasdt0(W1,W3) = sdtpldt0(W2,smndt0(W0)) )
| aDivisorOf0(W1,sdtpldt0(W2,smndt0(W0)))
| sdteqdtlpzmzozddtrp0(W2,W0,W1) ) )
=> aElementOf0(W2,szAzrzSzezqlpdtcmdtrp0(W0,W1)) ) )
& ! [W2] :
( aElementOf0(W2,szAzrzSzezqlpdtcmdtrp0(W0,W1))
=> aElementOf0(W2,stldt0(xA)) )
& aSubsetOf0(szAzrzSzezqlpdtcmdtrp0(W0,W1),stldt0(xA)) ) )
& isOpen0(stldt0(xA))
& isClosed0(xA)
& aSet0(stldt0(xB))
& ! [W0] :
( aElementOf0(W0,stldt0(xB))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,xB) ) )
& ! [W0] :
( aElementOf0(W0,stldt0(xB))
=> ? [W1] :
( aInteger0(W1)
& W1 != sz00
& aSet0(szAzrzSzezqlpdtcmdtrp0(W0,W1))
& ! [W2] :
( ( aElementOf0(W2,szAzrzSzezqlpdtcmdtrp0(W0,W1))
=> ( aInteger0(W2)
& ? [W3] :
( aInteger0(W3)
& sdtasdt0(W1,W3) = sdtpldt0(W2,smndt0(W0)) )
& aDivisorOf0(W1,sdtpldt0(W2,smndt0(W0)))
& sdteqdtlpzmzozddtrp0(W2,W0,W1) ) )
& ( ( aInteger0(W2)
& ( ? [W3] :
( aInteger0(W3)
& sdtasdt0(W1,W3) = sdtpldt0(W2,smndt0(W0)) )
| aDivisorOf0(W1,sdtpldt0(W2,smndt0(W0)))
| sdteqdtlpzmzozddtrp0(W2,W0,W1) ) )
=> aElementOf0(W2,szAzrzSzezqlpdtcmdtrp0(W0,W1)) ) )
& ! [W2] :
( aElementOf0(W2,szAzrzSzezqlpdtcmdtrp0(W0,W1))
=> aElementOf0(W2,stldt0(xB)) )
& aSubsetOf0(szAzrzSzezqlpdtcmdtrp0(W0,W1),stldt0(xB)) ) )
& isOpen0(stldt0(xB))
& isClosed0(xB) ) ).
fof(m__,conjecture,
( ( ( aSet0(stldt0(xA))
& ! [W0] :
( aElementOf0(W0,stldt0(xA))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,xA) ) ) )
=> ( ( aSet0(cS1395)
& ! [W0] :
( aElementOf0(W0,cS1395)
<=> aInteger0(W0) ) )
=> ( ! [W0] :
( aElementOf0(W0,stldt0(xA))
=> aElementOf0(W0,cS1395) )
| aSubsetOf0(stldt0(xA),cS1395) ) ) )
& ( ( aSet0(stldt0(xB))
& ! [W0] :
( aElementOf0(W0,stldt0(xB))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,xB) ) ) )
=> ( ( aSet0(cS1395)
& ! [W0] :
( aElementOf0(W0,cS1395)
<=> aInteger0(W0) ) )
=> ( ! [W0] :
( aElementOf0(W0,stldt0(xB))
=> aElementOf0(W0,cS1395) )
| aSubsetOf0(stldt0(xB),cS1395) ) ) )
& ( ( aSet0(sdtbsmnsldt0(xA,xB))
& ! [W0] :
( aElementOf0(W0,sdtbsmnsldt0(xA,xB))
<=> ( aInteger0(W0)
& ( aElementOf0(W0,xA)
| aElementOf0(W0,xB) ) ) ) )
=> ( ( aSet0(stldt0(sdtbsmnsldt0(xA,xB)))
& ! [W0] :
( aElementOf0(W0,stldt0(sdtbsmnsldt0(xA,xB)))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,sdtbsmnsldt0(xA,xB)) ) ) )
=> ( ! [W0] :
( aElementOf0(W0,stldt0(xA))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,xA) ) )
=> ( ! [W0] :
( aElementOf0(W0,stldt0(xB))
<=> ( aInteger0(W0)
& ~ aElementOf0(W0,xB) ) )
=> ( ! [W0] :
( aElementOf0(W0,stldt0(sdtbsmnsldt0(xA,xB)))
<=> ( aInteger0(W0)
& aElementOf0(W0,stldt0(xA))
& aElementOf0(W0,stldt0(xB)) ) )
| stldt0(sdtbsmnsldt0(xA,xB)) = sdtslmnbsdt0(stldt0(xA),stldt0(xB)) ) ) ) ) ) ) ).
%------------------------------------------------------------------------------