| 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 13934 | . . 3 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) | |
| 2 | 1 | adantr 486 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵))))) |
| 3 | rerpdivcl 13076 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ) | |
| 4 | 3 | adantr 486 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ) |
| 5 | 4 | recnd 11264 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ) |
| 6 | addlid 11420 | . . . . . . . . 9 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵)) | |
| 7 | 6 | fveq2d 6886 | . . . . . . . 8 ⊢ ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 8 | 5, 7 | syl 18 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵))) |
| 9 | rpregt0 13059 | . . . . . . . . . . 11 ⊢ (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) | |
| 10 | divge0 12111 | . . . . . . . . . . 11 ⊢ (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → 0 ≤ (𝐴 / 𝐵)) | |
| 11 | 9, 10 | sylan2 605 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ 𝐵 ∈ ℝ+) → 0 ≤ (𝐴 / 𝐵)) |
| 12 | 11 | an32s 665 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ 0 ≤ 𝐴) → 0 ≤ (𝐴 / 𝐵)) |
| 13 | 12 | adantrr 730 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 0 ≤ (𝐴 / 𝐵)) |
| 14 | simpr 490 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < 𝐵) | |
| 15 | rpcn 13055 | . . . . . . . . . . . . 13 ⊢ (𝐵 ∈ ℝ+ → 𝐵 ∈ ℂ) | |
| 16 | 15 | mulridd 11253 | . . . . . . . . . . . 12 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵) |
| 17 | 16 | adantr 486 | . . . . . . . . . . 11 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → (𝐵 · 1) = 𝐵) |
| 18 | 14, 17 | breqtrrd 5137 | . . . . . . . . . 10 ⊢ ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < (𝐵 · 1)) |
| 19 | 18 | ad2ant2l 759 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1)) |
| 20 | simpll 779 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 ∈ ℝ) | |
| 21 | 9 | ad2antlr 740 | . . . . . . . . . 10 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵)) |
| 22 | 1re 11235 | . . . . . . . . . . 11 ⊢ 1 ∈ ℝ | |
| 23 | ltdivmul 12117 | . . . . . . . . . . 11 ⊢ ((𝐴 ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) | |
| 24 | 22, 23 | mp3an2 1478 | . . . . . . . . . 10 ⊢ ((𝐴 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
| 25 | 20, 21, 24 | syl2anc 596 | . . . . . . . . 9 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1))) |
| 26 | 19, 25 | mpbird 260 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) < 1) |
| 27 | 0z 12629 | . . . . . . . . 9 ⊢ 0 ∈ ℤ | |
| 28 | flbi2 13880 | . . . . . . . . 9 ⊢ ((0 ∈ ℤ ∧ (𝐴 / 𝐵) ∈ ℝ) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1))) | |
| 29 | 27, 4, 28 | sylancr 599 | . . . . . . . 8 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1))) |
| 30 | 13, 26, 29 | mpbir2and 726 | . . . . . . 7 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = 0) |
| 31 | 8, 30 | eqtr3d 2799 | . . . . . 6 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0) |
| 32 | 31 | oveq2d 7432 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0)) |
| 33 | 15 | mul01d 11436 | . . . . . 6 ⊢ (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0) |
| 34 | 33 | ad2antlr 740 | . . . . 5 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · 0) = 0) |
| 35 | 32, 34 | eqtrd 2797 | . . . 4 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0) |
| 36 | 35 | oveq2d 7432 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0)) |
| 37 | recn 11217 | . . . . 5 ⊢ (𝐴 ∈ ℝ → 𝐴 ∈ ℂ) | |
| 38 | 37 | subid1d 11585 | . . . 4 ⊢ (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴) |
| 39 | 38 | ad2antrr 739 | . . 3 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴) |
| 40 | 36, 39 | eqtrd 2797 | . 2 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴) |
| 41 | 2, 40 | eqtrd 2797 | 1 ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ↔ wb 209 ∧ wa 401 = wceq 1570 ∈ wcel 2145 class class class wbr 5107 ‘cfv 6537 (class class class)co 7416 ℂcc 11125 ℝcr 11126 0cc0 11127 1c1 11128 + caddc 11130 · cmul 11132 < clt 11270 ≤ cle 11271 − cmin 11468 / cdiv 11898 ℤcz 12618 ℝ+crp 13044 ⌊cfl 13853 mod cmo 13932 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1943 ax-6 2000 ax-7 2041 ax-8 2147 ax-9 2155 ax-10 2178 ax-11 2194 ax-12 2215 ax-ext 2734 ax-sep 5255 ax-nul 5267 ax-pow 5334 ax-pr 5402 ax-un 7739 ax-cnex 11183 ax-resscn 11184 ax-1cn 11185 ax-icn 11186 ax-addcl 11187 ax-addrcl 11188 ax-mulcl 11189 ax-mulrcl 11190 ax-mulcom 11191 ax-addass 11192 ax-mulass 11193 ax-distr 11194 ax-i2m1 11195 ax-1ne0 11196 ax-1rid 11197 ax-rnegex 11198 ax-rrecex 11199 ax-cnre 11200 ax-pre-lttri 11201 ax-pre-lttrn 11202 ax-pre-ltadd 11203 ax-pre-mulgt0 11204 ax-pre-sup 11205 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2100 df-mo 2566 df-eu 2596 df-clab 2741 df-cleq 2754 df-clel 2837 df-nfc 2911 df-ne 2958 df-nel 3064 df-ral 3079 df-rex 3089 df-rmo 3367 df-reu 3368 df-rab 3415 df-v 3455 df-sbc 3743 df-csb 3851 df-dif 3905 df-un 3907 df-in 3909 df-ss 3919 df-pss 3922 df-nul 4283 df-if 4486 df-pw 4562 df-sn 4588 df-pr 4590 df-op 4594 df-uni 4871 df-iun 4956 df-br 5108 df-opab 5172 df-mpt 5191 df-tr 5217 df-id 5554 df-eprel 5559 df-po 5567 df-so 5568 df-fr 5612 df-we 5614 df-xp 5665 df-rel 5666 df-cnv 5667 df-co 5668 df-dm 5669 df-rn 5670 df-res 5671 df-ima 5672 df-pred 6303 df-ord 6364 df-on 6365 df-lim 6366 df-suc 6367 df-iota 6493 df-fun 6539 df-fn 6540 df-f 6541 df-f1 6542 df-fo 6543 df-f1o 6544 df-fv 6545 df-riota 7373 df-ov 7419 df-oprab 7420 df-mpo 7421 df-om 7866 df-2nd 7990 df-frecs 8283 df-wrecs 8314 df-recs 8363 df-rdg 8402 df-er 8699 df-en 8956 df-dom 8957 df-sdom 8958 df-sup 9415 df-inf 9416 df-pnf 11272 df-mnf 11273 df-xr 11274 df-ltxr 11275 df-le 11276 df-sub 11470 df-neg 11471 df-div 11899 df-nn 12261 df-n0 12532 df-z 12619 df-uz 12891 df-rp 13045 df-fl 13855 df-mod 13933 |
| This theorem is used by: modid2 13961 0mod 13965 1mod 13966 modabs 13967 muladdmodid 13976 m1modnnsub1 13983 modltm1p1mod 13989 2submod 13998 modifeq2int 13999 modaddmodlo 14001 modsubdir 14006 modsumfzodifsn 14010 digit1 14303 cshwidxm1 14880 bitsinv1 16536 sadaddlem 16560 sadasslem 16564 sadeq 16566 crth 16873 eulerthlem2 16877 prmdiveq 16881 modprm0 16901 4sqlem12 17052 dfod2 19692 znf1o 21765 wilthlem1 27302 ppiub 27438 lgslem1 27531 lgsdir2lem1 27559 lgsdirprm 27565 lgsqrlem2 27581 lgseisenlem1 27609 lgseisenlem2 27610 lgseisen 27613 m1lgs 27622 2lgslem1a1 27623 2lgslem4 27640 2sqlem11 27663 2sqreultlem 27681 2sqreunnltlem 27684 cshw1s2 33387 sqwvfoura 47043 sqwvfourb 47044 fourierswlem 47045 fouriersw 47046 addmodne 48225 submodlt 48231 m1modmmod 48239 2exp340mod341 48636 8exp8mod9 48639 fpprel2 48644 nfermltl8rev 48645 gpgedgvtx0 48964 gpgedgvtx1 48965 pgnbgreunbgrlem2lem1 49017 pgnbgreunbgrlem2lem2 49018 pgnbgreunbgrlem2lem3 49019 nnpw2pmod 49500 |
| Copyright terms: Public domain | W3C validator |