| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > modaddmodlo | Structured version Visualization version GIF version | ||
| Description: The sum of an integer modulo a positive integer and another integer equals the sum of the two integers modulo the positive integer if the other integer is in the lower part of the range between 0 and the positive integer. (Contributed by AV, 30-Oct-2018.) |
| Ref | Expression |
|---|---|
| modaddmodlo | ⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → (𝐵 + (𝐴 mod 𝑀)) = ((𝐵 + 𝐴) mod 𝑀))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elfzoelz 13569 | . . . . . . . 8 ⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 𝐵 ∈ ℤ) | |
| 2 | 1 | zred 12587 | . . . . . . 7 ⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 𝐵 ∈ ℝ) |
| 3 | 2 | adantr 480 | . . . . . 6 ⊢ ((𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → 𝐵 ∈ ℝ) |
| 4 | zmodcl 13805 | . . . . . . . 8 ⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) ∈ ℕ0) | |
| 5 | 4 | nn0red 12453 | . . . . . . 7 ⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) ∈ ℝ) |
| 6 | 5 | adantl 481 | . . . . . 6 ⊢ ((𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝐴 mod 𝑀) ∈ ℝ) |
| 7 | 3, 6 | readdcld 11151 | . . . . 5 ⊢ ((𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝐵 + (𝐴 mod 𝑀)) ∈ ℝ) |
| 8 | 7 | ancoms 458 | . . . 4 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐵 + (𝐴 mod 𝑀)) ∈ ℝ) |
| 9 | nnrp 12912 | . . . . 5 ⊢ (𝑀 ∈ ℕ → 𝑀 ∈ ℝ+) | |
| 10 | 9 | ad2antlr 727 | . . . 4 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝑀 ∈ ℝ+) |
| 11 | 2 | adantl 481 | . . . . 5 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐵 ∈ ℝ) |
| 12 | 5 | adantr 480 | . . . . 5 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐴 mod 𝑀) ∈ ℝ) |
| 13 | elfzole1 13577 | . . . . . 6 ⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 0 ≤ 𝐵) | |
| 14 | 13 | adantl 481 | . . . . 5 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 ≤ 𝐵) |
| 15 | 4 | nn0ge0d 12455 | . . . . . 6 ⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 0 ≤ (𝐴 mod 𝑀)) |
| 16 | 15 | adantr 480 | . . . . 5 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 ≤ (𝐴 mod 𝑀)) |
| 17 | 11, 12, 14, 16 | addge0d 11703 | . . . 4 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 ≤ (𝐵 + (𝐴 mod 𝑀))) |
| 18 | elfzolt2 13578 | . . . . . 6 ⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 𝐵 < (𝑀 − (𝐴 mod 𝑀))) | |
| 19 | 18 | adantl 481 | . . . . 5 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐵 < (𝑀 − (𝐴 mod 𝑀))) |
| 20 | nnre 12142 | . . . . . . 7 ⊢ (𝑀 ∈ ℕ → 𝑀 ∈ ℝ) | |
| 21 | 20 | ad2antlr 727 | . . . . . 6 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝑀 ∈ ℝ) |
| 22 | 11, 12, 21 | ltaddsubd 11727 | . . . . 5 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → ((𝐵 + (𝐴 mod 𝑀)) < 𝑀 ↔ 𝐵 < (𝑀 − (𝐴 mod 𝑀)))) |
| 23 | 19, 22 | mpbird 257 | . . . 4 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐵 + (𝐴 mod 𝑀)) < 𝑀) |
| 24 | modid 13810 | . . . 4 ⊢ ((((𝐵 + (𝐴 mod 𝑀)) ∈ ℝ ∧ 𝑀 ∈ ℝ+) ∧ (0 ≤ (𝐵 + (𝐴 mod 𝑀)) ∧ (𝐵 + (𝐴 mod 𝑀)) < 𝑀)) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = (𝐵 + (𝐴 mod 𝑀))) | |
| 25 | 8, 10, 17, 23, 24 | syl22anc 838 | . . 3 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = (𝐵 + (𝐴 mod 𝑀))) |
| 26 | zre 12482 | . . . . . 6 ⊢ (𝐴 ∈ ℤ → 𝐴 ∈ ℝ) | |
| 27 | 26 | adantr 480 | . . . . 5 ⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝐴 ∈ ℝ) |
| 28 | 27 | adantr 480 | . . . 4 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐴 ∈ ℝ) |
| 29 | modadd2mod 13838 | . . . 4 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ∧ 𝑀 ∈ ℝ+) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) | |
| 30 | 28, 11, 10, 29 | syl3anc 1373 | . . 3 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) |
| 31 | 25, 30 | eqtr3d 2770 | . 2 ⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐵 + (𝐴 mod 𝑀)) = ((𝐵 + 𝐴) mod 𝑀)) |
| 32 | 31 | ex 412 | 1 ⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → (𝐵 + (𝐴 mod 𝑀)) = ((𝐵 + 𝐴) mod 𝑀))) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 395 = wceq 1541 ∈ wcel 2113 class class class wbr 5095 (class class class)co 7355 ℝcr 11015 0cc0 11016 + caddc 11019 < clt 11156 ≤ cle 11157 − cmin 11354 ℕcn 12135 ℤcz 12478 ℝ+crp 12900 ..^cfzo 13564 mod cmo 13783 |
| 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 1968 ax-7 2009 ax-8 2115 ax-9 2123 ax-10 2146 ax-11 2162 ax-12 2182 ax-ext 2705 ax-sep 5238 ax-nul 5248 ax-pow 5307 ax-pr 5374 ax-un 7677 ax-cnex 11072 ax-resscn 11073 ax-1cn 11074 ax-icn 11075 ax-addcl 11076 ax-addrcl 11077 ax-mulcl 11078 ax-mulrcl 11079 ax-mulcom 11080 ax-addass 11081 ax-mulass 11082 ax-distr 11083 ax-i2m1 11084 ax-1ne0 11085 ax-1rid 11086 ax-rnegex 11087 ax-rrecex 11088 ax-cnre 11089 ax-pre-lttri 11090 ax-pre-lttrn 11091 ax-pre-ltadd 11092 ax-pre-mulgt0 11093 ax-pre-sup 11094 |
| This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1544 df-fal 1554 df-ex 1781 df-nf 1785 df-sb 2068 df-mo 2537 df-eu 2566 df-clab 2712 df-cleq 2725 df-clel 2808 df-nfc 2883 df-ne 2931 df-nel 3035 df-ral 3050 df-rex 3059 df-rmo 3348 df-reu 3349 df-rab 3398 df-v 3440 df-sbc 3739 df-csb 3848 df-dif 3902 df-un 3904 df-in 3906 df-ss 3916 df-pss 3919 df-nul 4285 df-if 4477 df-pw 4553 df-sn 4578 df-pr 4580 df-op 4584 df-uni 4861 df-iun 4945 df-br 5096 df-opab 5158 df-mpt 5177 df-tr 5203 df-id 5516 df-eprel 5521 df-po 5529 df-so 5530 df-fr 5574 df-we 5576 df-xp 5627 df-rel 5628 df-cnv 5629 df-co 5630 df-dm 5631 df-rn 5632 df-res 5633 df-ima 5634 df-pred 6256 df-ord 6317 df-on 6318 df-lim 6319 df-suc 6320 df-iota 6445 df-fun 6491 df-fn 6492 df-f 6493 df-f1 6494 df-fo 6495 df-f1o 6496 df-fv 6497 df-riota 7312 df-ov 7358 df-oprab 7359 df-mpo 7360 df-om 7806 df-1st 7930 df-2nd 7931 df-frecs 8220 df-wrecs 8251 df-recs 8300 df-rdg 8338 df-er 8631 df-en 8879 df-dom 8880 df-sdom 8881 df-sup 9336 df-inf 9337 df-pnf 11158 df-mnf 11159 df-xr 11160 df-ltxr 11161 df-le 11162 df-sub 11356 df-neg 11357 df-div 11785 df-nn 12136 df-n0 12392 df-z 12479 df-uz 12743 df-rp 12901 df-fz 13418 df-fzo 13565 df-fl 13706 df-mod 13784 |
| This theorem is referenced by: cshwidxmod 14720 |
| Copyright terms: Public domain | W3C validator |