| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > modid | Structured version Visualization version GIF version | ||
| Description: Identity law for modulo. (Contributed by NM, 29-Dec-2008.) |
| Ref | Expression |
|---|---|
| modid | ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | modval 13891 | . . 3 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) | |
| 2 | 1 | adantr 484 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) |
| 3 | rerpdivcl 13035 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ) | |
| 4 | 3 | adantr 484 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ) |
| 5 | 4 | recnd 11221 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ) |
| 6 | addlid 11377 | . . . . . . . . 9 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵)) | |
| 7 | 6 | fveq2d 6871 | . . . . . . . 8 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 8 | 5, 7 | syl 17 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 9 | rpregt0 13018 | . . . . . . . . . . 11 ⊢ (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) | |
| 10 | divge0 12071 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → 0 ≤ (𝐴 / 𝐵)) | |
| 11 | 9, 10 | sylan2 602 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ 𝐵 ∈ ℝ+) → 0 ≤ (𝐴 / 𝐵)) |
| 12 | 11 | an32s 662 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ 0 ≤ 𝐴) → 0 ≤ (𝐴 / 𝐵)) |
| 13 | 12 | adantrr 727 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 0 ≤ (𝐴 / 𝐵)) |
| 14 | simpr 488 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < 𝐵) | |
| 15 | rpcn 13014 | . . . . . . . . . . . . 13 ⊢ (𝐵 ∈ ℝ+ → 𝐵 ∈ ℂ) | |
| 16 | 15 | mulridd 11210 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵) |
| 17 | 16 | adantr 484 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → (𝐵 · 1) = 𝐵) |
| 18 | 14, 17 | breqtrrd 5129 | . . . . . . . . . 10 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < (𝐵 · 1)) |
| 19 | 18 | ad2ant2l 756 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1)) |
| 20 | simpll 776 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 ∈ ℝ) | |
| 21 | 9 | ad2antlr 737 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) |
| 22 | 1re 11192 | . . . . . . . . . . 11 ⊢ 1 ∈ ℝ | |
| 23 | ltdivmul 12077 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) | |
| 24 | 22, 23 | mp3an2 1471 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
| 25 | 20, 21, 24 | syl2anc 593 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
| 26 | 19, 25 | mpbird 259 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) < 1) |
| 27 | 0z 12589 | . . . . . . . . 9 ⊢ 0 ∈ ℤ | |
| 28 | flbi2 13837 | . . . . . . . . 9 ⊢ ((0 ∈ ℤ ∧ (𝐴 / 𝐵) ∈ ℝ) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1))) | |
| 29 | 27, 4, 28 | sylancr 596 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1))) |
| 30 | 13, 26, 29 | mpbir2and 723 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = 0) |
| 31 | 8, 30 | eqtr3d 2800 | . . . . . 6 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0) |
| 32 | 31 | oveq2d 7412 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0)) |
| 33 | 15 | mul01d 11393 | . . . . . 6 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0) |
| 34 | 33 | ad2antlr 737 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · 0) = 0) |
| 35 | 32, 34 | eqtrd 2798 | . . . 4 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0) |
| 36 | 35 | oveq2d 7412 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0)) |
| 37 | recn 11174 | . . . . 5 ⊢ (𝐴 ∈ ℝ → 𝐴 ∈ ℂ) | |
| 38 | 37 | subid1d 11542 | . . . 4 ⊢ (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴) |
| 39 | 38 | ad2antrr 736 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴) |
| 40 | 36, 39 | eqtrd 2798 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴) |
| 41 | 2, 40 | eqtrd 2798 | 1 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ↔ wb 208 ∧ wa 399 = wceq 1561 ∈ wcel 2143 class class class wbr 5101 ‘cfv 6521 (class class class)co 7396 ℂcc 11082 ℝcr 11083 0cc0 11084 1c1 11085 + caddc 11087 · cmul 11089 < clt 11227 ≤ cle 11228 − cmin 11425 / cdiv 11855 ℤcz 12578 ℝ+crp 13003 ⌊cfl 13810 mod cmo 13889 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1816 ax-4 1830 ax-5 1931 ax-6 1988 ax-7 2029 ax-8 2145 ax-9 2153 ax-10 2176 ax-11 2192 ax-12 2213 ax-ext 2735 ax-sep 5247 ax-nul 5257 ax-pow 5323 ax-pr 5391 ax-un 7718 ax-cnex 11140 ax-resscn 11141 ax-1cn 11142 ax-icn 11143 ax-addcl 11144 ax-addrcl 11145 ax-mulcl 11146 ax-mulrcl 11147 ax-mulcom 11148 ax-addass 11149 ax-mulass 11150 ax-distr 11151 ax-i2m1 11152 ax-1ne0 11153 ax-1rid 11154 ax-rnegex 11155 ax-rrecex 11156 ax-cnre 11157 ax-pre-lttri 11158 ax-pre-lttrn 11159 ax-pre-ltadd 11160 ax-pre-mulgt0 11161 ax-pre-sup 11162 |
| This theorem depends on definitions: df-bi 209 df-an 400 df-or 859 df-3or 1100 df-3an 1101 df-tru 1564 df-fal 1574 df-ex 1801 df-nf 1805 df-sb 2092 df-mo 2567 df-eu 2597 df-clab 2742 df-cleq 2755 df-clel 2838 df-nfc 2912 df-ne 2959 df-nel 3063 df-ral 3078 df-rex 3088 df-rmo 3368 df-reu 3369 df-rab 3416 df-v 3457 df-sbc 3746 df-csb 3854 df-dif 3908 df-un 3910 df-in 3912 df-ss 3922 df-pss 3925 df-nul 4287 df-if 4482 df-pw 4558 df-sn 4584 df-pr 4586 df-op 4590 df-uni 4867 df-iun 4952 df-br 5102 df-opab 5164 df-mpt 5183 df-tr 5209 df-id 5543 df-eprel 5548 df-po 5556 df-so 5557 df-fr 5601 df-we 5603 df-xp 5654 df-rel 5655 df-cnv 5656 df-co 5657 df-dm 5658 df-rn 5659 df-res 5660 df-ima 5661 df-pred 6288 df-ord 6349 df-on 6350 df-lim 6351 df-suc 6352 df-iota 6477 df-fun 6523 df-fn 6524 df-f 6525 df-f1 6526 df-fo 6527 df-f1o 6528 df-fv 6529 df-riota 7353 df-ov 7399 df-oprab 7400 df-mpo 7401 df-om 7847 df-2nd 7971 df-frecs 8262 df-wrecs 8293 df-recs 8342 df-rdg 8381 df-er 8678 df-en 8928 df-dom 8929 df-sdom 8930 df-sup 9386 df-inf 9387 df-pnf 11229 df-mnf 11230 df-xr 11231 df-ltxr 11232 df-le 11233 df-sub 11427 df-neg 11428 df-div 11856 df-nn 12221 df-n0 12492 df-z 12579 df-uz 12850 df-rp 13004 df-fl 13812 df-mod 13890 |
| This theorem is referenced by: modid2 13918 0mod 13922 1mod 13923 modabs 13924 muladdmodid 13933 m1modnnsub1 13940 modltm1p1mod 13946 2submod 13955 modifeq2int 13956 modaddmodlo 13958 modsubdir 13963 modsumfzodifsn 13967 digit1 14260 cshwidxm1 14830 bitsinv1 16486 sadaddlem 16510 sadasslem 16514 sadeq 16516 crth 16823 eulerthlem2 16827 prmdiveq 16831 modprm0 16851 4sqlem12 17002 dfod2 19614 znf1o 21610 wilthlem1 27139 ppiub 27275 lgslem1 27368 lgsdir2lem1 27396 lgsdirprm 27402 lgsqrlem2 27418 lgseisenlem1 27446 lgseisenlem2 27447 lgseisen 27450 m1lgs 27459 2lgslem1a1 27460 2lgslem4 27477 2sqlem11 27500 2sqreultlem 27518 2sqreunnltlem 27521 cshw1s2 33144 sqwvfoura 46793 sqwvfourb 46794 fourierswlem 46795 fouriersw 46796 addmodne 47935 submodlt 47941 m1modmmod 47949 2exp340mod341 48346 8exp8mod9 48349 fpprel2 48354 nfermltl8rev 48355 gpgedgvtx0 48674 gpgedgvtx1 48675 pgnbgreunbgrlem2lem1 48727 pgnbgreunbgrlem2lem2 48728 pgnbgreunbgrlem2lem3 48729 nnpw2pmod 49196 |
| Copyright terms: Public domain | W3C validator |