| 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 13888 | . . 3 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) | |
| 2 | 1 | adantr 480 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) |
| 3 | rerpdivcl 13039 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ) | |
| 4 | 3 | adantr 480 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ) |
| 5 | 4 | recnd 11263 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ) |
| 6 | addlid 11418 | . . . . . . . . 9 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵)) | |
| 7 | 6 | fveq2d 6880 | . . . . . . . 8 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 8 | 5, 7 | syl 17 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 9 | rpregt0 13023 | . . . . . . . . . . 11 ⊢ (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) | |
| 10 | divge0 12111 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → 0 ≤ (𝐴 / 𝐵)) | |
| 11 | 9, 10 | sylan2 593 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ 𝐵 ∈ ℝ+) → 0 ≤ (𝐴 / 𝐵)) |
| 12 | 11 | an32s 652 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ 0 ≤ 𝐴) → 0 ≤ (𝐴 / 𝐵)) |
| 13 | 12 | adantrr 717 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 0 ≤ (𝐴 / 𝐵)) |
| 14 | simpr 484 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < 𝐵) | |
| 15 | rpcn 13019 | . . . . . . . . . . . . 13 ⊢ (𝐵 ∈ ℝ+ → 𝐵 ∈ ℂ) | |
| 16 | 15 | mulridd 11252 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵) |
| 17 | 16 | adantr 480 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → (𝐵 · 1) = 𝐵) |
| 18 | 14, 17 | breqtrrd 5147 | . . . . . . . . . 10 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < (𝐵 · 1)) |
| 19 | 18 | ad2ant2l 746 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1)) |
| 20 | simpll 766 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 ∈ ℝ) | |
| 21 | 9 | ad2antlr 727 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) |
| 22 | 1re 11235 | . . . . . . . . . . 11 ⊢ 1 ∈ ℝ | |
| 23 | ltdivmul 12117 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) | |
| 24 | 22, 23 | mp3an2 1451 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
| 25 | 20, 21, 24 | syl2anc 584 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
| 26 | 19, 25 | mpbird 257 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) < 1) |
| 27 | 0z 12599 | . . . . . . . . 9 ⊢ 0 ∈ ℤ | |
| 28 | flbi2 13834 | . . . . . . . . 9 ⊢ ((0 ∈ ℤ ∧ (𝐴 / 𝐵) ∈ ℝ) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1))) | |
| 29 | 27, 4, 28 | sylancr 587 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1))) |
| 30 | 13, 26, 29 | mpbir2and 713 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = 0) |
| 31 | 8, 30 | eqtr3d 2772 | . . . . . 6 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0) |
| 32 | 31 | oveq2d 7421 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0)) |
| 33 | 15 | mul01d 11434 | . . . . . 6 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0) |
| 34 | 33 | ad2antlr 727 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · 0) = 0) |
| 35 | 32, 34 | eqtrd 2770 | . . . 4 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0) |
| 36 | 35 | oveq2d 7421 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0)) |
| 37 | recn 11219 | . . . . 5 ⊢ (𝐴 ∈ ℝ → 𝐴 ∈ ℂ) | |
| 38 | 37 | subid1d 11583 | . . . 4 ⊢ (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴) |
| 39 | 38 | ad2antrr 726 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴) |
| 40 | 36, 39 | eqtrd 2770 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴) |
| 41 | 2, 40 | eqtrd 2770 | 1 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ↔ wb 206 ∧ wa 395 = wceq 1540 ∈ wcel 2108 class class class wbr 5119 ‘cfv 6531 (class class class)co 7405 ℂcc 11127 ℝcr 11128 0cc0 11129 1c1 11130 + caddc 11132 · cmul 11134 < clt 11269 ≤ cle 11270 − cmin 11466 / cdiv 11894 ℤcz 12588 ℝ+crp 13008 ⌊cfl 13807 mod cmo 13886 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1795 ax-4 1809 ax-5 1910 ax-6 1967 ax-7 2007 ax-8 2110 ax-9 2118 ax-10 2141 ax-11 2157 ax-12 2177 ax-ext 2707 ax-sep 5266 ax-nul 5276 ax-pow 5335 ax-pr 5402 ax-un 7729 ax-cnex 11185 ax-resscn 11186 ax-1cn 11187 ax-icn 11188 ax-addcl 11189 ax-addrcl 11190 ax-mulcl 11191 ax-mulrcl 11192 ax-mulcom 11193 ax-addass 11194 ax-mulass 11195 ax-distr 11196 ax-i2m1 11197 ax-1ne0 11198 ax-1rid 11199 ax-rnegex 11200 ax-rrecex 11201 ax-cnre 11202 ax-pre-lttri 11203 ax-pre-lttrn 11204 ax-pre-ltadd 11205 ax-pre-mulgt0 11206 ax-pre-sup 11207 |
| This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1543 df-fal 1553 df-ex 1780 df-nf 1784 df-sb 2065 df-mo 2539 df-eu 2568 df-clab 2714 df-cleq 2727 df-clel 2809 df-nfc 2885 df-ne 2933 df-nel 3037 df-ral 3052 df-rex 3061 df-rmo 3359 df-reu 3360 df-rab 3416 df-v 3461 df-sbc 3766 df-csb 3875 df-dif 3929 df-un 3931 df-in 3933 df-ss 3943 df-pss 3946 df-nul 4309 df-if 4501 df-pw 4577 df-sn 4602 df-pr 4604 df-op 4608 df-uni 4884 df-iun 4969 df-br 5120 df-opab 5182 df-mpt 5202 df-tr 5230 df-id 5548 df-eprel 5553 df-po 5561 df-so 5562 df-fr 5606 df-we 5608 df-xp 5660 df-rel 5661 df-cnv 5662 df-co 5663 df-dm 5664 df-rn 5665 df-res 5666 df-ima 5667 df-pred 6290 df-ord 6355 df-on 6356 df-lim 6357 df-suc 6358 df-iota 6484 df-fun 6533 df-fn 6534 df-f 6535 df-f1 6536 df-fo 6537 df-f1o 6538 df-fv 6539 df-riota 7362 df-ov 7408 df-oprab 7409 df-mpo 7410 df-om 7862 df-2nd 7989 df-frecs 8280 df-wrecs 8311 df-recs 8385 df-rdg 8424 df-er 8719 df-en 8960 df-dom 8961 df-sdom 8962 df-sup 9454 df-inf 9455 df-pnf 11271 df-mnf 11272 df-xr 11273 df-ltxr 11274 df-le 11275 df-sub 11468 df-neg 11469 df-div 11895 df-nn 12241 df-n0 12502 df-z 12589 df-uz 12853 df-rp 13009 df-fl 13809 df-mod 13887 |
| This theorem is referenced by: modid2 13915 0mod 13919 1mod 13920 modabs 13921 muladdmodid 13928 m1modnnsub1 13935 modltm1p1mod 13941 2submod 13950 modifeq2int 13951 modaddmodlo 13953 modsubdir 13958 modsumfzodifsn 13962 digit1 14255 cshwidxm1 14825 bitsinv1 16461 sadaddlem 16485 sadasslem 16489 sadeq 16491 crth 16797 eulerthlem2 16801 prmdiveq 16805 modprm0 16825 4sqlem12 16976 dfod2 19545 znf1o 21512 wilthlem1 27030 ppiub 27167 lgslem1 27260 lgsdir2lem1 27288 lgsdirprm 27294 lgsqrlem2 27310 lgseisenlem1 27338 lgseisenlem2 27339 lgseisen 27342 m1lgs 27351 2lgslem1a1 27352 2lgslem4 27369 2sqlem11 27392 2sqreultlem 27410 2sqreunnltlem 27413 cshw1s2 32936 sqwvfoura 46257 sqwvfourb 46258 fourierswlem 46259 fouriersw 46260 addmodne 47373 submodlt 47379 2exp340mod341 47747 8exp8mod9 47750 fpprel2 47755 nfermltl8rev 47756 gpgedgvtx0 48065 gpgedgvtx1 48066 m1modmmod 48501 nnpw2pmod 48563 |
| Copyright terms: Public domain | W3C validator |