Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  dvdsmodexp Structured version   Visualization version   GIF version

Theorem dvdsmodexp 15610
 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 16114). (Contributed by Mario Carneiro, 28-Feb-2014.) (Revised by AV, 19-Mar-2022.)
Assertion
Ref Expression
dvdsmodexp ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁𝐴) → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁))

Proof of Theorem dvdsmodexp
StepHypRef Expression
1 dvdszrcl 15607 . . 3 (𝑁𝐴 → (𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ))
2 dvdsmod0 15608 . . . . . . . . 9 ((𝑁 ∈ ℕ ∧ 𝑁𝐴) → (𝐴 mod 𝑁) = 0)
323ad2antl2 1183 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ 𝑁𝐴) → (𝐴 mod 𝑁) = 0)
43ex 416 . . . . . . 7 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁𝐴 → (𝐴 mod 𝑁) = 0))
5 simpl3 1190 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ)
650expd 13503 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0↑𝐵) = 0)
76oveq1d 7154 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((0↑𝐵) mod 𝑁) = (0 mod 𝑁))
8 simpl1 1188 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐴 ∈ ℤ)
9 0zd 11985 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 0 ∈ ℤ)
10 nnnn0 11896 . . . . . . . . . . . 12 (𝐵 ∈ ℕ → 𝐵 ∈ ℕ0)
11103ad2ant3 1132 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝐵 ∈ ℕ0)
1211adantr 484 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ0)
13 nnrp 12392 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ+)
14133ad2ant2 1131 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝑁 ∈ ℝ+)
1514adantr 484 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝑁 ∈ ℝ+)
16 simpr 488 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = 0)
17 0mod 13269 . . . . . . . . . . . 12 (𝑁 ∈ ℝ+ → (0 mod 𝑁) = 0)
1815, 17syl 17 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0 mod 𝑁) = 0)
1916, 18eqtr4d 2839 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = (0 mod 𝑁))
20 modexp 13599 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 0 ∈ ℤ) ∧ (𝐵 ∈ ℕ0𝑁 ∈ ℝ+) ∧ (𝐴 mod 𝑁) = (0 mod 𝑁)) → ((𝐴𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁))
218, 9, 12, 15, 19, 20syl221anc 1378 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁))
227, 21, 193eqtr4d 2846 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁))
2322ex 416 . . . . . . 7 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → ((𝐴 mod 𝑁) = 0 → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁)))
244, 23syld 47 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁𝐴 → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁)))
25243exp 1116 . . . . 5 (𝐴 ∈ ℤ → (𝑁 ∈ ℕ → (𝐵 ∈ ℕ → (𝑁𝐴 → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁)))))
2625com24 95 . . . 4 (𝐴 ∈ ℤ → (𝑁𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁)))))
2726adantl 485 . . 3 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁)))))
281, 27mpcom 38 . 2 (𝑁𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁))))
29283imp31 1109 1 ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁𝐴) → ((𝐴𝐵) mod 𝑁) = (𝐴 mod 𝑁))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ∧ wa 399   ∧ w3a 1084   = wceq 1538   ∈ wcel 2112   class class class wbr 5033  (class class class)co 7139  0cc0 10530  ℕcn 11629  ℕ0cn0 11889  ℤcz 11973  ℝ+crp 12381   mod cmo 13236  ↑cexp 13429   ∥ cdvds 15602 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2773  ax-sep 5170  ax-nul 5177  ax-pow 5234  ax-pr 5298  ax-un 7445  ax-cnex 10586  ax-resscn 10587  ax-1cn 10588  ax-icn 10589  ax-addcl 10590  ax-addrcl 10591  ax-mulcl 10592  ax-mulrcl 10593  ax-mulcom 10594  ax-addass 10595  ax-mulass 10596  ax-distr 10597  ax-i2m1 10598  ax-1ne0 10599  ax-1rid 10600  ax-rnegex 10601  ax-rrecex 10602  ax-cnre 10603  ax-pre-lttri 10604  ax-pre-lttrn 10605  ax-pre-ltadd 10606  ax-pre-mulgt0 10607  ax-pre-sup 10608 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2601  df-eu 2632  df-clab 2780  df-cleq 2794  df-clel 2873  df-nfc 2941  df-ne 2991  df-nel 3095  df-ral 3114  df-rex 3115  df-reu 3116  df-rmo 3117  df-rab 3118  df-v 3446  df-sbc 3724  df-csb 3832  df-dif 3887  df-un 3889  df-in 3891  df-ss 3901  df-pss 3903  df-nul 4247  df-if 4429  df-pw 4502  df-sn 4529  df-pr 4531  df-tp 4533  df-op 4535  df-uni 4804  df-iun 4886  df-br 5034  df-opab 5096  df-mpt 5114  df-tr 5140  df-id 5428  df-eprel 5433  df-po 5442  df-so 5443  df-fr 5482  df-we 5484  df-xp 5529  df-rel 5530  df-cnv 5531  df-co 5532  df-dm 5533  df-rn 5534  df-res 5535  df-ima 5536  df-pred 6120  df-ord 6166  df-on 6167  df-lim 6168  df-suc 6169  df-iota 6287  df-fun 6330  df-fn 6331  df-f 6332  df-f1 6333  df-fo 6334  df-f1o 6335  df-fv 6336  df-riota 7097  df-ov 7142  df-oprab 7143  df-mpo 7144  df-om 7565  df-2nd 7676  df-wrecs 7934  df-recs 7995  df-rdg 8033  df-er 8276  df-en 8497  df-dom 8498  df-sdom 8499  df-sup 8894  df-inf 8895  df-pnf 10670  df-mnf 10671  df-xr 10672  df-ltxr 10673  df-le 10674  df-sub 10865  df-neg 10866  df-div 11291  df-nn 11630  df-n0 11890  df-z 11974  df-uz 12236  df-rp 12382  df-fl 13161  df-mod 13237  df-seq 13369  df-exp 13430  df-dvds 15603 This theorem is referenced by:  fermltl  16114
 Copyright terms: Public domain W3C validator