ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  dvdsmodexp Unicode version

Theorem dvdsmodexp 11757
Description: If a positive integer divides another integer, this other integer is equal to its positive powers modulo the positive integer. (Formerly part of the proof for fermltl 12188). (Contributed by Mario Carneiro, 28-Feb-2014.) (Revised by AV, 19-Mar-2022.)
Assertion
Ref Expression
dvdsmodexp  |-  ( ( N  e.  NN  /\  B  e.  NN  /\  N  ||  A )  ->  (
( A ^ B
)  mod  N )  =  ( A  mod  N ) )

Proof of Theorem dvdsmodexp
StepHypRef Expression
1 dvdszrcl 11754 . . 3  |-  ( N 
||  A  ->  ( N  e.  ZZ  /\  A  e.  ZZ ) )
2 dvdsmod0 11755 . . . . . . . . 9  |-  ( ( N  e.  NN  /\  N  ||  A )  -> 
( A  mod  N
)  =  0 )
323ad2antl2 1155 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  N  ||  A )  ->  ( A  mod  N )  =  0 )
43ex 114 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  ( N  ||  A  ->  ( A  mod  N )  =  0 ) )
5 simpl3 997 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  B  e.  NN )
650expd 10625 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( 0 ^ B )  =  0 )
76oveq1d 5868 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( ( 0 ^ B )  mod 
N )  =  ( 0  mod  N ) )
8 simpl1 995 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  A  e.  ZZ )
9 0zd 9224 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  0  e.  ZZ )
10 nnnn0 9142 . . . . . . . . . . . 12  |-  ( B  e.  NN  ->  B  e.  NN0 )
11103ad2ant3 1015 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  B  e.  NN0 )
1211adantr 274 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  B  e.  NN0 )
13 simpl2 996 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  N  e.  NN )
14 nnq 9592 . . . . . . . . . . 11  |-  ( N  e.  NN  ->  N  e.  QQ )
1513, 14syl 14 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  N  e.  QQ )
16 nnrp 9620 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  N  e.  RR+ )
17163ad2ant2 1014 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  N  e.  RR+ )
1817adantr 274 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  N  e.  RR+ )
1918rpgt0d 9656 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  0  <  N
)
20 simpr 109 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( A  mod  N )  =  0 )
21 q0mod 10311 . . . . . . . . . . . 12  |-  ( ( N  e.  QQ  /\  0  <  N )  -> 
( 0  mod  N
)  =  0 )
2215, 19, 21syl2anc 409 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( 0  mod 
N )  =  0 )
2320, 22eqtr4d 2206 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( A  mod  N )  =  ( 0  mod  N ) )
248, 9, 12, 15, 19, 23modqexp 10602 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( ( A ^ B )  mod 
N )  =  ( ( 0 ^ B
)  mod  N )
)
257, 24, 233eqtr4d 2213 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( ( A ^ B )  mod 
N )  =  ( A  mod  N ) )
2625ex 114 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  (
( A  mod  N
)  =  0  -> 
( ( A ^ B )  mod  N
)  =  ( A  mod  N ) ) )
274, 26syld 45 . . . . . 6  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  ( N  ||  A  ->  (
( A ^ B
)  mod  N )  =  ( A  mod  N ) ) )
28273exp 1197 . . . . 5  |-  ( A  e.  ZZ  ->  ( N  e.  NN  ->  ( B  e.  NN  ->  ( N  ||  A  -> 
( ( A ^ B )  mod  N
)  =  ( A  mod  N ) ) ) ) )
2928com24 87 . . . 4  |-  ( A  e.  ZZ  ->  ( N  ||  A  ->  ( B  e.  NN  ->  ( N  e.  NN  ->  ( ( A ^ B
)  mod  N )  =  ( A  mod  N ) ) ) ) )
3029adantl 275 . . 3  |-  ( ( N  e.  ZZ  /\  A  e.  ZZ )  ->  ( N  ||  A  ->  ( B  e.  NN  ->  ( N  e.  NN  ->  ( ( A ^ B )  mod  N
)  =  ( A  mod  N ) ) ) ) )
311, 30mpcom 36 . 2  |-  ( N 
||  A  ->  ( B  e.  NN  ->  ( N  e.  NN  ->  ( ( A ^ B
)  mod  N )  =  ( A  mod  N ) ) ) )
32313imp31 1191 1  |-  ( ( N  e.  NN  /\  B  e.  NN  /\  N  ||  A )  ->  (
( A ^ B
)  mod  N )  =  ( A  mod  N ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 103    /\ w3a 973    = wceq 1348    e. wcel 2141   class class class wbr 3989  (class class class)co 5853   0cc0 7774    < clt 7954   NNcn 8878   NN0cn0 9135   ZZcz 9212   QQcq 9578   RR+crp 9610    mod cmo 10278   ^cexp 10475    || cdvds 11749
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 609  ax-in2 610  ax-io 704  ax-5 1440  ax-7 1441  ax-gen 1442  ax-ie1 1486  ax-ie2 1487  ax-8 1497  ax-10 1498  ax-11 1499  ax-i12 1500  ax-bndl 1502  ax-4 1503  ax-17 1519  ax-i9 1523  ax-ial 1527  ax-i5r 1528  ax-13 2143  ax-14 2144  ax-ext 2152  ax-coll 4104  ax-sep 4107  ax-nul 4115  ax-pow 4160  ax-pr 4194  ax-un 4418  ax-setind 4521  ax-iinf 4572  ax-cnex 7865  ax-resscn 7866  ax-1cn 7867  ax-1re 7868  ax-icn 7869  ax-addcl 7870  ax-addrcl 7871  ax-mulcl 7872  ax-mulrcl 7873  ax-addcom 7874  ax-mulcom 7875  ax-addass 7876  ax-mulass 7877  ax-distr 7878  ax-i2m1 7879  ax-0lt1 7880  ax-1rid 7881  ax-0id 7882  ax-rnegex 7883  ax-precex 7884  ax-cnre 7885  ax-pre-ltirr 7886  ax-pre-ltwlin 7887  ax-pre-lttrn 7888  ax-pre-apti 7889  ax-pre-ltadd 7890  ax-pre-mulgt0 7891  ax-pre-mulext 7892  ax-arch 7893
This theorem depends on definitions:  df-bi 116  df-dc 830  df-3or 974  df-3an 975  df-tru 1351  df-fal 1354  df-nf 1454  df-sb 1756  df-eu 2022  df-mo 2023  df-clab 2157  df-cleq 2163  df-clel 2166  df-nfc 2301  df-ne 2341  df-nel 2436  df-ral 2453  df-rex 2454  df-reu 2455  df-rmo 2456  df-rab 2457  df-v 2732  df-sbc 2956  df-csb 3050  df-dif 3123  df-un 3125  df-in 3127  df-ss 3134  df-nul 3415  df-if 3527  df-pw 3568  df-sn 3589  df-pr 3590  df-op 3592  df-uni 3797  df-int 3832  df-iun 3875  df-br 3990  df-opab 4051  df-mpt 4052  df-tr 4088  df-id 4278  df-po 4281  df-iso 4282  df-iord 4351  df-on 4353  df-ilim 4354  df-suc 4356  df-iom 4575  df-xp 4617  df-rel 4618  df-cnv 4619  df-co 4620  df-dm 4621  df-rn 4622  df-res 4623  df-ima 4624  df-iota 5160  df-fun 5200  df-fn 5201  df-f 5202  df-f1 5203  df-fo 5204  df-f1o 5205  df-fv 5206  df-riota 5809  df-ov 5856  df-oprab 5857  df-mpo 5858  df-1st 6119  df-2nd 6120  df-recs 6284  df-frec 6370  df-pnf 7956  df-mnf 7957  df-xr 7958  df-ltxr 7959  df-le 7960  df-sub 8092  df-neg 8093  df-reap 8494  df-ap 8501  df-div 8590  df-inn 8879  df-n0 9136  df-z 9213  df-uz 9488  df-q 9579  df-rp 9611  df-fl 10226  df-mod 10279  df-seqfrec 10402  df-exp 10476  df-dvds 11750
This theorem is referenced by:  fermltl  12188
  Copyright terms: Public domain W3C validator