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 26445
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 963 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  A  e.  ( ZZ>= `  2 )
)
2 simpl2 964 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  K  e.  ( ZZ>= `  2 )
)
3 simpl3 965 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  N  e.  NN )
4 simpr 449 . . 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 26443 . 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 9914 . . . . . 6  |-  2  e.  NN0
7 eluznn0 10220 . . . . . 6  |-  ( ( 2  e.  NN0  /\  K  e.  ( ZZ>= ` 
2 ) )  ->  K  e.  NN0 )
86, 7mpan 654 . . . . 5  |-  ( K  e.  ( ZZ>= `  2
)  ->  K  e.  NN0 )
983ad2ant2 982 . . . 4  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  K  e.  NN0 )
109adantr 453 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  K  e.  NN0 )
11 nnnn0 9904 . . . 4  |-  ( N  e.  NN  ->  N  e.  NN0 )
123, 11syl 17 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  N  e.  NN0 )
13 jm2.18 26413 . . 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 1187 . 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 960 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  A  e.  (
ZZ>= `  2 ) )
16 nnz 9977 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  ZZ )
17163ad2ant3 983 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  N  e.  ZZ )
18 frmx 26330 . . . . . . . 8  |- Xrm  : (
( ZZ>= `  2 )  X.  ZZ ) --> NN0
1918fovcl 5848 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  N  e.  ZZ )  ->  ( A Xrm 
N )  e.  NN0 )
2015, 17, 19syl2anc 645 . . . . . 6  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A Xrm  N )  e.  NN0 )
2120nn0zd 10047 . . . . 5  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A Xrm  N )  e.  ZZ )
22 eluzelz 10170 . . . . . . . 8  |-  ( A  e.  ( ZZ>= `  2
)  ->  A  e.  ZZ )
23 eluzelz 10170 . . . . . . . 8  |-  ( K  e.  ( ZZ>= `  2
)  ->  K  e.  ZZ )
24 zsubcl 9993 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  K  e.  ZZ )  ->  ( A  -  K
)  e.  ZZ )
2522, 23, 24syl2an 465 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )
)  ->  ( A  -  K )  e.  ZZ )
26253adant3 980 . . . . . 6  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A  -  K )  e.  ZZ )
27 frmy 26331 . . . . . . . 8  |- Yrm  : (
( ZZ>= `  2 )  X.  ZZ ) --> ZZ
2827fovcl 5848 . . . . . . 7  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  N  e.  ZZ )  ->  ( A Yrm 
N )  e.  ZZ )
2915, 17, 28syl2anc 645 . . . . . 6  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( A Yrm  N )  e.  ZZ )
3026, 29zmulcld 10055 . . . . 5  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( ( A  -  K )  x.  ( A Yrm  N ) )  e.  ZZ )
3121, 30zsubcld 10054 . . . 4  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( ( A Xrm  N )  -  ( ( A  -  K )  x.  ( A Yrm  N ) ) )  e.  ZZ )
3231adantr 453 . . 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 26444 . . 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 983 . . . . 5  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  N  e.  NN0 )
359, 34nn0expcld 11198 . . . 4  |-  ( ( A  e.  ( ZZ>= ` 
2 )  /\  K  e.  ( ZZ>= `  2 )  /\  N  e.  NN )  ->  ( K ^ N )  e.  NN0 )
3635adantr 453 . . 3  |-  ( ( ( A  e.  (
ZZ>= `  2 )  /\  K  e.  ( ZZ>= ` 
2 )  /\  N  e.  NN )  /\  ( K Yrm  ( N  +  1 ) )  <_  A
)  ->  ( K ^ N )  e.  NN0 )
37 divalgmodcl 26412 . . 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 1187 . 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 893 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 6    <-> wb 178    /\ wa 360    /\ w3a 939    = wceq 1619    e. wcel 1621   class class class wbr 3963   ` cfv 4638  (class class class)co 5757   1c1 8671    + caddc 8673    x. cmul 8675    < clt 8800    <_ cle 8801    - cmin 8970   NNcn 9679   2c2 9728   NN0cn0 9897   ZZcz 9956   ZZ>=cuz 10162    mod cmo 10904   ^cexp 11035    || cdivides 12458   Xrm crmx 26317   Yrm crmy 26318
This theorem is referenced by:  expdiophlem1  26446
This theorem was proved from axioms:  ax-1 7  ax-2 8  ax-3 9  ax-mp 10  ax-5 1533  ax-6 1534  ax-7 1535  ax-gen 1536  ax-8 1623  ax-11 1624  ax-13 1625  ax-14 1626  ax-17 1628  ax-12o 1664  ax-10 1678  ax-9 1684  ax-4 1692  ax-16 1927  ax-ext 2237  ax-rep 4071  ax-sep 4081  ax-nul 4089  ax-pow 4126  ax-pr 4152  ax-un 4449  ax-inf2 7275  ax-cnex 8726  ax-resscn 8727  ax-1cn 8728  ax-icn 8729  ax-addcl 8730  ax-addrcl 8731  ax-mulcl 8732  ax-mulrcl 8733  ax-mulcom 8734  ax-addass 8735  ax-mulass 8736  ax-distr 8737  ax-i2m1 8738  ax-1ne0 8739  ax-1rid 8740  ax-rnegex 8741  ax-rrecex 8742  ax-cnre 8743  ax-pre-lttri 8744  ax-pre-lttrn 8745  ax-pre-ltadd 8746  ax-pre-mulgt0 8747  ax-pre-sup 8748  ax-addf 8749  ax-mulf 8750
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 940  df-3an 941  df-tru 1315  df-ex 1538  df-nf 1540  df-sb 1884  df-eu 2121  df-mo 2122  df-clab 2243  df-cleq 2249  df-clel 2252  df-nfc 2381  df-ne 2421  df-nel 2422  df-ral 2520  df-rex 2521  df-reu 2522  df-rab 2523  df-v 2742  df-sbc 2936  df-csb 3024  df-dif 3097  df-un 3099  df-in 3101  df-ss 3108  df-pss 3110  df-nul 3398  df-if 3507  df-pw 3568  df-sn 3587  df-pr 3588  df-tp 3589  df-op 3590  df-uni 3769  df-int 3804  df-iun 3848  df-iin 3849  df-br 3964  df-opab 4018  df-mpt 4019  df-tr 4054  df-eprel 4242  df-id 4246  df-po 4251  df-so 4252  df-fr 4289  df-se 4290  df-we 4291  df-ord 4332  df-on 4333  df-lim 4334  df-suc 4335  df-om 4594  df-xp 4640  df-rel 4641  df-cnv 4642  df-co 4643  df-dm 4644  df-rn 4645  df-res 4646  df-ima 4647  df-fun 4648  df-fn 4649  df-f 4650  df-f1 4651  df-fo 4652  df-f1o 4653  df-fv 4654  df-isom 4655  df-ov 5760  df-oprab 5761  df-mpt2 5762  df-of 5977  df-1st 6021  df-2nd 6022  df-iota 6190  df-riota 6237  df-recs 6321  df-rdg 6356  df-1o 6412  df-2o 6413  df-oadd 6416  df-omul 6417  df-er 6593  df-map 6707  df-pm 6708  df-ixp 6751  df-en 6797  df-dom 6798  df-sdom 6799  df-fin 6800  df-fi 7098  df-sup 7127  df-oi 7158  df-card 7505  df-acn 7508  df-cda 7727  df-pnf 8802  df-mnf 8803  df-xr 8804  df-ltxr 8805  df-le 8806  df-sub 8972  df-neg 8973  df-div 9357  df-n 9680  df-2 9737  df-3 9738  df-4 9739  df-5 9740  df-6 9741  df-7 9742  df-8 9743  df-9 9744  df-10 9745  df-n0 9898  df-z 9957  df-dec 10057  df-uz 10163  df-q 10249  df-rp 10287  df-xneg 10384  df-xadd 10385  df-xmul 10386  df-ioo 10591  df-ioc 10592  df-ico 10593  df-icc 10594  df-fz 10714  df-fzo 10802  df-fl 10856  df-mod 10905  df-seq 10978  df-exp 11036  df-fac 11220  df-bc 11247  df-hash 11269  df-shft 11492  df-cj 11514  df-re 11515  df-im 11516  df-sqr 11650  df-abs 11651  df-limsup 11875  df-clim 11892  df-rlim 11893  df-sum 12089  df-ef 12276  df-sin 12278  df-cos 12279  df-pi 12281  df-divides 12459  df-gcd 12613  df-numer 12733  df-denom 12734  df-struct 13077  df-ndx 13078  df-slot 13079  df-base 13080  df-sets 13081  df-ress 13082  df-plusg 13148  df-mulr 13149  df-starv 13150  df-sca 13151  df-vsca 13152  df-tset 13154  df-ple 13155  df-ds 13157  df-hom 13159  df-cco 13160  df-rest 13254  df-topn 13255  df-topgen 13271  df-pt 13272  df-prds 13275  df-xrs 13330  df-0g 13331  df-gsum 13332  df-qtop 13337  df-imas 13338  df-xps 13340  df-mre 13415  df-mrc 13416  df-acs 13418  df-mnd 14294  df-submnd 14343  df-mulg 14419  df-cntz 14720  df-cmn 15018  df-xmet 16300  df-met 16301  df-bl 16302  df-mopn 16303  df-cnfld 16305  df-top 16563  df-bases 16565  df-topon 16566  df-topsp 16567  df-cld 16683  df-ntr 16684  df-cls 16685  df-nei 16762  df-lp 16795  df-perf 16796  df-cn 16884  df-cnp 16885  df-haus 16970  df-tx 17184  df-hmeo 17373  df-fbas 17447  df-fg 17448  df-fil 17468  df-fm 17560  df-flim 17561  df-flf 17562  df-xms 17812  df-ms 17813  df-tms 17814  df-cncf 18309  df-limc 19143  df-dv 19144  df-log 19841  df-squarenn 26258  df-pell1qr 26259  df-pell14qr 26260  df-pell1234qr 26261  df-pellfund 26262  df-rmx 26319  df-rmy 26320
  Copyright terms: Public domain W3C validator