![]() |
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 16663). (Contributed by Mario Carneiro, 28-Feb-2014.) (Revised by AV, 19-Mar-2022.) |
Ref | Expression |
---|---|
dvdsmodexp | ⊢ ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | dvdszrcl 16148 | . . 3 ⊢ (𝑁 ∥ 𝐴 → (𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ)) | |
2 | dvdsmod0 16149 | . . . . . . . . 9 ⊢ ((𝑁 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → (𝐴 mod 𝑁) = 0) | |
3 | 2 | 3ad2antl2 1187 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ 𝑁 ∥ 𝐴) → (𝐴 mod 𝑁) = 0) |
4 | 3 | ex 414 | . . . . . . 7 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁 ∥ 𝐴 → (𝐴 mod 𝑁) = 0)) |
5 | simpl3 1194 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ) | |
6 | 5 | 0expd 14051 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0↑𝐵) = 0) |
7 | 6 | oveq1d 7377 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((0↑𝐵) mod 𝑁) = (0 mod 𝑁)) |
8 | simpl1 1192 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐴 ∈ ℤ) | |
9 | 0zd 12518 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 0 ∈ ℤ) | |
10 | nnnn0 12427 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℕ → 𝐵 ∈ ℕ0) | |
11 | 10 | 3ad2ant3 1136 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝐵 ∈ ℕ0) |
12 | 11 | adantr 482 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝐵 ∈ ℕ0) |
13 | nnrp 12933 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℝ+) | |
14 | 13 | 3ad2ant2 1135 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → 𝑁 ∈ ℝ+) |
15 | 14 | adantr 482 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → 𝑁 ∈ ℝ+) |
16 | simpr 486 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = 0) | |
17 | 0mod 13814 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℝ+ → (0 mod 𝑁) = 0) | |
18 | 15, 17 | syl 17 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (0 mod 𝑁) = 0) |
19 | 16, 18 | eqtr4d 2780 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝐴 mod 𝑁) = (0 mod 𝑁)) |
20 | modexp 14148 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℤ ∧ 0 ∈ ℤ) ∧ (𝐵 ∈ ℕ0 ∧ 𝑁 ∈ ℝ+) ∧ (𝐴 mod 𝑁) = (0 mod 𝑁)) → ((𝐴↑𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁)) | |
21 | 8, 9, 12, 15, 19, 20 | syl221anc 1382 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴↑𝐵) mod 𝑁) = ((0↑𝐵) mod 𝑁)) |
22 | 7, 21, 19 | 3eqtr4d 2787 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)) |
23 | 22 | ex 414 | . . . . . . 7 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → ((𝐴 mod 𝑁) = 0 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))) |
24 | 4, 23 | syld 47 | . . . . . 6 ⊢ ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ) → (𝑁 ∥ 𝐴 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))) |
25 | 24 | 3exp 1120 | . . . . 5 ⊢ (𝐴 ∈ ℤ → (𝑁 ∈ ℕ → (𝐵 ∈ ℕ → (𝑁 ∥ 𝐴 → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))) |
26 | 25 | com24 95 | . . . 4 ⊢ (𝐴 ∈ ℤ → (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))) |
27 | 26 | adantl 483 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁))))) |
28 | 1, 27 | mpcom 38 | . 2 ⊢ (𝑁 ∥ 𝐴 → (𝐵 ∈ ℕ → (𝑁 ∈ ℕ → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)))) |
29 | 28 | 3imp31 1113 | 1 ⊢ ((𝑁 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝑁 ∥ 𝐴) → ((𝐴↑𝐵) mod 𝑁) = (𝐴 mod 𝑁)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 397 ∧ w3a 1088 = wceq 1542 ∈ wcel 2107 class class class wbr 5110 (class class class)co 7362 0cc0 11058 ℕcn 12160 ℕ0cn0 12420 ℤcz 12506 ℝ+crp 12922 mod cmo 13781 ↑cexp 13974 ∥ cdvds 16143 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1798 ax-4 1812 ax-5 1914 ax-6 1972 ax-7 2012 ax-8 2109 ax-9 2117 ax-10 2138 ax-11 2155 ax-12 2172 ax-ext 2708 ax-sep 5261 ax-nul 5268 ax-pow 5325 ax-pr 5389 ax-un 7677 ax-cnex 11114 ax-resscn 11115 ax-1cn 11116 ax-icn 11117 ax-addcl 11118 ax-addrcl 11119 ax-mulcl 11120 ax-mulrcl 11121 ax-mulcom 11122 ax-addass 11123 ax-mulass 11124 ax-distr 11125 ax-i2m1 11126 ax-1ne0 11127 ax-1rid 11128 ax-rnegex 11129 ax-rrecex 11130 ax-cnre 11131 ax-pre-lttri 11132 ax-pre-lttrn 11133 ax-pre-ltadd 11134 ax-pre-mulgt0 11135 ax-pre-sup 11136 |
This theorem depends on definitions: df-bi 206 df-an 398 df-or 847 df-3or 1089 df-3an 1090 df-tru 1545 df-fal 1555 df-ex 1783 df-nf 1787 df-sb 2069 df-mo 2539 df-eu 2568 df-clab 2715 df-cleq 2729 df-clel 2815 df-nfc 2890 df-ne 2945 df-nel 3051 df-ral 3066 df-rex 3075 df-rmo 3356 df-reu 3357 df-rab 3411 df-v 3450 df-sbc 3745 df-csb 3861 df-dif 3918 df-un 3920 df-in 3922 df-ss 3932 df-pss 3934 df-nul 4288 df-if 4492 df-pw 4567 df-sn 4592 df-pr 4594 df-op 4598 df-uni 4871 df-iun 4961 df-br 5111 df-opab 5173 df-mpt 5194 df-tr 5228 df-id 5536 df-eprel 5542 df-po 5550 df-so 5551 df-fr 5593 df-we 5595 df-xp 5644 df-rel 5645 df-cnv 5646 df-co 5647 df-dm 5648 df-rn 5649 df-res 5650 df-ima 5651 df-pred 6258 df-ord 6325 df-on 6326 df-lim 6327 df-suc 6328 df-iota 6453 df-fun 6503 df-fn 6504 df-f 6505 df-f1 6506 df-fo 6507 df-f1o 6508 df-fv 6509 df-riota 7318 df-ov 7365 df-oprab 7366 df-mpo 7367 df-om 7808 df-2nd 7927 df-frecs 8217 df-wrecs 8248 df-recs 8322 df-rdg 8361 df-er 8655 df-en 8891 df-dom 8892 df-sdom 8893 df-sup 9385 df-inf 9386 df-pnf 11198 df-mnf 11199 df-xr 11200 df-ltxr 11201 df-le 11202 df-sub 11394 df-neg 11395 df-div 11820 df-nn 12161 df-n0 12421 df-z 12507 df-uz 12771 df-rp 12923 df-fl 13704 df-mod 13782 df-seq 13914 df-exp 13975 df-dvds 16144 |
This theorem is referenced by: fermltl 16663 |
Copyright terms: Public domain | W3C validator |