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

Theorem elnn0rabdioph 26555
Description: Diophantine set builder for nonnegativity constraints. The first builder which uses a witness variable internally; an expression is nonnegative if there is a nonnegative integer equal to it. (Contributed by Stefan O'Rear, 11-Oct-2014.)
Assertion
Ref Expression
elnn0rabdioph  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  e.  NN0 }  e.  (Dioph `  N
) )
Distinct variable group:    t, N
Allowed substitution hint:    A( t)

Proof of Theorem elnn0rabdioph
Dummy variables  a 
b  c are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 risset 2697 . . . . . 6  |-  ( A  e.  NN0  <->  E. b  e.  NN0  b  =  A )
21a1i 11 . . . . 5  |-  ( t  e.  ( NN0  ^m  ( 1 ... N
) )  ->  ( A  e.  NN0  <->  E. b  e.  NN0  b  =  A ) )
32rabbiia 2890 . . . 4  |-  { t  e.  ( NN0  ^m  ( 1 ... N
) )  |  A  e.  NN0 }  =  {
t  e.  ( NN0 
^m  ( 1 ... N ) )  |  E. b  e.  NN0  b  =  A }
43a1i 11 . . 3  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  e.  NN0 }  =  { t  e.  ( NN0  ^m  (
1 ... N ) )  |  E. b  e. 
NN0  b  =  A } )
5 nfcv 2524 . . . 4  |-  F/_ t
( NN0  ^m  (
1 ... N ) )
6 nfcv 2524 . . . 4  |-  F/_ a
( NN0  ^m  (
1 ... N ) )
7 nfv 1626 . . . 4  |-  F/ a E. b  e.  NN0  b  =  A
8 nfcv 2524 . . . . 5  |-  F/_ t NN0
9 nfcsb1v 3227 . . . . . 6  |-  F/_ t [_ a  /  t ]_ A
109nfeq2 2535 . . . . 5  |-  F/ t  b  =  [_ a  /  t ]_ A
118, 10nfrex 2705 . . . 4  |-  F/ t E. b  e.  NN0  b  =  [_ a  / 
t ]_ A
12 csbeq1a 3203 . . . . . 6  |-  ( t  =  a  ->  A  =  [_ a  /  t ]_ A )
1312eqeq2d 2399 . . . . 5  |-  ( t  =  a  ->  (
b  =  A  <->  b  =  [_ a  /  t ]_ A ) )
1413rexbidv 2671 . . . 4  |-  ( t  =  a  ->  ( E. b  e.  NN0  b  =  A  <->  E. b  e.  NN0  b  =  [_ a  /  t ]_ A
) )
155, 6, 7, 11, 14cbvrab 2898 . . 3  |-  { t  e.  ( NN0  ^m  ( 1 ... N
) )  |  E. b  e.  NN0  b  =  A }  =  {
a  e.  ( NN0 
^m  ( 1 ... N ) )  |  E. b  e.  NN0  b  =  [_ a  / 
t ]_ A }
164, 15syl6eq 2436 . 2  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  e.  NN0 }  =  { a  e.  ( NN0  ^m  (
1 ... N ) )  |  E. b  e. 
NN0  b  =  [_ a  /  t ]_ A } )
17 peano2nn0 10193 . . . . 5  |-  ( N  e.  NN0  ->  ( N  +  1 )  e. 
NN0 )
1817adantr 452 . . . 4  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  -> 
( N  +  1 )  e.  NN0 )
19 ovex 6046 . . . . 5  |-  ( 1 ... ( N  + 
1 ) )  e. 
_V
20 nn0p1nn 10192 . . . . . . 7  |-  ( N  e.  NN0  ->  ( N  +  1 )  e.  NN )
21 elfz1end 11014 . . . . . . 7  |-  ( ( N  +  1 )  e.  NN  <->  ( N  +  1 )  e.  ( 1 ... ( N  +  1 ) ) )
2220, 21sylib 189 . . . . . 6  |-  ( N  e.  NN0  ->  ( N  +  1 )  e.  ( 1 ... ( N  +  1 ) ) )
2322adantr 452 . . . . 5  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  -> 
( N  +  1 )  e.  ( 1 ... ( N  + 
1 ) ) )
24 mzpproj 26486 . . . . 5  |-  ( ( ( 1 ... ( N  +  1 ) )  e.  _V  /\  ( N  +  1
)  e.  ( 1 ... ( N  + 
1 ) ) )  ->  ( c  e.  ( ZZ  ^m  (
1 ... ( N  + 
1 ) ) ) 
|->  ( c `  ( N  +  1 ) ) )  e.  (mzPoly `  ( 1 ... ( N  +  1 ) ) ) )
2519, 23, 24sylancr 645 . . . 4  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  -> 
( c  e.  ( ZZ  ^m  ( 1 ... ( N  + 
1 ) ) ) 
|->  ( c `  ( N  +  1 ) ) )  e.  (mzPoly `  ( 1 ... ( N  +  1 ) ) ) )
26 eqid 2388 . . . . 5  |-  ( N  +  1 )  =  ( N  +  1 )
2726rabdiophlem2 26554 . . . 4  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  -> 
( c  e.  ( ZZ  ^m  ( 1 ... ( N  + 
1 ) ) ) 
|->  [_ ( c  |`  ( 1 ... N
) )  /  t ]_ A )  e.  (mzPoly `  ( 1 ... ( N  +  1 ) ) ) )
28 eqrabdioph 26528 . . . 4  |-  ( ( ( N  +  1 )  e.  NN0  /\  ( c  e.  ( ZZ  ^m  ( 1 ... ( N  + 
1 ) ) ) 
|->  ( c `  ( N  +  1 ) ) )  e.  (mzPoly `  ( 1 ... ( N  +  1 ) ) )  /\  (
c  e.  ( ZZ 
^m  ( 1 ... ( N  +  1 ) ) )  |->  [_ ( c  |`  (
1 ... N ) )  /  t ]_ A
)  e.  (mzPoly `  ( 1 ... ( N  +  1 ) ) ) )  ->  { c  e.  ( NN0  ^m  ( 1 ... ( N  + 
1 ) ) )  |  ( c `  ( N  +  1
) )  =  [_ ( c  |`  (
1 ... N ) )  /  t ]_ A }  e.  (Dioph `  ( N  +  1 ) ) )
2918, 25, 27, 28syl3anc 1184 . . 3  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { c  e.  ( NN0  ^m  ( 1 ... ( N  + 
1 ) ) )  |  ( c `  ( N  +  1
) )  =  [_ ( c  |`  (
1 ... N ) )  /  t ]_ A }  e.  (Dioph `  ( N  +  1 ) ) )
30 eqeq1 2394 . . . 4  |-  ( b  =  ( c `  ( N  +  1
) )  ->  (
b  =  [_ a  /  t ]_ A  <->  ( c `  ( N  +  1 ) )  =  [_ a  / 
t ]_ A ) )
31 csbeq1 3198 . . . . 5  |-  ( a  =  ( c  |`  ( 1 ... N
) )  ->  [_ a  /  t ]_ A  =  [_ ( c  |`  ( 1 ... N
) )  /  t ]_ A )
3231eqeq2d 2399 . . . 4  |-  ( a  =  ( c  |`  ( 1 ... N
) )  ->  (
( c `  ( N  +  1 ) )  =  [_ a  /  t ]_ A  <->  ( c `  ( N  +  1 ) )  =  [_ ( c  |`  ( 1 ... N
) )  /  t ]_ A ) )
3326, 30, 32rexrabdioph 26546 . . 3  |-  ( ( N  e.  NN0  /\  { c  e.  ( NN0 
^m  ( 1 ... ( N  +  1 ) ) )  |  ( c `  ( N  +  1 ) )  =  [_ (
c  |`  ( 1 ... N ) )  / 
t ]_ A }  e.  (Dioph `  ( N  + 
1 ) ) )  ->  { a  e.  ( NN0  ^m  (
1 ... N ) )  |  E. b  e. 
NN0  b  =  [_ a  /  t ]_ A }  e.  (Dioph `  N
) )
3429, 33syldan 457 . 2  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { a  e.  ( NN0  ^m  ( 1 ... N ) )  |  E. b  e. 
NN0  b  =  [_ a  /  t ]_ A }  e.  (Dioph `  N
) )
3516, 34eqeltrd 2462 1  |-  ( ( N  e.  NN0  /\  ( t  e.  ( ZZ  ^m  ( 1 ... N ) ) 
|->  A )  e.  (mzPoly `  ( 1 ... N
) ) )  ->  { t  e.  ( NN0  ^m  ( 1 ... N ) )  |  A  e.  NN0 }  e.  (Dioph `  N
) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359    = wceq 1649    e. wcel 1717   E.wrex 2651   {crab 2654   _Vcvv 2900   [_csb 3195    e. cmpt 4208    |` cres 4821   ` cfv 5395  (class class class)co 6021    ^m cmap 6955   1c1 8925    + caddc 8927   NNcn 9933   NN0cn0 10154   ZZcz 10215   ...cfz 10976  mzPolycmzp 26471  Diophcdioph 26505
This theorem is referenced by:  lerabdioph  26557
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1661  ax-8 1682  ax-13 1719  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2369  ax-rep 4262  ax-sep 4272  ax-nul 4280  ax-pow 4319  ax-pr 4345  ax-un 4642  ax-inf2 7530  ax-cnex 8980  ax-resscn 8981  ax-1cn 8982  ax-icn 8983  ax-addcl 8984  ax-addrcl 8985  ax-mulcl 8986  ax-mulrcl 8987  ax-mulcom 8988  ax-addass 8989  ax-mulass 8990  ax-distr 8991  ax-i2m1 8992  ax-1ne0 8993  ax-1rid 8994  ax-rnegex 8995  ax-rrecex 8996  ax-cnre 8997  ax-pre-lttri 8998  ax-pre-lttrn 8999  ax-pre-ltadd 9000  ax-pre-mulgt0 9001
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2243  df-mo 2244  df-clab 2375  df-cleq 2381  df-clel 2384  df-nfc 2513  df-ne 2553  df-nel 2554  df-ral 2655  df-rex 2656  df-reu 2657  df-rmo 2658  df-rab 2659  df-v 2902  df-sbc 3106  df-csb 3196  df-dif 3267  df-un 3269  df-in 3271  df-ss 3278  df-pss 3280  df-nul 3573  df-if 3684  df-pw 3745  df-sn 3764  df-pr 3765  df-tp 3766  df-op 3767  df-uni 3959  df-int 3994  df-iun 4038  df-br 4155  df-opab 4209  df-mpt 4210  df-tr 4245  df-eprel 4436  df-id 4440  df-po 4445  df-so 4446  df-fr 4483  df-we 4485  df-ord 4526  df-on 4527  df-lim 4528  df-suc 4529  df-om 4787  df-xp 4825  df-rel 4826  df-cnv 4827  df-co 4828  df-dm 4829  df-rn 4830  df-res 4831  df-ima 4832  df-iota 5359  df-fun 5397  df-fn 5398  df-f 5399  df-f1 5400  df-fo 5401  df-f1o 5402  df-fv 5403  df-ov 6024  df-oprab 6025  df-mpt2 6026  df-of 6245  df-1st 6289  df-2nd 6290  df-riota 6486  df-recs 6570  df-rdg 6605  df-1o 6661  df-oadd 6665  df-er 6842  df-map 6957  df-en 7047  df-dom 7048  df-sdom 7049  df-fin 7050  df-card 7760  df-cda 7982  df-pnf 9056  df-mnf 9057  df-xr 9058  df-ltxr 9059  df-le 9060  df-sub 9226  df-neg 9227  df-nn 9934  df-n0 10155  df-z 10216  df-uz 10422  df-fz 10977  df-hash 11547  df-mzpcl 26472  df-mzp 26473  df-dioph 26506
  Copyright terms: Public domain W3C validator