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

Theorem dvdsmodexp 16435
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 16966). (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 16432 . . 3 (𝑁 ∥ 𝐴 → (𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ))
2 dvdsmod0 16433 . . . . . . . . 9 ((𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → (𝐴 mod 𝑁) = 0)
323ad2antl2 1205 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ 𝑁 ∥ 𝐴) → (𝐴 mod 𝑁) = 0)
43ex 418 . . . . . . 7 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁 ∥ 𝐴 → (𝐴 mod 𝑁) = 0))
5 simpl3 1212 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ)
650expd 14285 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0↑𝐵) = 0)
76oveq1d 7435 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((0↑𝐵) mod 𝑁) = (0 mod 𝑁))
8 simpl1 1210 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐴 ∈ ℤ)
9 0zd 12708 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 0 ∈ ℤ)
10 nnnn0 12616 . . . . . . . . . . . 12 (𝐵 ∈ ℕ → 𝐵 ∈ ℕ0)
11103ad2ant3 1153 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝐵 ∈ ℕ0)
1211adantr 486 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ0)
13 nnrp 13135 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ+)
14133ad2ant2 1152 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝑁 ∈ ℝ+)
1514adantr 486 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝑁 ∈ ℝ+)
16 simpr 490 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = 0)
17 0mod 14045 . . . . . . . . . . . 12 (𝑁 ∈ ℝ+ → (0 mod 𝑁) = 0)
1815, 17syl 18 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0 mod 𝑁) = 0)
1916, 18eqtr4d 2798 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = (0 mod 𝑁))
20 modexp 14385 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 0 ∈ ℤ) ∧ (𝐵 ∈ ℕ0 ∧ 𝑁 ∈ ℝ+) ∧ (𝐴 mod 𝑁) = (0 mod 𝑁)) → ((𝐴↑𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁))
218, 9, 12, 15, 19, 20syl221anc 1408 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴↑𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁))
227, 21, 193eqtr4d 2805 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))
2322ex 418 . . . . . . 7 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → ((𝐴 mod 𝑁) = 0 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))
244, 23syld 48 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁 ∥ 𝐴 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))
25243exp 1137 . . . . 5 (𝐴 ∈ ℤ → (𝑁 ∈ ℕ → (𝐵 ∈ ℕ → (𝑁 ∥ 𝐴 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))))
2625com24 96 . . . 4 (𝐴 ∈ ℤ → (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))))
2726adantl 487 . . 3 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))))
281, 27mpcom 39 . 2 (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))
29283imp31 1129 1 ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∧ w3a 1103   = wceq 1569   ∈ wcel 2144   class class class wbr 5102  (class class class)co 7420  0cc0 11203  ℕcn 12338  ℕ0cn0 12609  ℤcz 12696  ℝ+crp 13123   mod cmo 14012  ↑cexp 14207   ∥ cdvds 16427
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751  ax-cnex 11259  ax-resscn 11260  ax-1cn 11261  ax-icn 11262  ax-addcl 11263  ax-addrcl 11264  ax-mulcl 11265  ax-mulrcl 11266  ax-mulcom 11267  ax-addass 11268  ax-mulass 11269  ax-distr 11270  ax-i2m1 11271  ax-1ne0 11272  ax-1rid 11273  ax-rnegex 11274  ax-rrecex 11275  ax-cnre 11276  ax-pre-lttri 11277  ax-pre-lttrn 11278  ax-pre-ltadd 11279  ax-pre-mulgt0 11280  ax-pre-sup 11281
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-om 7878  df-2nd 8002  df-frecs 8302  df-wrecs 8333  df-recs 8382  df-rdg 8421  df-er 8720  df-en 8977  df-dom 8978  df-sdom 8979  df-sup 9437  df-inf 9438  df-pnf 11348  df-mnf 11349  df-xr 11350  df-ltxr 11351  df-le 11352  df-sub 11546  df-neg 11547  df-div 11977  df-nn 12339  df-n0 12610  df-z 12697  df-uz 12969  df-rp 13124  df-fl 13935  df-mod 14013  df-seq 14148  df-exp 14208  df-dvds 16428
This theorem is used by:  fermltl  16966
  Copyright terms: Public domain W3C validator