| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > dvdsmodexp | Structured version Visualization version GIF version | ||
| 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 16868). (Contributed by Mario Carneiro, 28-Feb-2014.) (Revised by AV, 19-Mar-2022.) |
| Ref | Expression |
|---|---|
| dvdsmodexp | ⊢ ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | dvdszrcl 16340 | . . 3 ⊢ (𝑁 ∥ 𝐴 → (𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ)) | |
| 2 | dvdsmod0 16341 | . . . . . . . . 9 ⊢ ((𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → (𝐴 mod 𝑁) = 0) | |
| 3 | 2 | 3ad2antl2 1205 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ 𝑁 ∥ 𝐴) → (𝐴 mod 𝑁) = 0) |
| 4 | 3 | ex 418 | . . . . . . 7 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁 ∥ 𝐴 → (𝐴 mod 𝑁) = 0)) |
| 5 | simpl3 1212 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ) | |
| 6 | 5 | 0expd 14195 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0↑𝐵) = 0) |
| 7 | 6 | oveq1d 7438 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((0↑𝐵) mod 𝑁) = (0 mod 𝑁)) |
| 8 | simpl1 1210 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐴 ∈ ℤ) | |
| 9 | 0zd 12621 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 0 ∈ ℤ) | |
| 10 | nnnn0 12529 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℕ → 𝐵 ∈ ℕ0) | |
| 11 | 10 | 3ad2ant3 1153 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝐵 ∈ ℕ0) |
| 12 | 11 | adantr 486 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ0) |
| 13 | nnrp 13046 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℝ+) | |
| 14 | 13 | 3ad2ant2 1152 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝑁 ∈ ℝ+) |
| 15 | 14 | adantr 486 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝑁 ∈ ℝ+) |
| 16 | simpr 490 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = 0) | |
| 17 | 0mod 13955 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℝ+ → (0 mod 𝑁) = 0) | |
| 18 | 15, 17 | syl 18 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0 mod 𝑁) = 0) |
| 19 | 16, 18 | eqtr4d 2804 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = (0 mod 𝑁)) |
| 20 | modexp 14294 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 0 ∈ ℤ) ∧ (𝐵 ∈ ℕ0 ∧ 𝑁 ∈ ℝ+) ∧ (𝐴 mod 𝑁) = (0 mod 𝑁)) → ((𝐴↑𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁)) | |
| 21 | 8, 9, 12, 15, 19, 20 | syl221anc 1408 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴↑𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁)) |
| 22 | 7, 21, 19 | 3eqtr4d 2811 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)) |
| 23 | 22 | ex 418 | . . . . . . 7 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → ((𝐴 mod 𝑁) = 0 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))) |
| 24 | 4, 23 | syld 48 | . . . . . 6 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁 ∥ 𝐴 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))) |
| 25 | 24 | 3exp 1137 | . . . . 5 ⊢ (𝐴 ∈ ℤ → (𝑁 ∈ ℕ → (𝐵 ∈ ℕ → (𝑁 ∥ 𝐴 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))) |
| 26 | 25 | com24 96 | . . . 4 ⊢ (𝐴 ∈ ℤ → (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))) |
| 27 | 26 | adantl 487 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))) |
| 28 | 1, 27 | mpcom 39 | . 2 ⊢ (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))) |
| 29 | 28 | 3imp31 1129 | 1 ⊢ ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ∧ wa 401 ∧ w3a 1103 = wceq 1570 ∈ wcel 2146 class class class wbr 5114 (class class class)co 7423 0cc0 11118 ℕcn 12251 ℕ0cn0 12522 ℤcz 12609 ℝ+crp 13034 mod cmo 13922 ↑cexp 14117 ∥ cdvds 16335 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1943 ax-6 2000 ax-7 2041 ax-8 2148 ax-9 2156 ax-10 2179 ax-11 2195 ax-12 2216 ax-ext 2738 ax-sep 5262 ax-nul 5274 ax-pow 5341 ax-pr 5409 ax-un 7745 ax-cnex 11174 ax-resscn 11175 ax-1cn 11176 ax-icn 11177 ax-addcl 11178 ax-addrcl 11179 ax-mulcl 11180 ax-mulrcl 11181 ax-mulcom 11182 ax-addass 11183 ax-mulass 11184 ax-distr 11185 ax-i2m1 11186 ax-1ne0 11187 ax-1rid 11188 ax-rnegex 11189 ax-rrecex 11190 ax-cnre 11191 ax-pre-lttri 11192 ax-pre-lttrn 11193 ax-pre-ltadd 11194 ax-pre-mulgt0 11195 ax-pre-sup 11196 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2100 df-mo 2570 df-eu 2600 df-clab 2745 df-cleq 2758 df-clel 2841 df-nfc 2915 df-ne 2962 df-nel 3068 df-ral 3083 df-rex 3093 df-rmo 3372 df-reu 3373 df-rab 3420 df-v 3460 df-sbc 3748 df-csb 3857 df-dif 3911 df-un 3913 df-in 3915 df-ss 3925 df-pss 3928 df-nul 4290 df-if 4493 df-pw 4569 df-sn 4595 df-pr 4597 df-op 4601 df-uni 4878 df-iun 4963 df-br 5115 df-opab 5179 df-mpt 5198 df-tr 5224 df-id 5561 df-eprel 5566 df-po 5574 df-so 5575 df-fr 5619 df-we 5621 df-xp 5672 df-rel 5673 df-cnv 5674 df-co 5675 df-dm 5676 df-rn 5677 df-res 5678 df-ima 5679 df-pred 6309 df-ord 6370 df-on 6371 df-lim 6372 df-suc 6373 df-iota 6499 df-fun 6545 df-fn 6546 df-f 6547 df-f1 6548 df-fo 6549 df-f1o 6550 df-fv 6551 df-riota 7380 df-ov 7426 df-oprab 7427 df-mpo 7428 df-om 7872 df-2nd 7996 df-frecs 8287 df-wrecs 8318 df-recs 8367 df-rdg 8406 df-er 8703 df-en 8953 df-dom 8954 df-sdom 8955 df-sup 9412 df-inf 9413 df-pnf 11263 df-mnf 11264 df-xr 11265 df-ltxr 11266 df-le 11267 df-sub 11461 df-neg 11462 df-div 11890 df-nn 12252 df-n0 12523 df-z 12610 df-uz 12881 df-rp 13035 df-fl 13845 df-mod 13923 df-seq 14058 df-exp 14118 df-dvds 16336 |
| This theorem is used by: fermltl 16868 |
| Copyright terms: Public domain | W3C validator |