Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > addmodid | Structured version Visualization version GIF version |
Description: The sum of a positive integer and a nonnegative integer less than the positive integer is equal to the nonnegative integer modulo the positive integer. (Contributed by Alexander van der Vekens, 30-Oct-2018.) (Proof shortened by AV, 5-Jul-2020.) |
Ref | Expression |
---|---|
addmodid | ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → ((𝑀 + 𝐴) mod 𝑀) = 𝐴) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | nncn 11648 | . . . . . . 7 ⊢ (𝑀 ∈ ℕ → 𝑀 ∈ ℂ) | |
2 | 1 | mulid2d 10661 | . . . . . 6 ⊢ (𝑀 ∈ ℕ → (1 · 𝑀) = 𝑀) |
3 | 2 | 3ad2ant2 1130 | . . . . 5 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → (1 · 𝑀) = 𝑀) |
4 | 3 | eqcomd 2829 | . . . 4 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 𝑀 = (1 · 𝑀)) |
5 | 4 | oveq1d 7173 | . . 3 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → (𝑀 + 𝐴) = ((1 · 𝑀) + 𝐴)) |
6 | 5 | oveq1d 7173 | . 2 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → ((𝑀 + 𝐴) mod 𝑀) = (((1 · 𝑀) + 𝐴) mod 𝑀)) |
7 | 1zzd 12016 | . . 3 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 1 ∈ ℤ) | |
8 | nnrp 12403 | . . . 4 ⊢ (𝑀 ∈ ℕ → 𝑀 ∈ ℝ+) | |
9 | 8 | 3ad2ant2 1130 | . . 3 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 𝑀 ∈ ℝ+) |
10 | nn0re 11909 | . . . . . 6 ⊢ (𝐴 ∈ ℕ0 → 𝐴 ∈ ℝ) | |
11 | 10 | rexrd 10693 | . . . . 5 ⊢ (𝐴 ∈ ℕ0 → 𝐴 ∈ ℝ*) |
12 | 11 | 3ad2ant1 1129 | . . . 4 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 𝐴 ∈ ℝ*) |
13 | nn0ge0 11925 | . . . . 5 ⊢ (𝐴 ∈ ℕ0 → 0 ≤ 𝐴) | |
14 | 13 | 3ad2ant1 1129 | . . . 4 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 0 ≤ 𝐴) |
15 | simp3 1134 | . . . 4 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 𝐴 < 𝑀) | |
16 | 0xr 10690 | . . . . 5 ⊢ 0 ∈ ℝ* | |
17 | nnre 11647 | . . . . . . 7 ⊢ (𝑀 ∈ ℕ → 𝑀 ∈ ℝ) | |
18 | 17 | rexrd 10693 | . . . . . 6 ⊢ (𝑀 ∈ ℕ → 𝑀 ∈ ℝ*) |
19 | 18 | 3ad2ant2 1130 | . . . . 5 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 𝑀 ∈ ℝ*) |
20 | elico1 12784 | . . . . 5 ⊢ ((0 ∈ ℝ* ∧ 𝑀 ∈ ℝ*) → (𝐴 ∈ (0[,)𝑀) ↔ (𝐴 ∈ ℝ* ∧ 0 ≤ 𝐴 ∧ 𝐴 < 𝑀))) | |
21 | 16, 19, 20 | sylancr 589 | . . . 4 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → (𝐴 ∈ (0[,)𝑀) ↔ (𝐴 ∈ ℝ* ∧ 0 ≤ 𝐴 ∧ 𝐴 < 𝑀))) |
22 | 12, 14, 15, 21 | mpbir3and 1338 | . . 3 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → 𝐴 ∈ (0[,)𝑀)) |
23 | muladdmodid 13282 | . . 3 ⊢ ((1 ∈ ℤ ∧ 𝑀 ∈ ℝ+ ∧ 𝐴 ∈ (0[,)𝑀)) → (((1 · 𝑀) + 𝐴) mod 𝑀) = 𝐴) | |
24 | 7, 9, 22, 23 | syl3anc 1367 | . 2 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → (((1 · 𝑀) + 𝐴) mod 𝑀) = 𝐴) |
25 | 6, 24 | eqtrd 2858 | 1 ⊢ ((𝐴 ∈ ℕ0 ∧ 𝑀 ∈ ℕ ∧ 𝐴 < 𝑀) → ((𝑀 + 𝐴) mod 𝑀) = 𝐴) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 208 ∧ w3a 1083 = wceq 1537 ∈ wcel 2114 class class class wbr 5068 (class class class)co 7158 0cc0 10539 1c1 10540 + caddc 10542 · cmul 10544 ℝ*cxr 10676 < clt 10677 ≤ cle 10678 ℕcn 11640 ℕ0cn0 11900 ℤcz 11984 ℝ+crp 12392 [,)cico 12743 mod cmo 13240 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1796 ax-4 1810 ax-5 1911 ax-6 1970 ax-7 2015 ax-8 2116 ax-9 2124 ax-10 2145 ax-11 2161 ax-12 2177 ax-ext 2795 ax-sep 5205 ax-nul 5212 ax-pow 5268 ax-pr 5332 ax-un 7463 ax-cnex 10595 ax-resscn 10596 ax-1cn 10597 ax-icn 10598 ax-addcl 10599 ax-addrcl 10600 ax-mulcl 10601 ax-mulrcl 10602 ax-mulcom 10603 ax-addass 10604 ax-mulass 10605 ax-distr 10606 ax-i2m1 10607 ax-1ne0 10608 ax-1rid 10609 ax-rnegex 10610 ax-rrecex 10611 ax-cnre 10612 ax-pre-lttri 10613 ax-pre-lttrn 10614 ax-pre-ltadd 10615 ax-pre-mulgt0 10616 ax-pre-sup 10617 |
This theorem depends on definitions: df-bi 209 df-an 399 df-or 844 df-3or 1084 df-3an 1085 df-tru 1540 df-ex 1781 df-nf 1785 df-sb 2070 df-mo 2622 df-eu 2654 df-clab 2802 df-cleq 2816 df-clel 2895 df-nfc 2965 df-ne 3019 df-nel 3126 df-ral 3145 df-rex 3146 df-reu 3147 df-rmo 3148 df-rab 3149 df-v 3498 df-sbc 3775 df-csb 3886 df-dif 3941 df-un 3943 df-in 3945 df-ss 3954 df-pss 3956 df-nul 4294 df-if 4470 df-pw 4543 df-sn 4570 df-pr 4572 df-tp 4574 df-op 4576 df-uni 4841 df-iun 4923 df-br 5069 df-opab 5131 df-mpt 5149 df-tr 5175 df-id 5462 df-eprel 5467 df-po 5476 df-so 5477 df-fr 5516 df-we 5518 df-xp 5563 df-rel 5564 df-cnv 5565 df-co 5566 df-dm 5567 df-rn 5568 df-res 5569 df-ima 5570 df-pred 6150 df-ord 6196 df-on 6197 df-lim 6198 df-suc 6199 df-iota 6316 df-fun 6359 df-fn 6360 df-f 6361 df-f1 6362 df-fo 6363 df-f1o 6364 df-fv 6365 df-riota 7116 df-ov 7161 df-oprab 7162 df-mpo 7163 df-om 7583 df-wrecs 7949 df-recs 8010 df-rdg 8048 df-er 8291 df-en 8512 df-dom 8513 df-sdom 8514 df-sup 8908 df-inf 8909 df-pnf 10679 df-mnf 10680 df-xr 10681 df-ltxr 10682 df-le 10683 df-sub 10874 df-neg 10875 df-div 11300 df-nn 11641 df-n0 11901 df-z 11985 df-uz 12247 df-rp 12393 df-ico 12747 df-fl 13165 df-mod 13241 |
This theorem is referenced by: addmodidr 13291 cshwidxn 14173 eucrctshift 28024 ex-mod 28230 |
Copyright terms: Public domain | W3C validator |