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

Theorem dvdsmodexp 11960
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 12402). (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 11957 . . 3  |-  ( N 
||  A  ->  ( N  e.  ZZ  /\  A  e.  ZZ ) )
2 dvdsmod0 11958 . . . . . . . . 9  |-  ( ( N  e.  NN  /\  N  ||  A )  -> 
( A  mod  N
)  =  0 )
323ad2antl2 1162 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  N  ||  A )  ->  ( A  mod  N )  =  0 )
43ex 115 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  ( N  ||  A  ->  ( A  mod  N )  =  0 ) )
5 simpl3 1004 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  B  e.  NN )
650expd 10781 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( 0 ^ B )  =  0 )
76oveq1d 5937 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( ( 0 ^ B )  mod 
N )  =  ( 0  mod  N ) )
8 simpl1 1002 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  A  e.  ZZ )
9 0zd 9338 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  0  e.  ZZ )
10 nnnn0 9256 . . . . . . . . . . . 12  |-  ( B  e.  NN  ->  B  e.  NN0 )
11103ad2ant3 1022 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  B  e.  NN0 )
1211adantr 276 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  B  e.  NN0 )
13 simpl2 1003 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  N  e.  NN )
14 nnq 9707 . . . . . . . . . . 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 9738 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  N  e.  RR+ )
17163ad2ant2 1021 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  ->  N  e.  RR+ )
1817adantr 276 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  N  e.  RR+ )
1918rpgt0d 9774 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  0  <  N
)
20 simpr 110 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( A  mod  N )  =  0 )
21 q0mod 10447 . . . . . . . . . . . 12  |-  ( ( N  e.  QQ  /\  0  <  N )  -> 
( 0  mod  N
)  =  0 )
2215, 19, 21syl2anc 411 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( 0  mod 
N )  =  0 )
2320, 22eqtr4d 2232 . . . . . . . . . 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 10758 . . . . . . . . 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 2239 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  N  e.  NN  /\  B  e.  NN )  /\  ( A  mod  N
)  =  0 )  ->  ( ( A ^ B )  mod 
N )  =  ( A  mod  N ) )
2625ex 115 . . . . . . 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 1204 . . . . 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 277 . . 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 1198 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 104    /\ w3a 980    = wceq 1364    e. wcel 2167   class class class wbr 4033  (class class class)co 5922   0cc0 7879    < clt 8061   NNcn 8990   NN0cn0 9249   ZZcz 9326   QQcq 9693   RR+crp 9728    mod cmo 10414   ^cexp 10630    || cdvds 11952
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 615  ax-in2 616  ax-io 710  ax-5 1461  ax-7 1462  ax-gen 1463  ax-ie1 1507  ax-ie2 1508  ax-8 1518  ax-10 1519  ax-11 1520  ax-i12 1521  ax-bndl 1523  ax-4 1524  ax-17 1540  ax-i9 1544  ax-ial 1548  ax-i5r 1549  ax-13 2169  ax-14 2170  ax-ext 2178  ax-coll 4148  ax-sep 4151  ax-nul 4159  ax-pow 4207  ax-pr 4242  ax-un 4468  ax-setind 4573  ax-iinf 4624  ax-cnex 7970  ax-resscn 7971  ax-1cn 7972  ax-1re 7973  ax-icn 7974  ax-addcl 7975  ax-addrcl 7976  ax-mulcl 7977  ax-mulrcl 7978  ax-addcom 7979  ax-mulcom 7980  ax-addass 7981  ax-mulass 7982  ax-distr 7983  ax-i2m1 7984  ax-0lt1 7985  ax-1rid 7986  ax-0id 7987  ax-rnegex 7988  ax-precex 7989  ax-cnre 7990  ax-pre-ltirr 7991  ax-pre-ltwlin 7992  ax-pre-lttrn 7993  ax-pre-apti 7994  ax-pre-ltadd 7995  ax-pre-mulgt0 7996  ax-pre-mulext 7997  ax-arch 7998
This theorem depends on definitions:  df-bi 117  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-nf 1475  df-sb 1777  df-eu 2048  df-mo 2049  df-clab 2183  df-cleq 2189  df-clel 2192  df-nfc 2328  df-ne 2368  df-nel 2463  df-ral 2480  df-rex 2481  df-reu 2482  df-rmo 2483  df-rab 2484  df-v 2765  df-sbc 2990  df-csb 3085  df-dif 3159  df-un 3161  df-in 3163  df-ss 3170  df-nul 3451  df-if 3562  df-pw 3607  df-sn 3628  df-pr 3629  df-op 3631  df-uni 3840  df-int 3875  df-iun 3918  df-br 4034  df-opab 4095  df-mpt 4096  df-tr 4132  df-id 4328  df-po 4331  df-iso 4332  df-iord 4401  df-on 4403  df-ilim 4404  df-suc 4406  df-iom 4627  df-xp 4669  df-rel 4670  df-cnv 4671  df-co 4672  df-dm 4673  df-rn 4674  df-res 4675  df-ima 4676  df-iota 5219  df-fun 5260  df-fn 5261  df-f 5262  df-f1 5263  df-fo 5264  df-f1o 5265  df-fv 5266  df-riota 5877  df-ov 5925  df-oprab 5926  df-mpo 5927  df-1st 6198  df-2nd 6199  df-recs 6363  df-frec 6449  df-pnf 8063  df-mnf 8064  df-xr 8065  df-ltxr 8066  df-le 8067  df-sub 8199  df-neg 8200  df-reap 8602  df-ap 8609  df-div 8700  df-inn 8991  df-n0 9250  df-z 9327  df-uz 9602  df-q 9694  df-rp 9729  df-fl 10360  df-mod 10415  df-seqfrec 10540  df-exp 10631  df-dvds 11953
This theorem is referenced by:  fermltl  12402
  Copyright terms: Public domain W3C validator