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

Theorem jm3.1 26524
Description: Diophantine expression for exponentiation. Lemma 3.1 of [JonesMatijasevic] p. 698. (Contributed by Stefan O'Rear, 16-Oct-2014.)
Assertion
Ref Expression
jm3.1  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( K ^ N )  =  ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  mod  ( ( ( ( 2  x.  A )  x.  K
)  -  ( K ^ 2 ) )  -  1 ) ) )

Proof of Theorem jm3.1
StepHypRef Expression
1 simpl1 958 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  A  e.  ( ZZ>= `  2 )
)
2 simpl2 959 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  K  e.  ( ZZ>= `  2 )
)
3 simpl3 960 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  N  e.  NN )
4 simpr 447 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( K Yrm  ( N  +  1 ) )  <_  A )
51, 2, 3, 4jm3.1lem2 26522 . 2  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( K ^ N )  <  (
( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 ) )
6 2nn0 9978 . . . . . 6  |-  2  e.  NN0
7 eluznn0 10284 . . . . . 6  |-  ( ( 2  e.  NN0  /\  K  e.  ( ZZ>= ` 
2 ) )  ->  K  e.  NN0 )
86, 7mpan 651 . . . . 5  |-  ( K  e.  ( ZZ>= `  2
)  ->  K  e.  NN0 )
983ad2ant2 977 . . . 4  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  K  e.  NN0 )
109adantr 451 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  K  e.  NN0 )
11 nnnn0 9968 . . . 4  |-  ( N  e.  NN  ->  N  e.  NN0 )
123, 11syl 15 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  N  e.  NN0 )
13 jm2.18 26492 . . 3  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  NN0  /\  N  e. 
NN0 )  ->  (
( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 )  ||  ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  -  ( K ^ N ) ) )
141, 10, 12, 13syl3anc 1182 . 2  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( (
( ( 2  x.  A )  x.  K
)  -  ( K ^ 2 ) )  -  1 )  ||  ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  -  ( K ^ N ) ) )
15 simp1 955 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  A  e.  (
ZZ>= `  2 ) )
16 nnz 10041 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  ZZ )
17163ad2ant3 978 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  N  e.  ZZ )
18 frmx 26409 . . . . . . . 8  |- Xrm  : (
( ZZ>= `  2 )  X.  ZZ ) --> NN0
1918fovcl 5911 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  N  e.  ZZ )  ->  ( A Xrm 
N )  e.  NN0 )
2015, 17, 19syl2anc 642 . . . . . 6  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A Xrm  N )  e.  NN0 )
2120nn0zd 10111 . . . . 5  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A Xrm  N )  e.  ZZ )
22 eluzelz 10234 . . . . . . . 8  |-  ( A  e.  ( ZZ>= `  2
)  ->  A  e.  ZZ )
23 eluzelz 10234 . . . . . . . 8  |-  ( K  e.  ( ZZ>= `  2
)  ->  K  e.  ZZ )
24 zsubcl 10057 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  K  e.  ZZ )  ->  ( A  -  K
)  e.  ZZ )
2522, 23, 24syl2an 463 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )
)  ->  ( A  -  K )  e.  ZZ )
26253adant3 975 . . . . . 6  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A  -  K )  e.  ZZ )
27 frmy 26410 . . . . . . . 8  |- Yrm  : (
( ZZ>= `  2 )  X.  ZZ ) --> ZZ
2827fovcl 5911 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  N  e.  ZZ )  ->  ( A Yrm 
N )  e.  ZZ )
2915, 17, 28syl2anc 642 . . . . . 6  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A Yrm  N )  e.  ZZ )
3026, 29zmulcld 10119 . . . . 5  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( ( A  -  K )  x.  ( A Yrm  N ) )  e.  ZZ )
3121, 30zsubcld 10118 . . . 4  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  e.  ZZ )
3231adantr 451 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( ( A Xrm 
N )  -  (
( A  -  K
)  x.  ( A Yrm  N ) ) )  e.  ZZ )
331, 2, 3, 4jm3.1lem3 26523 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( (
( ( 2  x.  A )  x.  K
)  -  ( K ^ 2 ) )  -  1 )  e.  NN )
34113ad2ant3 978 . . . . 5  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  N  e.  NN0 )
359, 34nn0expcld 11263 . . . 4  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( K ^ N )  e.  NN0 )
3635adantr 451 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( K ^ N )  e.  NN0 )
37 divalgmodcl 26491 . . 3  |-  ( ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  e.  ZZ  /\  ( ( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 )  e.  NN  /\  ( K ^ N )  e. 
NN0 )  ->  (
( K ^ N
)  =  ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm 
N ) ) )  mod  ( ( ( ( 2  x.  A
)  x.  K )  -  ( K ^
2 ) )  - 
1 ) )  <->  ( ( K ^ N )  < 
( ( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 )  /\  ( ( ( ( 2  x.  A
)  x.  K )  -  ( K ^
2 ) )  - 
1 )  ||  (
( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  -  ( K ^ N ) ) ) ) )
3832, 33, 36, 37syl3anc 1182 . 2  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( ( K ^ N )  =  ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  mod  (
( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 ) )  <-> 
( ( K ^ N )  <  (
( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 )  /\  ( ( ( ( 2  x.  A )  x.  K )  -  ( K ^ 2 ) )  -  1 ) 
||  ( ( ( A Xrm  N )  -  (
( A  -  K
)  x.  ( A Yrm  N ) ) )  -  ( K ^ N ) ) ) ) )
395, 14, 38mpbir2and 888 1  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( K ^ N )  =  ( ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  mod  ( ( ( ( 2  x.  A )  x.  K
)  -  ( K ^ 2 ) )  -  1 ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358    /\ w3a 934    = wceq 1623    e. wcel 1685   class class class wbr 4024   ` cfv 5221  (class class class)co 5820   1c1 8734    + caddc 8736    x. cmul 8738    < clt 8863    <_ cle 8864    - cmin 9033   NNcn 9742   2c2 9791   NN0cn0 9961   ZZcz 10020   ZZ>=cuz 10226    mod cmo 10969   ^cexp 11100    || cdivides 12527   Xrm crmx 26396   Yrm crmy 26397
This theorem is referenced by:  expdiophlem1  26525
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1636  ax-8 1644  ax-13 1687  ax-14 1689  ax-6 1704  ax-7 1709  ax-11 1716  ax-12 1868  ax-ext 2265  ax-rep 4132  ax-sep 4142  ax-nul 4150  ax-pow 4187  ax-pr 4213  ax-un 4511  ax-inf2 7338  ax-cnex 8789  ax-resscn 8790  ax-1cn 8791  ax-icn 8792  ax-addcl 8793  ax-addrcl 8794  ax-mulcl 8795  ax-mulrcl 8796  ax-mulcom 8797  ax-addass 8798  ax-mulass 8799  ax-distr 8800  ax-i2m1 8801  ax-1ne0 8802  ax-1rid 8803  ax-rnegex 8804  ax-rrecex 8805  ax-cnre 8806  ax-pre-lttri 8807  ax-pre-lttrn 8808  ax-pre-ltadd 8809  ax-pre-mulgt0 8810  ax-pre-sup 8811  ax-addf 8812  ax-mulf 8813
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1631  df-eu 2148  df-mo 2149  df-clab 2271  df-cleq 2277  df-clel 2280  df-nfc 2409  df-ne 2449  df-nel 2450  df-ral 2549  df-rex 2550  df-reu 2551  df-rmo 2552  df-rab 2553  df-v 2791  df-sbc 2993  df-csb 3083  df-dif 3156  df-un 3158  df-in 3160  df-ss 3167  df-pss 3169  df-nul 3457  df-if 3567  df-pw 3628  df-sn 3647  df-pr 3648  df-tp 3649  df-op 3650  df-uni 3829  df-int 3864  df-iun 3908  df-iin 3909  df-br 4025  df-opab 4079  df-mpt 4080  df-tr 4115  df-eprel 4304  df-id 4308  df-po 4313  df-so 4314  df-fr 4351  df-se 4352  df-we 4353  df-ord 4394  df-on 4395  df-lim 4396  df-suc 4397  df-om 4656  df-xp 4694  df-rel 4695  df-cnv 4696  df-co 4697  df-dm 4698  df-rn 4699  df-res 4700  df-ima 4701  df-fun 5223  df-fn 5224  df-f 5225  df-f1 5226  df-fo 5227  df-f1o 5228  df-fv 5229  df-isom 5230  df-ov 5823  df-oprab 5824  df-mpt2 5825  df-of 6040  df-1st 6084  df-2nd 6085  df-iota 6253  df-riota 6300  df-recs 6384  df-rdg 6419  df-1o 6475  df-2o 6476  df-oadd 6479  df-omul 6480  df-er 6656  df-map 6770  df-pm 6771  df-ixp 6814  df-en 6860  df-dom 6861  df-sdom 6862  df-fin 6863  df-fi 7161  df-sup 7190  df-oi 7221  df-card 7568  df-acn 7571  df-cda 7790  df-pnf 8865  df-mnf 8866  df-xr 8867  df-ltxr 8868  df-le 8869  df-sub 9035  df-neg 9036  df-div 9420  df-nn 9743  df-2 9800  df-3 9801  df-4 9802  df-5 9803  df-6 9804  df-7 9805  df-8 9806  df-9 9807  df-10 9808  df-n0 9962  df-z 10021  df-dec 10121  df-uz 10227  df-q 10313  df-rp 10351  df-xneg 10448  df-xadd 10449  df-xmul 10450  df-ioo 10656  df-ioc 10657  df-ico 10658  df-icc 10659  df-fz 10779  df-fzo 10867  df-fl 10921  df-mod 10970  df-seq 11043  df-exp 11101  df-fac 11285  df-bc 11312  df-hash 11334  df-shft 11558  df-cj 11580  df-re 11581  df-im 11582  df-sqr 11716  df-abs 11717  df-limsup 11941  df-clim 11958  df-rlim 11959  df-sum 12155  df-ef 12345  df-sin 12347  df-cos 12348  df-pi 12350  df-dvds 12528  df-gcd 12682  df-numer 12802  df-denom 12803  df-struct 13146  df-ndx 13147  df-slot 13148  df-base 13149  df-sets 13150  df-ress 13151  df-plusg 13217  df-mulr 13218  df-starv 13219  df-sca 13220  df-vsca 13221  df-tset 13223  df-ple 13224  df-ds 13226  df-hom 13228  df-cco 13229  df-rest 13323  df-topn 13324  df-topgen 13340  df-pt 13341  df-prds 13344  df-xrs 13399  df-0g 13400  df-gsum 13401  df-qtop 13406  df-imas 13407  df-xps 13409  df-mre 13484  df-mrc 13485  df-acs 13487  df-mnd 14363  df-submnd 14412  df-mulg 14488  df-cntz 14789  df-cmn 15087  df-xmet 16369  df-met 16370  df-bl 16371  df-mopn 16372  df-cnfld 16374  df-top 16632  df-bases 16634  df-topon 16635  df-topsp 16636  df-cld 16752  df-ntr 16753  df-cls 16754  df-nei 16831  df-lp 16864  df-perf 16865  df-cn 16953  df-cnp 16954  df-haus 17039  df-tx 17253  df-hmeo 17442  df-fbas 17516  df-fg 17517  df-fil 17537  df-fm 17629  df-flim 17630  df-flf 17631  df-xms 17881  df-ms 17882  df-tms 17883  df-cncf 18378  df-limc 19212  df-dv 19213  df-log 19910  df-squarenn 26337  df-pell1qr 26338  df-pell14qr 26339  df-pell1234qr 26340  df-pellfund 26341  df-rmx 26398  df-rmy 26399
  Copyright terms: Public domain W3C validator