Users' Mathboxes Mathbox for Stefan O'Rear < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  eldiophb Structured version   Unicode version

Theorem eldiophb 30310
Description: Initial expression of Diophantine property of a set. (Contributed by Stefan O'Rear, 5-Oct-2014.) (Revised by Mario Carneiro, 22-Sep-2015.)
Assertion
Ref Expression
eldiophb  |-  ( D  e.  (Dioph `  N
)  <->  ( N  e. 
NN0  /\  E. k  e.  ( ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k
) ) D  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) } ) )
Distinct variable groups:    D, k, p    k, N, p, t, u
Allowed substitution hints:    D( u, t)

Proof of Theorem eldiophb
Dummy variables  n  d are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-dioph 30309 . . . 4  |- Dioph  =  ( n  e.  NN0  |->  ran  (
k  e.  ( ZZ>= `  n ) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... n ) )  /\  ( p `  u )  =  0 ) } ) )
21dmmptss 5502 . . 3  |-  dom Dioph  C_  NN0
3 elfvdm 5891 . . 3  |-  ( D  e.  (Dioph `  N
)  ->  N  e.  dom Dioph )
42, 3sseldi 3502 . 2  |-  ( D  e.  (Dioph `  N
)  ->  N  e.  NN0 )
5 fveq2 5865 . . . . . . 7  |-  ( n  =  N  ->  ( ZZ>=
`  n )  =  ( ZZ>= `  N )
)
6 eqidd 2468 . . . . . . 7  |-  ( n  =  N  ->  (mzPoly `  ( 1 ... k
) )  =  (mzPoly `  ( 1 ... k
) ) )
7 oveq2 6291 . . . . . . . . . . . 12  |-  ( n  =  N  ->  (
1 ... n )  =  ( 1 ... N
) )
87reseq2d 5272 . . . . . . . . . . 11  |-  ( n  =  N  ->  (
u  |`  ( 1 ... n ) )  =  ( u  |`  (
1 ... N ) ) )
98eqeq2d 2481 . . . . . . . . . 10  |-  ( n  =  N  ->  (
t  =  ( u  |`  ( 1 ... n
) )  <->  t  =  ( u  |`  ( 1 ... N ) ) ) )
109anbi1d 704 . . . . . . . . 9  |-  ( n  =  N  ->  (
( t  =  ( u  |`  ( 1 ... n ) )  /\  ( p `  u )  =  0 )  <->  ( t  =  ( u  |`  (
1 ... N ) )  /\  ( p `  u )  =  0 ) ) )
1110rexbidv 2973 . . . . . . . 8  |-  ( n  =  N  ->  ( E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... n
) )  /\  (
p `  u )  =  0 )  <->  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) ) )
1211abbidv 2603 . . . . . . 7  |-  ( n  =  N  ->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... n ) )  /\  ( p `  u )  =  0 ) }  =  {
t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )
135, 6, 12mpt2eq123dv 6342 . . . . . 6  |-  ( n  =  N  ->  (
k  e.  ( ZZ>= `  n ) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... n ) )  /\  ( p `  u )  =  0 ) } )  =  ( k  e.  (
ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k
) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } ) )
1413rneqd 5229 . . . . 5  |-  ( n  =  N  ->  ran  ( k  e.  (
ZZ>= `  n ) ,  p  e.  (mzPoly `  ( 1 ... k
) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... n ) )  /\  ( p `  u )  =  0 ) } )  =  ran  ( k  e.  ( ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k
) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } ) )
15 ovex 6308 . . . . . . 7  |-  ( NN0 
^m  ( 1 ... N ) )  e. 
_V
1615pwex 4630 . . . . . 6  |-  ~P ( NN0  ^m  ( 1 ... N ) )  e. 
_V
17 eqid 2467 . . . . . . . 8  |-  ( k  e.  ( ZZ>= `  N
) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )  =  ( k  e.  (
ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k
) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )
1817rnmpt2 6395 . . . . . . 7  |-  ran  (
k  e.  ( ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )  =  { d  |  E. k  e.  ( ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k ) ) d  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } }
19 elmapi 7440 . . . . . . . . . . . . . . . . 17  |-  ( u  e.  ( NN0  ^m  ( 1 ... k
) )  ->  u : ( 1 ... k ) --> NN0 )
20 fzss2 11722 . . . . . . . . . . . . . . . . 17  |-  ( k  e.  ( ZZ>= `  N
)  ->  ( 1 ... N )  C_  ( 1 ... k
) )
21 fssres 5750 . . . . . . . . . . . . . . . . 17  |-  ( ( u : ( 1 ... k ) --> NN0 
/\  ( 1 ... N )  C_  (
1 ... k ) )  ->  ( u  |`  ( 1 ... N
) ) : ( 1 ... N ) --> NN0 )
2219, 20, 21syl2anr 478 . . . . . . . . . . . . . . . 16  |-  ( ( k  e.  ( ZZ>= `  N )  /\  u  e.  ( NN0  ^m  (
1 ... k ) ) )  ->  ( u  |`  ( 1 ... N
) ) : ( 1 ... N ) --> NN0 )
23 nn0ex 10800 . . . . . . . . . . . . . . . . 17  |-  NN0  e.  _V
24 ovex 6308 . . . . . . . . . . . . . . . . 17  |-  ( 1 ... N )  e. 
_V
2523, 24elmap 7447 . . . . . . . . . . . . . . . 16  |-  ( ( u  |`  ( 1 ... N ) )  e.  ( NN0  ^m  ( 1 ... N
) )  <->  ( u  |`  ( 1 ... N
) ) : ( 1 ... N ) --> NN0 )
2622, 25sylibr 212 . . . . . . . . . . . . . . 15  |-  ( ( k  e.  ( ZZ>= `  N )  /\  u  e.  ( NN0  ^m  (
1 ... k ) ) )  ->  ( u  |`  ( 1 ... N
) )  e.  ( NN0  ^m  ( 1 ... N ) ) )
27 eleq1 2539 . . . . . . . . . . . . . . . 16  |-  ( t  =  ( u  |`  ( 1 ... N
) )  ->  (
t  e.  ( NN0 
^m  ( 1 ... N ) )  <->  ( u  |`  ( 1 ... N
) )  e.  ( NN0  ^m  ( 1 ... N ) ) ) )
2827adantr 465 . . . . . . . . . . . . . . 15  |-  ( ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 )  -> 
( t  e.  ( NN0  ^m  ( 1 ... N ) )  <-> 
( u  |`  (
1 ... N ) )  e.  ( NN0  ^m  ( 1 ... N
) ) ) )
2926, 28syl5ibrcom 222 . . . . . . . . . . . . . 14  |-  ( ( k  e.  ( ZZ>= `  N )  /\  u  e.  ( NN0  ^m  (
1 ... k ) ) )  ->  ( (
t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 )  -> 
t  e.  ( NN0 
^m  ( 1 ... N ) ) ) )
3029rexlimdva 2955 . . . . . . . . . . . . 13  |-  ( k  e.  ( ZZ>= `  N
)  ->  ( E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 )  -> 
t  e.  ( NN0 
^m  ( 1 ... N ) ) ) )
3130abssdv 3574 . . . . . . . . . . . 12  |-  ( k  e.  ( ZZ>= `  N
)  ->  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  C_  ( NN0  ^m  ( 1 ... N ) ) )
3215elpw2 4611 . . . . . . . . . . . 12  |-  ( { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  e.  ~P ( NN0  ^m  ( 1 ... N ) )  <->  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) } 
C_  ( NN0  ^m  ( 1 ... N
) ) )
3331, 32sylibr 212 . . . . . . . . . . 11  |-  ( k  e.  ( ZZ>= `  N
)  ->  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  e.  ~P ( NN0  ^m  ( 1 ... N ) ) )
34 eleq1 2539 . . . . . . . . . . 11  |-  ( d  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  ->  (
d  e.  ~P ( NN0  ^m  ( 1 ... N ) )  <->  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  e.  ~P ( NN0  ^m  ( 1 ... N ) ) ) )
3533, 34syl5ibrcom 222 . . . . . . . . . 10  |-  ( k  e.  ( ZZ>= `  N
)  ->  ( d  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) }  ->  d  e.  ~P ( NN0  ^m  ( 1 ... N ) ) ) )
3635rexlimdvw 2958 . . . . . . . . 9  |-  ( k  e.  ( ZZ>= `  N
)  ->  ( E. p  e.  (mzPoly `  (
1 ... k ) ) d  =  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  ->  d  e.  ~P ( NN0  ^m  ( 1 ... N
) ) ) )
3736rexlimiv 2949 . . . . . . . 8  |-  ( E. k  e.  ( ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k ) ) d  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  ->  d  e.  ~P ( NN0  ^m  ( 1 ... N
) ) )
3837abssi 3575 . . . . . . 7  |-  { d  |  E. k  e.  ( ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k
) ) d  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) } }  C_  ~P ( NN0  ^m  ( 1 ... N ) )
3918, 38eqsstri 3534 . . . . . 6  |-  ran  (
k  e.  ( ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )  C_  ~P ( NN0  ^m  (
1 ... N ) )
4016, 39ssexi 4592 . . . . 5  |-  ran  (
k  e.  ( ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )  e. 
_V
4114, 1, 40fvmpt 5949 . . . 4  |-  ( N  e.  NN0  ->  (Dioph `  N )  =  ran  ( k  e.  (
ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k
) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } ) )
4241eleq2d 2537 . . 3  |-  ( N  e.  NN0  ->  ( D  e.  (Dioph `  N
)  <->  D  e.  ran  ( k  e.  (
ZZ>= `  N ) ,  p  e.  (mzPoly `  ( 1 ... k
) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } ) ) )
43 ovex 6308 . . . . . 6  |-  ( NN0 
^m  ( 1 ... k ) )  e. 
_V
4443abrexex 6758 . . . . 5  |-  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) t  =  ( u  |`  ( 1 ... N
) ) }  e.  _V
45 simpl 457 . . . . . . 7  |-  ( ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 )  -> 
t  =  ( u  |`  ( 1 ... N
) ) )
4645reximi 2932 . . . . . 6  |-  ( E. u  e.  ( NN0 
^m  ( 1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 )  ->  E. u  e.  ( NN0  ^m  ( 1 ... k ) ) t  =  ( u  |`  ( 1 ... N
) ) )
4746ss2abi 3572 . . . . 5  |-  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  C_  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) t  =  ( u  |`  ( 1 ... N
) ) }
4844, 47ssexi 4592 . . . 4  |-  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) }  e.  _V
4917, 48elrnmpt2 6398 . . 3  |-  ( D  e.  ran  ( k  e.  ( ZZ>= `  N
) ,  p  e.  (mzPoly `  ( 1 ... k ) )  |->  { t  |  E. u  e.  ( NN0  ^m  (
1 ... k ) ) ( t  =  ( u  |`  ( 1 ... N ) )  /\  ( p `  u )  =  0 ) } )  <->  E. k  e.  ( ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k
) ) D  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) } )
5042, 49syl6bb 261 . 2  |-  ( N  e.  NN0  ->  ( D  e.  (Dioph `  N
)  <->  E. k  e.  (
ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k
) ) D  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) } ) )
514, 50biadan2 642 1  |-  ( D  e.  (Dioph `  N
)  <->  ( N  e. 
NN0  /\  E. k  e.  ( ZZ>= `  N ) E. p  e.  (mzPoly `  ( 1 ... k
) ) D  =  { t  |  E. u  e.  ( NN0  ^m  ( 1 ... k
) ) ( t  =  ( u  |`  ( 1 ... N
) )  /\  (
p `  u )  =  0 ) } ) )
Colors of variables: wff setvar class
Syntax hints:    <-> wb 184    /\ wa 369    = wceq 1379    e. wcel 1767   {cab 2452   E.wrex 2815    C_ wss 3476   ~Pcpw 4010   dom cdm 4999   ran crn 5000    |` cres 5001   -->wf 5583   ` cfv 5587  (class class class)co 6283    |-> cmpt2 6285    ^m cmap 7420   0cc0 9491   1c1 9492   NN0cn0 10794   ZZ>=cuz 11081   ...cfz 11671  mzPolycmzp 30274  Diophcdioph 30308
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6575  ax-cnex 9547  ax-resscn 9548  ax-1cn 9549  ax-icn 9550  ax-addcl 9551  ax-addrcl 9552  ax-mulcl 9553  ax-mulrcl 9554  ax-i2m1 9559  ax-1ne0 9560  ax-rrecex 9563  ax-cnre 9564  ax-pre-lttri 9565  ax-pre-lttrn 9566
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5550  df-fun 5589  df-fn 5590  df-f 5591  df-f1 5592  df-fo 5593  df-f1o 5594  df-fv 5595  df-ov 6286  df-oprab 6287  df-mpt2 6288  df-om 6680  df-1st 6784  df-2nd 6785  df-recs 7042  df-rdg 7076  df-er 7311  df-map 7422  df-en 7517  df-dom 7518  df-sdom 7519  df-pnf 9629  df-mnf 9630  df-xr 9631  df-ltxr 9632  df-le 9633  df-neg 9807  df-nn 10536  df-n0 10795  df-z 10864  df-uz 11082  df-fz 11672  df-dioph 30309
This theorem is referenced by:  eldioph  30311  eldioph2b  30316  eldiophelnn0  30317
  Copyright terms: Public domain W3C validator