| 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 13767 | . . 3 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) | |
| 2 | 1 | adantr 480 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) |
| 3 | rerpdivcl 12914 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ) | |
| 4 | 3 | adantr 480 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ) |
| 5 | 4 | recnd 11132 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ) |
| 6 | addlid 11288 | . . . . . . . . 9 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵)) | |
| 7 | 6 | fveq2d 6821 | . . . . . . . 8 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 8 | 5, 7 | syl 17 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 9 | rpregt0 12897 | . . . . . . . . . . 11 ⊢ (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) | |
| 10 | divge0 11983 | . . . . . . . . . . 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 12893 | . . . . . . . . . . . . 13 ⊢ (𝐵 ∈ ℝ+ → 𝐵 ∈ ℂ) | |
| 16 | 15 | mulridd 11121 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵) |
| 17 | 16 | adantr 480 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → (𝐵 · 1) = 𝐵) |
| 18 | 14, 17 | breqtrrd 5117 | . . . . . . . . . 10 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < (𝐵 · 1)) |
| 19 | 18 | ad2ant2l 746 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1)) |
| 20 | simpll 766 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 ∈ ℝ) | |
| 21 | 9 | ad2antlr 727 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) |
| 22 | 1re 11104 | . . . . . . . . . . 11 ⊢ 1 ∈ ℝ | |
| 23 | ltdivmul 11989 | . . . . . . . . . . 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 12471 | . . . . . . . . 9 ⊢ 0 ∈ ℤ | |
| 28 | flbi2 13713 | . . . . . . . . 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 2767 | . . . . . 6 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0) |
| 32 | 31 | oveq2d 7357 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0)) |
| 33 | 15 | mul01d 11304 | . . . . . 6 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0) |
| 34 | 33 | ad2antlr 727 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · 0) = 0) |
| 35 | 32, 34 | eqtrd 2765 | . . . 4 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0) |
| 36 | 35 | oveq2d 7357 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0)) |
| 37 | recn 11088 | . . . . 5 ⊢ (𝐴 ∈ ℝ → 𝐴 ∈ ℂ) | |
| 38 | 37 | subid1d 11453 | . . . 4 ⊢ (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴) |
| 39 | 38 | ad2antrr 726 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴) |
| 40 | 36, 39 | eqtrd 2765 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴) |
| 41 | 2, 40 | eqtrd 2765 | 1 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ↔ wb 206 ∧ wa 395 = wceq 1541 ∈ wcel 2110 class class class wbr 5089 ‘cfv 6477 (class class class)co 7341 ℂcc 10996 ℝcr 10997 0cc0 10998 1c1 10999 + caddc 11001 · cmul 11003 < clt 11138 ≤ cle 11139 − cmin 11336 / cdiv 11766 ℤcz 12460 ℝ+crp 12882 ⌊cfl 13686 mod cmo 13765 |
| 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 2112 ax-9 2120 ax-10 2143 ax-11 2159 ax-12 2179 ax-ext 2702 ax-sep 5232 ax-nul 5242 ax-pow 5301 ax-pr 5368 ax-un 7663 ax-cnex 11054 ax-resscn 11055 ax-1cn 11056 ax-icn 11057 ax-addcl 11058 ax-addrcl 11059 ax-mulcl 11060 ax-mulrcl 11061 ax-mulcom 11062 ax-addass 11063 ax-mulass 11064 ax-distr 11065 ax-i2m1 11066 ax-1ne0 11067 ax-1rid 11068 ax-rnegex 11069 ax-rrecex 11070 ax-cnre 11071 ax-pre-lttri 11072 ax-pre-lttrn 11073 ax-pre-ltadd 11074 ax-pre-mulgt0 11075 ax-pre-sup 11076 |
| 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 2067 df-mo 2534 df-eu 2563 df-clab 2709 df-cleq 2722 df-clel 2804 df-nfc 2879 df-ne 2927 df-nel 3031 df-ral 3046 df-rex 3055 df-rmo 3344 df-reu 3345 df-rab 3394 df-v 3436 df-sbc 3740 df-csb 3849 df-dif 3903 df-un 3905 df-in 3907 df-ss 3917 df-pss 3920 df-nul 4282 df-if 4474 df-pw 4550 df-sn 4575 df-pr 4577 df-op 4581 df-uni 4858 df-iun 4941 df-br 5090 df-opab 5152 df-mpt 5171 df-tr 5197 df-id 5509 df-eprel 5514 df-po 5522 df-so 5523 df-fr 5567 df-we 5569 df-xp 5620 df-rel 5621 df-cnv 5622 df-co 5623 df-dm 5624 df-rn 5625 df-res 5626 df-ima 5627 df-pred 6244 df-ord 6305 df-on 6306 df-lim 6307 df-suc 6308 df-iota 6433 df-fun 6479 df-fn 6480 df-f 6481 df-f1 6482 df-fo 6483 df-f1o 6484 df-fv 6485 df-riota 7298 df-ov 7344 df-oprab 7345 df-mpo 7346 df-om 7792 df-2nd 7917 df-frecs 8206 df-wrecs 8237 df-recs 8286 df-rdg 8324 df-er 8617 df-en 8865 df-dom 8866 df-sdom 8867 df-sup 9321 df-inf 9322 df-pnf 11140 df-mnf 11141 df-xr 11142 df-ltxr 11143 df-le 11144 df-sub 11338 df-neg 11339 df-div 11767 df-nn 12118 df-n0 12374 df-z 12461 df-uz 12725 df-rp 12883 df-fl 13688 df-mod 13766 |
| This theorem is referenced by: modid2 13794 0mod 13798 1mod 13799 modabs 13800 muladdmodid 13809 m1modnnsub1 13816 modltm1p1mod 13822 2submod 13831 modifeq2int 13832 modaddmodlo 13834 modsubdir 13839 modsumfzodifsn 13843 digit1 14136 cshwidxm1 14706 bitsinv1 16345 sadaddlem 16369 sadasslem 16373 sadeq 16375 crth 16681 eulerthlem2 16685 prmdiveq 16689 modprm0 16709 4sqlem12 16860 dfod2 19469 znf1o 21481 wilthlem1 26998 ppiub 27135 lgslem1 27228 lgsdir2lem1 27256 lgsdirprm 27262 lgsqrlem2 27278 lgseisenlem1 27306 lgseisenlem2 27307 lgseisen 27310 m1lgs 27319 2lgslem1a1 27320 2lgslem4 27337 2sqlem11 27360 2sqreultlem 27378 2sqreunnltlem 27381 cshw1s2 32931 sqwvfoura 46245 sqwvfourb 46246 fourierswlem 46247 fouriersw 46248 addmodne 47354 submodlt 47360 m1modmmod 47368 2exp340mod341 47743 8exp8mod9 47746 fpprel2 47751 nfermltl8rev 47752 gpgedgvtx0 48071 gpgedgvtx1 48072 pgnbgreunbgrlem2lem1 48124 pgnbgreunbgrlem2lem2 48125 pgnbgreunbgrlem2lem3 48126 nnpw2pmod 48594 |
| Copyright terms: Public domain | W3C validator |