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

Theorem eq0rabdioph 26836
Description: This is the first of a number of theorems which allow sets to be proven Diophantine by syntactic induction, and models the correspondence between Diophantine sets and monotone existential first order logic. This first theorem shows that the zero set of an implicit polynomial is Diophantine. (Contributed by Stefan O'Rear, 10-Oct-2014.)
Assertion
Ref Expression
eq0rabdioph  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  =  0 }  e.  (Dioph `  N ) )
Distinct variable group:    t, N
Allowed substitution hint:    A( t)

Proof of Theorem eq0rabdioph
Dummy variables  a 
b are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nfv 1630 . . . . . . . 8  |-  F/ t  N  e.  NN0
2 nfmpt1 4299 . . . . . . . . 9  |-  F/_ t
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )
32nfel1 2583 . . . . . . . 8  |-  F/ t ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) )
41, 3nfan 1847 . . . . . . 7  |-  F/ t ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )
5 zex 10292 . . . . . . . . . . . . . 14  |-  ZZ  e.  _V
6 nn0ssz 10303 . . . . . . . . . . . . . 14  |-  NN0  C_  ZZ
7 mapss 7057 . . . . . . . . . . . . . 14  |-  ( ( ZZ  e.  _V  /\  NN0  C_  ZZ )  ->  ( NN0  ^m  ( 1 ... N ) )  C_  ( ZZ  ^m  (
1 ... N ) ) )
85, 6, 7mp2an 655 . . . . . . . . . . . . 13  |-  ( NN0 
^m  ( 1 ... N ) )  C_  ( ZZ  ^m  (
1 ... N ) )
98sseli 3345 . . . . . . . . . . . 12  |-  ( t  e.  ( NN0  ^m  ( 1 ... N
) )  ->  t  e.  ( ZZ  ^m  (
1 ... N ) ) )
109adantl 454 . . . . . . . . . . 11  |-  ( ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  /\  t  e.  ( NN0  ^m  ( 1 ... N
) ) )  -> 
t  e.  ( ZZ 
^m  ( 1 ... N ) ) )
11 mzpf 26794 . . . . . . . . . . . . 13  |-  ( ( t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A )  e.  (mzPoly `  ( 1 ... N
) )  ->  (
t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A ) : ( ZZ 
^m  ( 1 ... N ) ) --> ZZ )
12 mptfcl 26778 . . . . . . . . . . . . . 14  |-  ( ( t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A ) : ( ZZ 
^m  ( 1 ... N ) ) --> ZZ 
->  ( t  e.  ( ZZ  ^m  ( 1 ... N ) )  ->  A  e.  ZZ ) )
1312imp 420 . . . . . . . . . . . . 13  |-  ( ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) : ( ZZ  ^m  ( 1 ... N ) ) --> ZZ  /\  t  e.  ( ZZ  ^m  (
1 ... N ) ) )  ->  A  e.  ZZ )
1411, 9, 13syl2an 465 . . . . . . . . . . . 12  |-  ( ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) )  /\  t  e.  ( NN0  ^m  (
1 ... N ) ) )  ->  A  e.  ZZ )
1514adantll 696 . . . . . . . . . . 11  |-  ( ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  /\  t  e.  ( NN0  ^m  ( 1 ... N
) ) )  ->  A  e.  ZZ )
16 eqid 2437 . . . . . . . . . . . 12  |-  ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A )  =  ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A )
1716fvmpt2 5813 . . . . . . . . . . 11  |-  ( ( t  e.  ( ZZ 
^m  ( 1 ... N ) )  /\  A  e.  ZZ )  ->  ( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  t
)  =  A )
1810, 15, 17syl2anc 644 . . . . . . . . . 10  |-  ( ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  /\  t  e.  ( NN0  ^m  ( 1 ... N
) ) )  -> 
( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  t
)  =  A )
1918eqcomd 2442 . . . . . . . . 9  |-  ( ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  /\  t  e.  ( NN0  ^m  ( 1 ... N
) ) )  ->  A  =  ( (
t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A ) `  t ) )
2019eqeq1d 2445 . . . . . . . 8  |-  ( ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  /\  t  e.  ( NN0  ^m  ( 1 ... N
) ) )  -> 
( A  =  0  <-> 
( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  t
)  =  0 ) )
2120ex 425 . . . . . . 7  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  -> 
( t  e.  ( NN0  ^m  ( 1 ... N ) )  ->  ( A  =  0  <->  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 t )  =  0 ) ) )
224, 21ralrimi 2788 . . . . . 6  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  A. t  e.  ( NN0  ^m  ( 1 ... N ) ) ( A  =  0  <->  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  t
)  =  0 ) )
23 rabbi 2887 . . . . . 6  |-  ( A. t  e.  ( NN0  ^m  ( 1 ... N
) ) ( A  =  0  <->  ( (
t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A ) `  t )  =  0 )  <->  { t  e.  ( NN0  ^m  (
1 ... N ) )  |  A  =  0 }  =  { t  e.  ( NN0  ^m  ( 1 ... N
) )  |  ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  t
)  =  0 } )
2422, 23sylib 190 . . . . 5  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  =  0 }  =  { t  e.  ( NN0  ^m  ( 1 ... N
) )  |  ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  t
)  =  0 } )
25 nfcv 2573 . . . . . 6  |-  F/_ t
( NN0  ^m  (
1 ... N ) )
26 nfcv 2573 . . . . . 6  |-  F/_ a
( NN0  ^m  (
1 ... N ) )
27 nfv 1630 . . . . . 6  |-  F/ a ( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  t
)  =  0
28 nffvmpt1 5737 . . . . . . 7  |-  F/_ t
( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  a
)
2928nfeq1 2582 . . . . . 6  |-  F/ t ( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  a
)  =  0
30 fveq2 5729 . . . . . . 7  |-  ( t  =  a  ->  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  t
)  =  ( ( t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A ) `  a ) )
3130eqeq1d 2445 . . . . . 6  |-  ( t  =  a  ->  (
( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  t
)  =  0  <->  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  a
)  =  0 ) )
3225, 26, 27, 29, 31cbvrab 2955 . . . . 5  |-  { t  e.  ( NN0  ^m  ( 1 ... N
) )  |  ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  t
)  =  0 }  =  { a  e.  ( NN0  ^m  (
1 ... N ) )  |  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 a )  =  0 }
3324, 32syl6eq 2485 . . . 4  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  =  0 }  =  { a  e.  ( NN0  ^m  ( 1 ... N
) )  |  ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  a
)  =  0 } )
34 df-rab 2715 . . . 4  |-  { a  e.  ( NN0  ^m  ( 1 ... N
) )  |  ( ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  a
)  =  0 }  =  { a  |  ( a  e.  ( NN0  ^m  ( 1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 a )  =  0 ) }
3533, 34syl6eq 2485 . . 3  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  =  0 }  =  { a  |  ( a  e.  ( NN0  ^m  (
1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 a )  =  0 ) } )
36 elmapi 7039 . . . . . . . . . 10  |-  ( b  e.  ( NN0  ^m  ( 1 ... N
) )  ->  b : ( 1 ... N ) --> NN0 )
37 ffn 5592 . . . . . . . . . 10  |-  ( b : ( 1 ... N ) --> NN0  ->  b  Fn  ( 1 ... N ) )
38 fnresdm 5555 . . . . . . . . . 10  |-  ( b  Fn  ( 1 ... N )  ->  (
b  |`  ( 1 ... N ) )  =  b )
3936, 37, 383syl 19 . . . . . . . . 9  |-  ( b  e.  ( NN0  ^m  ( 1 ... N
) )  ->  (
b  |`  ( 1 ... N ) )  =  b )
4039eqeq2d 2448 . . . . . . . 8  |-  ( b  e.  ( NN0  ^m  ( 1 ... N
) )  ->  (
a  =  ( b  |`  ( 1 ... N
) )  <->  a  =  b ) )
41 equcom 1693 . . . . . . . 8  |-  ( a  =  b  <->  b  =  a )
4240, 41syl6bb 254 . . . . . . 7  |-  ( b  e.  ( NN0  ^m  ( 1 ... N
) )  ->  (
a  =  ( b  |`  ( 1 ... N
) )  <->  b  =  a ) )
4342anbi1d 687 . . . . . 6  |-  ( b  e.  ( NN0  ^m  ( 1 ... N
) )  ->  (
( a  =  ( b  |`  ( 1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 b )  =  0 )  <->  ( b  =  a  /\  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  0 ) ) )
4443rexbiia 2739 . . . . 5  |-  ( E. b  e.  ( NN0 
^m  ( 1 ... N ) ) ( a  =  ( b  |`  ( 1 ... N
) )  /\  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  0 )  <->  E. b  e.  ( NN0  ^m  ( 1 ... N ) ) ( b  =  a  /\  ( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  b
)  =  0 ) )
45 fveq2 5729 . . . . . . 7  |-  ( b  =  a  ->  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  ( ( t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A ) `  a ) )
4645eqeq1d 2445 . . . . . 6  |-  ( b  =  a  ->  (
( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  b
)  =  0  <->  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  a
)  =  0 ) )
4746ceqsrexbv 3071 . . . . 5  |-  ( E. b  e.  ( NN0 
^m  ( 1 ... N ) ) ( b  =  a  /\  ( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  b
)  =  0 )  <-> 
( a  e.  ( NN0  ^m  ( 1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 a )  =  0 ) )
4844, 47bitr2i 243 . . . 4  |-  ( ( a  e.  ( NN0 
^m  ( 1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  (
1 ... N ) ) 
|->  A ) `  a
)  =  0 )  <->  E. b  e.  ( NN0  ^m  ( 1 ... N ) ) ( a  =  ( b  |`  ( 1 ... N
) )  /\  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  0 ) )
4948abbii 2549 . . 3  |-  { a  |  ( a  e.  ( NN0  ^m  (
1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 a )  =  0 ) }  =  { a  |  E. b  e.  ( NN0  ^m  ( 1 ... N
) ) ( a  =  ( b  |`  ( 1 ... N
) )  /\  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  0 ) }
5035, 49syl6eq 2485 . 2  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  =  0 }  =  { a  |  E. b  e.  ( NN0  ^m  (
1 ... N ) ) ( a  =  ( b  |`  ( 1 ... N ) )  /\  ( ( t  e.  ( ZZ  ^m  ( 1 ... N
) )  |->  A ) `
 b )  =  0 ) } )
51 simpl 445 . . 3  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  N  e.  NN0 )
52 nn0z 10305 . . . . 5  |-  ( N  e.  NN0  ->  N  e.  ZZ )
53 uzid 10501 . . . . 5  |-  ( N  e.  ZZ  ->  N  e.  ( ZZ>= `  N )
)
5452, 53syl 16 . . . 4  |-  ( N  e.  NN0  ->  N  e.  ( ZZ>= `  N )
)
5554adantr 453 . . 3  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  N  e.  ( ZZ>= `  N ) )
56 simpr 449 . . 3  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  -> 
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )
57 eldioph 26817 . . 3  |-  ( ( N  e.  NN0  /\  N  e.  ( ZZ>= `  N )  /\  (
t  e.  ( ZZ 
^m  ( 1 ... N ) )  |->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { a  |  E. b  e.  ( NN0  ^m  ( 1 ... N
) ) ( a  =  ( b  |`  ( 1 ... N
) )  /\  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  0 ) }  e.  (Dioph `  N ) )
5851, 55, 56, 57syl3anc 1185 . 2  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { a  |  E. b  e.  ( NN0  ^m  ( 1 ... N
) ) ( a  =  ( b  |`  ( 1 ... N
) )  /\  (
( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A ) `  b
)  =  0 ) }  e.  (Dioph `  N ) )
5950, 58eqeltrd 2511 1  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  =  0 }  e.  (Dioph `  N ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 178    /\ wa 360    = wceq 1653    e. wcel 1726   {cab 2423   A.wral 2706   E.wrex 2707   {crab 2710   _Vcvv 2957    C_ wss 3321    e. cmpt 4267    |` cres 4881    Fn wfn 5450   -->wf 5451   ` cfv 5455  (class class class)co 6082    ^m cmap 7019   0cc0 8991   1c1 8992   NN0cn0 10222   ZZcz 10283   ZZ>=cuz 10489   ...cfz 11044  mzPolycmzp 26780  Diophcdioph 26814
This theorem is referenced by:  eqrabdioph  26837  0dioph  26838  vdioph  26839  rmydioph  27086  expdioph  27095
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2418  ax-rep 4321  ax-sep 4331  ax-nul 4339  ax-pow 4378  ax-pr 4404  ax-un 4702  ax-cnex 9047  ax-resscn 9048  ax-1cn 9049  ax-icn 9050  ax-addcl 9051  ax-addrcl 9052  ax-mulcl 9053  ax-mulrcl 9054  ax-mulcom 9055  ax-addass 9056  ax-mulass 9057  ax-distr 9058  ax-i2m1 9059  ax-1ne0 9060  ax-1rid 9061  ax-rnegex 9062  ax-rrecex 9063  ax-cnre 9064  ax-pre-lttri 9065  ax-pre-lttrn 9066  ax-pre-ltadd 9067  ax-pre-mulgt0 9068
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2286  df-mo 2287  df-clab 2424  df-cleq 2430  df-clel 2433  df-nfc 2562  df-ne 2602  df-nel 2603  df-ral 2711  df-rex 2712  df-reu 2713  df-rab 2715  df-v 2959  df-sbc 3163  df-csb 3253  df-dif 3324  df-un 3326  df-in 3328  df-ss 3335  df-pss 3337  df-nul 3630  df-if 3741  df-pw 3802  df-sn 3821  df-pr 3822  df-tp 3823  df-op 3824  df-uni 4017  df-int 4052  df-iun 4096  df-br 4214  df-opab 4268  df-mpt 4269  df-tr 4304  df-eprel 4495  df-id 4499  df-po 4504  df-so 4505  df-fr 4542  df-we 4544  df-ord 4585  df-on 4586  df-lim 4587  df-suc 4588  df-om 4847  df-xp 4885  df-rel 4886  df-cnv 4887  df-co 4888  df-dm 4889  df-rn 4890  df-res 4891  df-ima 4892  df-iota 5419  df-fun 5457  df-fn 5458  df-f 5459  df-f1 5460  df-fo 5461  df-f1o 5462  df-fv 5463  df-ov 6085  df-oprab 6086  df-mpt2 6087  df-of 6306  df-1st 6350  df-2nd 6351  df-riota 6550  df-recs 6634  df-rdg 6669  df-er 6906  df-map 7021  df-en 7111  df-dom 7112  df-sdom 7113  df-pnf 9123  df-mnf 9124  df-xr 9125  df-ltxr 9126  df-le 9127  df-sub 9294  df-neg 9295  df-nn 10002  df-n0 10223  df-z 10284  df-uz 10490  df-fz 11045  df-mzpcl 26781  df-mzp 26782  df-dioph 26815
  Copyright terms: Public domain W3C validator