This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Telescoping finitely supported group sum ranging over nonnegative integers, using explicit substitution. (Contributed by AV, 24-Oct-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | telgsums.b | |- B = ( Base ` G ) |
|
| telgsums.g | |- ( ph -> G e. Abel ) |
||
| telgsums.m | |- .- = ( -g ` G ) |
||
| telgsums.0 | |- .0. = ( 0g ` G ) |
||
| telgsums.f | |- ( ph -> A. k e. NN0 C e. B ) |
||
| telgsums.s | |- ( ph -> S e. NN0 ) |
||
| telgsums.u | |- ( ph -> A. k e. NN0 ( S < k -> C = .0. ) ) |
||
| Assertion | telgsums | |- ( ph -> ( G gsum ( i e. NN0 |-> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) ) ) = [_ 0 / k ]_ C ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | telgsums.b | |- B = ( Base ` G ) |
|
| 2 | telgsums.g | |- ( ph -> G e. Abel ) |
|
| 3 | telgsums.m | |- .- = ( -g ` G ) |
|
| 4 | telgsums.0 | |- .0. = ( 0g ` G ) |
|
| 5 | telgsums.f | |- ( ph -> A. k e. NN0 C e. B ) |
|
| 6 | telgsums.s | |- ( ph -> S e. NN0 ) |
|
| 7 | telgsums.u | |- ( ph -> A. k e. NN0 ( S < k -> C = .0. ) ) |
|
| 8 | ablcmn | |- ( G e. Abel -> G e. CMnd ) |
|
| 9 | 2 8 | syl | |- ( ph -> G e. CMnd ) |
| 10 | ablgrp | |- ( G e. Abel -> G e. Grp ) |
|
| 11 | 2 10 | syl | |- ( ph -> G e. Grp ) |
| 12 | 11 | adantr | |- ( ( ph /\ i e. NN0 ) -> G e. Grp ) |
| 13 | simpr | |- ( ( ph /\ i e. NN0 ) -> i e. NN0 ) |
|
| 14 | 5 | adantr | |- ( ( ph /\ i e. NN0 ) -> A. k e. NN0 C e. B ) |
| 15 | rspcsbela | |- ( ( i e. NN0 /\ A. k e. NN0 C e. B ) -> [_ i / k ]_ C e. B ) |
|
| 16 | 13 14 15 | syl2anc | |- ( ( ph /\ i e. NN0 ) -> [_ i / k ]_ C e. B ) |
| 17 | peano2nn0 | |- ( i e. NN0 -> ( i + 1 ) e. NN0 ) |
|
| 18 | rspcsbela | |- ( ( ( i + 1 ) e. NN0 /\ A. k e. NN0 C e. B ) -> [_ ( i + 1 ) / k ]_ C e. B ) |
|
| 19 | 17 5 18 | syl2anr | |- ( ( ph /\ i e. NN0 ) -> [_ ( i + 1 ) / k ]_ C e. B ) |
| 20 | 1 3 | grpsubcl | |- ( ( G e. Grp /\ [_ i / k ]_ C e. B /\ [_ ( i + 1 ) / k ]_ C e. B ) -> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) e. B ) |
| 21 | 12 16 19 20 | syl3anc | |- ( ( ph /\ i e. NN0 ) -> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) e. B ) |
| 22 | 21 | ralrimiva | |- ( ph -> A. i e. NN0 ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) e. B ) |
| 23 | rspsbca | |- ( ( i e. NN0 /\ A. k e. NN0 ( S < k -> C = .0. ) ) -> [. i / k ]. ( S < k -> C = .0. ) ) |
|
| 24 | sbcimg | |- ( i e. _V -> ( [. i / k ]. ( S < k -> C = .0. ) <-> ( [. i / k ]. S < k -> [. i / k ]. C = .0. ) ) ) |
|
| 25 | sbcbr2g | |- ( i e. _V -> ( [. i / k ]. S < k <-> S < [_ i / k ]_ k ) ) |
|
| 26 | csbvarg | |- ( i e. _V -> [_ i / k ]_ k = i ) |
|
| 27 | 26 | breq2d | |- ( i e. _V -> ( S < [_ i / k ]_ k <-> S < i ) ) |
| 28 | 25 27 | bitrd | |- ( i e. _V -> ( [. i / k ]. S < k <-> S < i ) ) |
| 29 | sbceq1g | |- ( i e. _V -> ( [. i / k ]. C = .0. <-> [_ i / k ]_ C = .0. ) ) |
|
| 30 | 28 29 | imbi12d | |- ( i e. _V -> ( ( [. i / k ]. S < k -> [. i / k ]. C = .0. ) <-> ( S < i -> [_ i / k ]_ C = .0. ) ) ) |
| 31 | 24 30 | bitrd | |- ( i e. _V -> ( [. i / k ]. ( S < k -> C = .0. ) <-> ( S < i -> [_ i / k ]_ C = .0. ) ) ) |
| 32 | 31 | elv | |- ( [. i / k ]. ( S < k -> C = .0. ) <-> ( S < i -> [_ i / k ]_ C = .0. ) ) |
| 33 | 23 32 | sylib | |- ( ( i e. NN0 /\ A. k e. NN0 ( S < k -> C = .0. ) ) -> ( S < i -> [_ i / k ]_ C = .0. ) ) |
| 34 | 33 | expcom | |- ( A. k e. NN0 ( S < k -> C = .0. ) -> ( i e. NN0 -> ( S < i -> [_ i / k ]_ C = .0. ) ) ) |
| 35 | 7 34 | syl | |- ( ph -> ( i e. NN0 -> ( S < i -> [_ i / k ]_ C = .0. ) ) ) |
| 36 | 35 | imp31 | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> [_ i / k ]_ C = .0. ) |
| 37 | 6 | nn0red | |- ( ph -> S e. RR ) |
| 38 | 37 | adantr | |- ( ( ph /\ i e. NN0 ) -> S e. RR ) |
| 39 | 38 | adantr | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> S e. RR ) |
| 40 | nn0re | |- ( i e. NN0 -> i e. RR ) |
|
| 41 | 40 | ad2antlr | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> i e. RR ) |
| 42 | 17 | ad2antlr | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> ( i + 1 ) e. NN0 ) |
| 43 | 42 | nn0red | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> ( i + 1 ) e. RR ) |
| 44 | simpr | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> S < i ) |
|
| 45 | 41 | ltp1d | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> i < ( i + 1 ) ) |
| 46 | 39 41 43 44 45 | lttrd | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> S < ( i + 1 ) ) |
| 47 | 46 | ex | |- ( ( ph /\ i e. NN0 ) -> ( S < i -> S < ( i + 1 ) ) ) |
| 48 | rspsbca | |- ( ( ( i + 1 ) e. NN0 /\ A. k e. NN0 ( S < k -> C = .0. ) ) -> [. ( i + 1 ) / k ]. ( S < k -> C = .0. ) ) |
|
| 49 | ovex | |- ( i + 1 ) e. _V |
|
| 50 | sbcimg | |- ( ( i + 1 ) e. _V -> ( [. ( i + 1 ) / k ]. ( S < k -> C = .0. ) <-> ( [. ( i + 1 ) / k ]. S < k -> [. ( i + 1 ) / k ]. C = .0. ) ) ) |
|
| 51 | sbcbr2g | |- ( ( i + 1 ) e. _V -> ( [. ( i + 1 ) / k ]. S < k <-> S < [_ ( i + 1 ) / k ]_ k ) ) |
|
| 52 | csbvarg | |- ( ( i + 1 ) e. _V -> [_ ( i + 1 ) / k ]_ k = ( i + 1 ) ) |
|
| 53 | 52 | breq2d | |- ( ( i + 1 ) e. _V -> ( S < [_ ( i + 1 ) / k ]_ k <-> S < ( i + 1 ) ) ) |
| 54 | 51 53 | bitrd | |- ( ( i + 1 ) e. _V -> ( [. ( i + 1 ) / k ]. S < k <-> S < ( i + 1 ) ) ) |
| 55 | sbceq1g | |- ( ( i + 1 ) e. _V -> ( [. ( i + 1 ) / k ]. C = .0. <-> [_ ( i + 1 ) / k ]_ C = .0. ) ) |
|
| 56 | 54 55 | imbi12d | |- ( ( i + 1 ) e. _V -> ( ( [. ( i + 1 ) / k ]. S < k -> [. ( i + 1 ) / k ]. C = .0. ) <-> ( S < ( i + 1 ) -> [_ ( i + 1 ) / k ]_ C = .0. ) ) ) |
| 57 | 50 56 | bitrd | |- ( ( i + 1 ) e. _V -> ( [. ( i + 1 ) / k ]. ( S < k -> C = .0. ) <-> ( S < ( i + 1 ) -> [_ ( i + 1 ) / k ]_ C = .0. ) ) ) |
| 58 | 49 57 | ax-mp | |- ( [. ( i + 1 ) / k ]. ( S < k -> C = .0. ) <-> ( S < ( i + 1 ) -> [_ ( i + 1 ) / k ]_ C = .0. ) ) |
| 59 | 48 58 | sylib | |- ( ( ( i + 1 ) e. NN0 /\ A. k e. NN0 ( S < k -> C = .0. ) ) -> ( S < ( i + 1 ) -> [_ ( i + 1 ) / k ]_ C = .0. ) ) |
| 60 | 17 7 59 | syl2anr | |- ( ( ph /\ i e. NN0 ) -> ( S < ( i + 1 ) -> [_ ( i + 1 ) / k ]_ C = .0. ) ) |
| 61 | 47 60 | syld | |- ( ( ph /\ i e. NN0 ) -> ( S < i -> [_ ( i + 1 ) / k ]_ C = .0. ) ) |
| 62 | 61 | imp | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> [_ ( i + 1 ) / k ]_ C = .0. ) |
| 63 | 36 62 | oveq12d | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) = ( .0. .- .0. ) ) |
| 64 | 12 | adantr | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> G e. Grp ) |
| 65 | 1 4 | grpidcl | |- ( G e. Grp -> .0. e. B ) |
| 66 | 1 4 3 | grpsubid | |- ( ( G e. Grp /\ .0. e. B ) -> ( .0. .- .0. ) = .0. ) |
| 67 | 64 65 66 | syl2anc2 | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> ( .0. .- .0. ) = .0. ) |
| 68 | 63 67 | eqtrd | |- ( ( ( ph /\ i e. NN0 ) /\ S < i ) -> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) = .0. ) |
| 69 | 68 | ex | |- ( ( ph /\ i e. NN0 ) -> ( S < i -> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) = .0. ) ) |
| 70 | 69 | ralrimiva | |- ( ph -> A. i e. NN0 ( S < i -> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) = .0. ) ) |
| 71 | 1 4 9 22 6 70 | gsummptnn0fz | |- ( ph -> ( G gsum ( i e. NN0 |-> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) ) ) = ( G gsum ( i e. ( 0 ... S ) |-> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) ) ) ) |
| 72 | fzssuz | |- ( 0 ... ( S + 1 ) ) C_ ( ZZ>= ` 0 ) |
|
| 73 | 72 | a1i | |- ( ph -> ( 0 ... ( S + 1 ) ) C_ ( ZZ>= ` 0 ) ) |
| 74 | nn0uz | |- NN0 = ( ZZ>= ` 0 ) |
|
| 75 | 73 74 | sseqtrrdi | |- ( ph -> ( 0 ... ( S + 1 ) ) C_ NN0 ) |
| 76 | ssralv | |- ( ( 0 ... ( S + 1 ) ) C_ NN0 -> ( A. k e. NN0 C e. B -> A. k e. ( 0 ... ( S + 1 ) ) C e. B ) ) |
|
| 77 | 75 5 76 | sylc | |- ( ph -> A. k e. ( 0 ... ( S + 1 ) ) C e. B ) |
| 78 | 1 2 3 6 77 | telgsumfz0s | |- ( ph -> ( G gsum ( i e. ( 0 ... S ) |-> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) ) ) = ( [_ 0 / k ]_ C .- [_ ( S + 1 ) / k ]_ C ) ) |
| 79 | peano2nn0 | |- ( S e. NN0 -> ( S + 1 ) e. NN0 ) |
|
| 80 | 6 79 | syl | |- ( ph -> ( S + 1 ) e. NN0 ) |
| 81 | 37 | ltp1d | |- ( ph -> S < ( S + 1 ) ) |
| 82 | rspsbca | |- ( ( ( S + 1 ) e. NN0 /\ A. k e. NN0 ( S < k -> C = .0. ) ) -> [. ( S + 1 ) / k ]. ( S < k -> C = .0. ) ) |
|
| 83 | ovex | |- ( S + 1 ) e. _V |
|
| 84 | sbcimg | |- ( ( S + 1 ) e. _V -> ( [. ( S + 1 ) / k ]. ( S < k -> C = .0. ) <-> ( [. ( S + 1 ) / k ]. S < k -> [. ( S + 1 ) / k ]. C = .0. ) ) ) |
|
| 85 | sbcbr2g | |- ( ( S + 1 ) e. _V -> ( [. ( S + 1 ) / k ]. S < k <-> S < [_ ( S + 1 ) / k ]_ k ) ) |
|
| 86 | csbvarg | |- ( ( S + 1 ) e. _V -> [_ ( S + 1 ) / k ]_ k = ( S + 1 ) ) |
|
| 87 | 86 | breq2d | |- ( ( S + 1 ) e. _V -> ( S < [_ ( S + 1 ) / k ]_ k <-> S < ( S + 1 ) ) ) |
| 88 | 85 87 | bitrd | |- ( ( S + 1 ) e. _V -> ( [. ( S + 1 ) / k ]. S < k <-> S < ( S + 1 ) ) ) |
| 89 | sbceq1g | |- ( ( S + 1 ) e. _V -> ( [. ( S + 1 ) / k ]. C = .0. <-> [_ ( S + 1 ) / k ]_ C = .0. ) ) |
|
| 90 | 88 89 | imbi12d | |- ( ( S + 1 ) e. _V -> ( ( [. ( S + 1 ) / k ]. S < k -> [. ( S + 1 ) / k ]. C = .0. ) <-> ( S < ( S + 1 ) -> [_ ( S + 1 ) / k ]_ C = .0. ) ) ) |
| 91 | 84 90 | bitrd | |- ( ( S + 1 ) e. _V -> ( [. ( S + 1 ) / k ]. ( S < k -> C = .0. ) <-> ( S < ( S + 1 ) -> [_ ( S + 1 ) / k ]_ C = .0. ) ) ) |
| 92 | 83 91 | ax-mp | |- ( [. ( S + 1 ) / k ]. ( S < k -> C = .0. ) <-> ( S < ( S + 1 ) -> [_ ( S + 1 ) / k ]_ C = .0. ) ) |
| 93 | 82 92 | sylib | |- ( ( ( S + 1 ) e. NN0 /\ A. k e. NN0 ( S < k -> C = .0. ) ) -> ( S < ( S + 1 ) -> [_ ( S + 1 ) / k ]_ C = .0. ) ) |
| 94 | 93 | ex | |- ( ( S + 1 ) e. NN0 -> ( A. k e. NN0 ( S < k -> C = .0. ) -> ( S < ( S + 1 ) -> [_ ( S + 1 ) / k ]_ C = .0. ) ) ) |
| 95 | 80 7 81 94 | syl3c | |- ( ph -> [_ ( S + 1 ) / k ]_ C = .0. ) |
| 96 | 95 | oveq2d | |- ( ph -> ( [_ 0 / k ]_ C .- [_ ( S + 1 ) / k ]_ C ) = ( [_ 0 / k ]_ C .- .0. ) ) |
| 97 | 0nn0 | |- 0 e. NN0 |
|
| 98 | 97 | a1i | |- ( ph -> 0 e. NN0 ) |
| 99 | rspcsbela | |- ( ( 0 e. NN0 /\ A. k e. NN0 C e. B ) -> [_ 0 / k ]_ C e. B ) |
|
| 100 | 98 5 99 | syl2anc | |- ( ph -> [_ 0 / k ]_ C e. B ) |
| 101 | 1 4 3 | grpsubid1 | |- ( ( G e. Grp /\ [_ 0 / k ]_ C e. B ) -> ( [_ 0 / k ]_ C .- .0. ) = [_ 0 / k ]_ C ) |
| 102 | 11 100 101 | syl2anc | |- ( ph -> ( [_ 0 / k ]_ C .- .0. ) = [_ 0 / k ]_ C ) |
| 103 | 96 102 | eqtrd | |- ( ph -> ( [_ 0 / k ]_ C .- [_ ( S + 1 ) / k ]_ C ) = [_ 0 / k ]_ C ) |
| 104 | 71 78 103 | 3eqtrd | |- ( ph -> ( G gsum ( i e. NN0 |-> ( [_ i / k ]_ C .- [_ ( i + 1 ) / k ]_ C ) ) ) = [_ 0 / k ]_ C ) |