This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Sum of a constant series. (Contributed by Mario Carneiro, 19-Dec-2014) (Revised by Mario Carneiro, 24-Apr-2016)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | gsumconst.b | |- B = ( Base ` G ) |
|
| gsumconst.m | |- .x. = ( .g ` G ) |
||
| Assertion | gsumconst | |- ( ( G e. Mnd /\ A e. Fin /\ X e. B ) -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | gsumconst.b | |- B = ( Base ` G ) |
|
| 2 | gsumconst.m | |- .x. = ( .g ` G ) |
|
| 3 | simpl3 | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> X e. B ) |
|
| 4 | eqid | |- ( 0g ` G ) = ( 0g ` G ) |
|
| 5 | 1 4 2 | mulg0 | |- ( X e. B -> ( 0 .x. X ) = ( 0g ` G ) ) |
| 6 | 3 5 | syl | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( 0 .x. X ) = ( 0g ` G ) ) |
| 7 | fveq2 | |- ( A = (/) -> ( # ` A ) = ( # ` (/) ) ) |
|
| 8 | 7 | adantl | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( # ` A ) = ( # ` (/) ) ) |
| 9 | hash0 | |- ( # ` (/) ) = 0 |
|
| 10 | 8 9 | eqtrdi | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( # ` A ) = 0 ) |
| 11 | 10 | oveq1d | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( ( # ` A ) .x. X ) = ( 0 .x. X ) ) |
| 12 | mpteq1 | |- ( A = (/) -> ( k e. A |-> X ) = ( k e. (/) |-> X ) ) |
|
| 13 | 12 | adantl | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( k e. A |-> X ) = ( k e. (/) |-> X ) ) |
| 14 | mpt0 | |- ( k e. (/) |-> X ) = (/) |
|
| 15 | 13 14 | eqtrdi | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( k e. A |-> X ) = (/) ) |
| 16 | 15 | oveq2d | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( G gsum ( k e. A |-> X ) ) = ( G gsum (/) ) ) |
| 17 | 4 | gsum0 | |- ( G gsum (/) ) = ( 0g ` G ) |
| 18 | 16 17 | eqtrdi | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( G gsum ( k e. A |-> X ) ) = ( 0g ` G ) ) |
| 19 | 6 11 18 | 3eqtr4rd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ A = (/) ) -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) |
| 20 | 19 | ex | |- ( ( G e. Mnd /\ A e. Fin /\ X e. B ) -> ( A = (/) -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) ) |
| 21 | simprl | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( # ` A ) e. NN ) |
|
| 22 | nnuz | |- NN = ( ZZ>= ` 1 ) |
|
| 23 | 21 22 | eleqtrdi | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( # ` A ) e. ( ZZ>= ` 1 ) ) |
| 24 | simpr | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> x e. ( 1 ... ( # ` A ) ) ) |
|
| 25 | simpl3 | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> X e. B ) |
|
| 26 | 25 | adantr | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> X e. B ) |
| 27 | eqid | |- ( x e. ( 1 ... ( # ` A ) ) |-> X ) = ( x e. ( 1 ... ( # ` A ) ) |-> X ) |
|
| 28 | 27 | fvmpt2 | |- ( ( x e. ( 1 ... ( # ` A ) ) /\ X e. B ) -> ( ( x e. ( 1 ... ( # ` A ) ) |-> X ) ` x ) = X ) |
| 29 | 24 26 28 | syl2anc | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> ( ( x e. ( 1 ... ( # ` A ) ) |-> X ) ` x ) = X ) |
| 30 | f1of | |- ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> f : ( 1 ... ( # ` A ) ) --> A ) |
|
| 31 | 30 | ad2antll | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> f : ( 1 ... ( # ` A ) ) --> A ) |
| 32 | 31 | ffvelcdmda | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> ( f ` x ) e. A ) |
| 33 | 31 | feqmptd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> f = ( x e. ( 1 ... ( # ` A ) ) |-> ( f ` x ) ) ) |
| 34 | eqidd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( k e. A |-> X ) = ( k e. A |-> X ) ) |
|
| 35 | eqidd | |- ( k = ( f ` x ) -> X = X ) |
|
| 36 | 32 33 34 35 | fmptco | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( k e. A |-> X ) o. f ) = ( x e. ( 1 ... ( # ` A ) ) |-> X ) ) |
| 37 | 36 | fveq1d | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( ( k e. A |-> X ) o. f ) ` x ) = ( ( x e. ( 1 ... ( # ` A ) ) |-> X ) ` x ) ) |
| 38 | 37 | adantr | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> X ) o. f ) ` x ) = ( ( x e. ( 1 ... ( # ` A ) ) |-> X ) ` x ) ) |
| 39 | elfznn | |- ( x e. ( 1 ... ( # ` A ) ) -> x e. NN ) |
|
| 40 | fvconst2g | |- ( ( X e. B /\ x e. NN ) -> ( ( NN X. { X } ) ` x ) = X ) |
|
| 41 | 25 39 40 | syl2an | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> ( ( NN X. { X } ) ` x ) = X ) |
| 42 | 29 38 41 | 3eqtr4d | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ x e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> X ) o. f ) ` x ) = ( ( NN X. { X } ) ` x ) ) |
| 43 | 23 42 | seqfveq | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( seq 1 ( ( +g ` G ) , ( ( k e. A |-> X ) o. f ) ) ` ( # ` A ) ) = ( seq 1 ( ( +g ` G ) , ( NN X. { X } ) ) ` ( # ` A ) ) ) |
| 44 | eqid | |- ( +g ` G ) = ( +g ` G ) |
|
| 45 | eqid | |- ( Cntz ` G ) = ( Cntz ` G ) |
|
| 46 | simpl1 | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> G e. Mnd ) |
|
| 47 | simpl2 | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> A e. Fin ) |
|
| 48 | 25 | adantr | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ k e. A ) -> X e. B ) |
| 49 | 48 | fmpttd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( k e. A |-> X ) : A --> B ) |
| 50 | eqidd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( X ( +g ` G ) X ) = ( X ( +g ` G ) X ) ) |
|
| 51 | 1 44 45 | elcntzsn | |- ( X e. B -> ( X e. ( ( Cntz ` G ) ` { X } ) <-> ( X e. B /\ ( X ( +g ` G ) X ) = ( X ( +g ` G ) X ) ) ) ) |
| 52 | 25 51 | syl | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( X e. ( ( Cntz ` G ) ` { X } ) <-> ( X e. B /\ ( X ( +g ` G ) X ) = ( X ( +g ` G ) X ) ) ) ) |
| 53 | 25 50 52 | mpbir2and | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> X e. ( ( Cntz ` G ) ` { X } ) ) |
| 54 | 53 | snssd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> { X } C_ ( ( Cntz ` G ) ` { X } ) ) |
| 55 | snidg | |- ( X e. B -> X e. { X } ) |
|
| 56 | 25 55 | syl | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> X e. { X } ) |
| 57 | 56 | adantr | |- ( ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ k e. A ) -> X e. { X } ) |
| 58 | 57 | fmpttd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( k e. A |-> X ) : A --> { X } ) |
| 59 | 58 | frnd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ran ( k e. A |-> X ) C_ { X } ) |
| 60 | 45 | cntzidss | |- ( ( { X } C_ ( ( Cntz ` G ) ` { X } ) /\ ran ( k e. A |-> X ) C_ { X } ) -> ran ( k e. A |-> X ) C_ ( ( Cntz ` G ) ` ran ( k e. A |-> X ) ) ) |
| 61 | 54 59 60 | syl2anc | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ran ( k e. A |-> X ) C_ ( ( Cntz ` G ) ` ran ( k e. A |-> X ) ) ) |
| 62 | f1of1 | |- ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> f : ( 1 ... ( # ` A ) ) -1-1-> A ) |
|
| 63 | 62 | ad2antll | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> f : ( 1 ... ( # ` A ) ) -1-1-> A ) |
| 64 | suppssdm | |- ( ( k e. A |-> X ) supp ( 0g ` G ) ) C_ dom ( k e. A |-> X ) |
|
| 65 | eqid | |- ( k e. A |-> X ) = ( k e. A |-> X ) |
|
| 66 | 65 | dmmptss | |- dom ( k e. A |-> X ) C_ A |
| 67 | 66 | a1i | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> dom ( k e. A |-> X ) C_ A ) |
| 68 | 64 67 | sstrid | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( k e. A |-> X ) supp ( 0g ` G ) ) C_ A ) |
| 69 | f1ofo | |- ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> f : ( 1 ... ( # ` A ) ) -onto-> A ) |
|
| 70 | forn | |- ( f : ( 1 ... ( # ` A ) ) -onto-> A -> ran f = A ) |
|
| 71 | 69 70 | syl | |- ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> ran f = A ) |
| 72 | 71 | ad2antll | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ran f = A ) |
| 73 | 68 72 | sseqtrrd | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( k e. A |-> X ) supp ( 0g ` G ) ) C_ ran f ) |
| 74 | eqid | |- ( ( ( k e. A |-> X ) o. f ) supp ( 0g ` G ) ) = ( ( ( k e. A |-> X ) o. f ) supp ( 0g ` G ) ) |
|
| 75 | 1 4 44 45 46 47 49 61 21 63 73 74 | gsumval3 | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( G gsum ( k e. A |-> X ) ) = ( seq 1 ( ( +g ` G ) , ( ( k e. A |-> X ) o. f ) ) ` ( # ` A ) ) ) |
| 76 | eqid | |- seq 1 ( ( +g ` G ) , ( NN X. { X } ) ) = seq 1 ( ( +g ` G ) , ( NN X. { X } ) ) |
|
| 77 | 1 44 2 76 | mulgnn | |- ( ( ( # ` A ) e. NN /\ X e. B ) -> ( ( # ` A ) .x. X ) = ( seq 1 ( ( +g ` G ) , ( NN X. { X } ) ) ` ( # ` A ) ) ) |
| 78 | 21 25 77 | syl2anc | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( # ` A ) .x. X ) = ( seq 1 ( ( +g ` G ) , ( NN X. { X } ) ) ` ( # ` A ) ) ) |
| 79 | 43 75 78 | 3eqtr4d | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) |
| 80 | 79 | expr | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( # ` A ) e. NN ) -> ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) ) |
| 81 | 80 | exlimdv | |- ( ( ( G e. Mnd /\ A e. Fin /\ X e. B ) /\ ( # ` A ) e. NN ) -> ( E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) ) |
| 82 | 81 | expimpd | |- ( ( G e. Mnd /\ A e. Fin /\ X e. B ) -> ( ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) ) |
| 83 | fz1f1o | |- ( A e. Fin -> ( A = (/) \/ ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) ) |
|
| 84 | 83 | 3ad2ant2 | |- ( ( G e. Mnd /\ A e. Fin /\ X e. B ) -> ( A = (/) \/ ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) ) |
| 85 | 20 82 84 | mpjaod | |- ( ( G e. Mnd /\ A e. Fin /\ X e. B ) -> ( G gsum ( k e. A |-> X ) ) = ( ( # ` A ) .x. X ) ) |