![]() |
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 13908 | . . 3 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) | |
2 | 1 | adantr 480 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) |
3 | rerpdivcl 13063 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ) | |
4 | 3 | adantr 480 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ) |
5 | 4 | recnd 11287 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ) |
6 | addlid 11442 | . . . . . . . . 9 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵)) | |
7 | 6 | fveq2d 6911 | . . . . . . . 8 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
8 | 5, 7 | syl 17 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
9 | rpregt0 13047 | . . . . . . . . . . 11 ⊢ (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) | |
10 | divge0 12135 | . . . . . . . . . . 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 13043 | . . . . . . . . . . . . 13 ⊢ (𝐵 ∈ ℝ+ → 𝐵 ∈ ℂ) | |
16 | 15 | mulridd 11276 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵) |
17 | 16 | adantr 480 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → (𝐵 · 1) = 𝐵) |
18 | 14, 17 | breqtrrd 5176 | . . . . . . . . . 10 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < (𝐵 · 1)) |
19 | 18 | ad2ant2l 746 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1)) |
20 | simpll 767 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 ∈ ℝ) | |
21 | 9 | ad2antlr 727 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) |
22 | 1re 11259 | . . . . . . . . . . 11 ⊢ 1 ∈ ℝ | |
23 | ltdivmul 12141 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) | |
24 | 22, 23 | mp3an2 1448 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
25 | 20, 21, 24 | syl2anc 584 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
26 | 19, 25 | mpbird 257 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) < 1) |
27 | 0z 12622 | . . . . . . . . 9 ⊢ 0 ∈ ℤ | |
28 | flbi2 13854 | . . . . . . . . 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 2777 | . . . . . 6 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0) |
32 | 31 | oveq2d 7447 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0)) |
33 | 15 | mul01d 11458 | . . . . . 6 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0) |
34 | 33 | ad2antlr 727 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · 0) = 0) |
35 | 32, 34 | eqtrd 2775 | . . . 4 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0) |
36 | 35 | oveq2d 7447 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0)) |
37 | recn 11243 | . . . . 5 ⊢ (𝐴 ∈ ℝ → 𝐴 ∈ ℂ) | |
38 | 37 | subid1d 11607 | . . . 4 ⊢ (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴) |
39 | 38 | ad2antrr 726 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴) |
40 | 36, 39 | eqtrd 2775 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴) |
41 | 2, 40 | eqtrd 2775 | 1 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 206 ∧ wa 395 = wceq 1537 ∈ wcel 2106 class class class wbr 5148 ‘cfv 6563 (class class class)co 7431 ℂcc 11151 ℝcr 11152 0cc0 11153 1c1 11154 + caddc 11156 · cmul 11158 < clt 11293 ≤ cle 11294 − cmin 11490 / cdiv 11918 ℤcz 12611 ℝ+crp 13032 ⌊cfl 13827 mod cmo 13906 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1792 ax-4 1806 ax-5 1908 ax-6 1965 ax-7 2005 ax-8 2108 ax-9 2116 ax-10 2139 ax-11 2155 ax-12 2175 ax-ext 2706 ax-sep 5302 ax-nul 5312 ax-pow 5371 ax-pr 5438 ax-un 7754 ax-cnex 11209 ax-resscn 11210 ax-1cn 11211 ax-icn 11212 ax-addcl 11213 ax-addrcl 11214 ax-mulcl 11215 ax-mulrcl 11216 ax-mulcom 11217 ax-addass 11218 ax-mulass 11219 ax-distr 11220 ax-i2m1 11221 ax-1ne0 11222 ax-1rid 11223 ax-rnegex 11224 ax-rrecex 11225 ax-cnre 11226 ax-pre-lttri 11227 ax-pre-lttrn 11228 ax-pre-ltadd 11229 ax-pre-mulgt0 11230 ax-pre-sup 11231 |
This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1540 df-fal 1550 df-ex 1777 df-nf 1781 df-sb 2063 df-mo 2538 df-eu 2567 df-clab 2713 df-cleq 2727 df-clel 2814 df-nfc 2890 df-ne 2939 df-nel 3045 df-ral 3060 df-rex 3069 df-rmo 3378 df-reu 3379 df-rab 3434 df-v 3480 df-sbc 3792 df-csb 3909 df-dif 3966 df-un 3968 df-in 3970 df-ss 3980 df-pss 3983 df-nul 4340 df-if 4532 df-pw 4607 df-sn 4632 df-pr 4634 df-op 4638 df-uni 4913 df-iun 4998 df-br 5149 df-opab 5211 df-mpt 5232 df-tr 5266 df-id 5583 df-eprel 5589 df-po 5597 df-so 5598 df-fr 5641 df-we 5643 df-xp 5695 df-rel 5696 df-cnv 5697 df-co 5698 df-dm 5699 df-rn 5700 df-res 5701 df-ima 5702 df-pred 6323 df-ord 6389 df-on 6390 df-lim 6391 df-suc 6392 df-iota 6516 df-fun 6565 df-fn 6566 df-f 6567 df-f1 6568 df-fo 6569 df-f1o 6570 df-fv 6571 df-riota 7388 df-ov 7434 df-oprab 7435 df-mpo 7436 df-om 7888 df-2nd 8014 df-frecs 8305 df-wrecs 8336 df-recs 8410 df-rdg 8449 df-er 8744 df-en 8985 df-dom 8986 df-sdom 8987 df-sup 9480 df-inf 9481 df-pnf 11295 df-mnf 11296 df-xr 11297 df-ltxr 11298 df-le 11299 df-sub 11492 df-neg 11493 df-div 11919 df-nn 12265 df-n0 12525 df-z 12612 df-uz 12877 df-rp 13033 df-fl 13829 df-mod 13907 |
This theorem is referenced by: modid2 13935 0mod 13939 1mod 13940 modabs 13941 muladdmodid 13948 m1modnnsub1 13955 modltm1p1mod 13961 2submod 13970 modifeq2int 13971 modaddmodlo 13973 modsubdir 13978 modsumfzodifsn 13982 digit1 14273 cshwidxm1 14842 bitsinv1 16476 sadaddlem 16500 sadasslem 16504 sadeq 16506 crth 16812 eulerthlem2 16816 prmdiveq 16820 modprm0 16839 4sqlem12 16990 dfod2 19597 znf1o 21588 wilthlem1 27126 ppiub 27263 lgslem1 27356 lgsdir2lem1 27384 lgsdirprm 27390 lgsqrlem2 27406 lgseisenlem1 27434 lgseisenlem2 27435 lgseisen 27438 m1lgs 27447 2lgslem1a1 27448 2lgslem4 27465 2sqlem11 27488 2sqreultlem 27506 2sqreunnltlem 27509 cshw1s2 32930 sqwvfoura 46184 sqwvfourb 46185 fourierswlem 46186 fouriersw 46187 addmodne 47284 submodlt 47290 2exp340mod341 47658 8exp8mod9 47661 fpprel2 47666 nfermltl8rev 47667 gpgedgvtx0 47954 gpgedgvtx1 47955 m1modmmod 48371 nnpw2pmod 48433 |
Copyright terms: Public domain | W3C validator |