Step |
Hyp |
Ref |
Expression |
1 |
|
fsumadd.1 |
|- ( ph -> A e. Fin ) |
2 |
|
fsumadd.2 |
|- ( ( ph /\ k e. A ) -> B e. CC ) |
3 |
|
fsumadd.3 |
|- ( ( ph /\ k e. A ) -> C e. CC ) |
4 |
|
00id |
|- ( 0 + 0 ) = 0 |
5 |
|
sum0 |
|- sum_ k e. (/) B = 0 |
6 |
|
sum0 |
|- sum_ k e. (/) C = 0 |
7 |
5 6
|
oveq12i |
|- ( sum_ k e. (/) B + sum_ k e. (/) C ) = ( 0 + 0 ) |
8 |
|
sum0 |
|- sum_ k e. (/) ( B + C ) = 0 |
9 |
4 7 8
|
3eqtr4ri |
|- sum_ k e. (/) ( B + C ) = ( sum_ k e. (/) B + sum_ k e. (/) C ) |
10 |
|
sumeq1 |
|- ( A = (/) -> sum_ k e. A ( B + C ) = sum_ k e. (/) ( B + C ) ) |
11 |
|
sumeq1 |
|- ( A = (/) -> sum_ k e. A B = sum_ k e. (/) B ) |
12 |
|
sumeq1 |
|- ( A = (/) -> sum_ k e. A C = sum_ k e. (/) C ) |
13 |
11 12
|
oveq12d |
|- ( A = (/) -> ( sum_ k e. A B + sum_ k e. A C ) = ( sum_ k e. (/) B + sum_ k e. (/) C ) ) |
14 |
9 10 13
|
3eqtr4a |
|- ( A = (/) -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) |
15 |
14
|
a1i |
|- ( ph -> ( A = (/) -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) ) |
16 |
|
simprl |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( # ` A ) e. NN ) |
17 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
18 |
16 17
|
eleqtrdi |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( # ` A ) e. ( ZZ>= ` 1 ) ) |
19 |
2
|
adantlr |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ k e. A ) -> B e. CC ) |
20 |
19
|
fmpttd |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( k e. A |-> B ) : A --> CC ) |
21 |
|
simprr |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) |
22 |
|
f1of |
|- ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> f : ( 1 ... ( # ` A ) ) --> A ) |
23 |
21 22
|
syl |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> f : ( 1 ... ( # ` A ) ) --> A ) |
24 |
|
fco |
|- ( ( ( k e. A |-> B ) : A --> CC /\ f : ( 1 ... ( # ` A ) ) --> A ) -> ( ( k e. A |-> B ) o. f ) : ( 1 ... ( # ` A ) ) --> CC ) |
25 |
20 23 24
|
syl2anc |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( k e. A |-> B ) o. f ) : ( 1 ... ( # ` A ) ) --> CC ) |
26 |
25
|
ffvelrnda |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> B ) o. f ) ` n ) e. CC ) |
27 |
3
|
adantlr |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ k e. A ) -> C e. CC ) |
28 |
27
|
fmpttd |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( k e. A |-> C ) : A --> CC ) |
29 |
|
fco |
|- ( ( ( k e. A |-> C ) : A --> CC /\ f : ( 1 ... ( # ` A ) ) --> A ) -> ( ( k e. A |-> C ) o. f ) : ( 1 ... ( # ` A ) ) --> CC ) |
30 |
28 23 29
|
syl2anc |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( ( k e. A |-> C ) o. f ) : ( 1 ... ( # ` A ) ) --> CC ) |
31 |
30
|
ffvelrnda |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> C ) o. f ) ` n ) e. CC ) |
32 |
23
|
ffvelrnda |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( f ` n ) e. A ) |
33 |
|
ovex |
|- ( B + C ) e. _V |
34 |
|
eqid |
|- ( k e. A |-> ( B + C ) ) = ( k e. A |-> ( B + C ) ) |
35 |
34
|
fvmpt2 |
|- ( ( k e. A /\ ( B + C ) e. _V ) -> ( ( k e. A |-> ( B + C ) ) ` k ) = ( B + C ) ) |
36 |
33 35
|
mpan2 |
|- ( k e. A -> ( ( k e. A |-> ( B + C ) ) ` k ) = ( B + C ) ) |
37 |
36
|
adantl |
|- ( ( ph /\ k e. A ) -> ( ( k e. A |-> ( B + C ) ) ` k ) = ( B + C ) ) |
38 |
|
simpr |
|- ( ( ph /\ k e. A ) -> k e. A ) |
39 |
|
eqid |
|- ( k e. A |-> B ) = ( k e. A |-> B ) |
40 |
39
|
fvmpt2 |
|- ( ( k e. A /\ B e. CC ) -> ( ( k e. A |-> B ) ` k ) = B ) |
41 |
38 2 40
|
syl2anc |
|- ( ( ph /\ k e. A ) -> ( ( k e. A |-> B ) ` k ) = B ) |
42 |
|
eqid |
|- ( k e. A |-> C ) = ( k e. A |-> C ) |
43 |
42
|
fvmpt2 |
|- ( ( k e. A /\ C e. CC ) -> ( ( k e. A |-> C ) ` k ) = C ) |
44 |
38 3 43
|
syl2anc |
|- ( ( ph /\ k e. A ) -> ( ( k e. A |-> C ) ` k ) = C ) |
45 |
41 44
|
oveq12d |
|- ( ( ph /\ k e. A ) -> ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) = ( B + C ) ) |
46 |
37 45
|
eqtr4d |
|- ( ( ph /\ k e. A ) -> ( ( k e. A |-> ( B + C ) ) ` k ) = ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) ) |
47 |
46
|
ralrimiva |
|- ( ph -> A. k e. A ( ( k e. A |-> ( B + C ) ) ` k ) = ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) ) |
48 |
47
|
ad2antrr |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> A. k e. A ( ( k e. A |-> ( B + C ) ) ` k ) = ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) ) |
49 |
|
nffvmpt1 |
|- F/_ k ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) |
50 |
|
nffvmpt1 |
|- F/_ k ( ( k e. A |-> B ) ` ( f ` n ) ) |
51 |
|
nfcv |
|- F/_ k + |
52 |
|
nffvmpt1 |
|- F/_ k ( ( k e. A |-> C ) ` ( f ` n ) ) |
53 |
50 51 52
|
nfov |
|- F/_ k ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) |
54 |
49 53
|
nfeq |
|- F/ k ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) = ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) |
55 |
|
fveq2 |
|- ( k = ( f ` n ) -> ( ( k e. A |-> ( B + C ) ) ` k ) = ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) ) |
56 |
|
fveq2 |
|- ( k = ( f ` n ) -> ( ( k e. A |-> B ) ` k ) = ( ( k e. A |-> B ) ` ( f ` n ) ) ) |
57 |
|
fveq2 |
|- ( k = ( f ` n ) -> ( ( k e. A |-> C ) ` k ) = ( ( k e. A |-> C ) ` ( f ` n ) ) ) |
58 |
56 57
|
oveq12d |
|- ( k = ( f ` n ) -> ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) = ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) ) |
59 |
55 58
|
eqeq12d |
|- ( k = ( f ` n ) -> ( ( ( k e. A |-> ( B + C ) ) ` k ) = ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) <-> ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) = ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) ) ) |
60 |
54 59
|
rspc |
|- ( ( f ` n ) e. A -> ( A. k e. A ( ( k e. A |-> ( B + C ) ) ` k ) = ( ( ( k e. A |-> B ) ` k ) + ( ( k e. A |-> C ) ` k ) ) -> ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) = ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) ) ) |
61 |
32 48 60
|
sylc |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) = ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) ) |
62 |
|
fvco3 |
|- ( ( f : ( 1 ... ( # ` A ) ) --> A /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> ( B + C ) ) o. f ) ` n ) = ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) ) |
63 |
23 62
|
sylan |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> ( B + C ) ) o. f ) ` n ) = ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) ) |
64 |
|
fvco3 |
|- ( ( f : ( 1 ... ( # ` A ) ) --> A /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> B ) o. f ) ` n ) = ( ( k e. A |-> B ) ` ( f ` n ) ) ) |
65 |
23 64
|
sylan |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> B ) o. f ) ` n ) = ( ( k e. A |-> B ) ` ( f ` n ) ) ) |
66 |
|
fvco3 |
|- ( ( f : ( 1 ... ( # ` A ) ) --> A /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> C ) o. f ) ` n ) = ( ( k e. A |-> C ) ` ( f ` n ) ) ) |
67 |
23 66
|
sylan |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> C ) o. f ) ` n ) = ( ( k e. A |-> C ) ` ( f ` n ) ) ) |
68 |
65 67
|
oveq12d |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( ( k e. A |-> B ) o. f ) ` n ) + ( ( ( k e. A |-> C ) o. f ) ` n ) ) = ( ( ( k e. A |-> B ) ` ( f ` n ) ) + ( ( k e. A |-> C ) ` ( f ` n ) ) ) ) |
69 |
61 63 68
|
3eqtr4d |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( ( k e. A |-> ( B + C ) ) o. f ) ` n ) = ( ( ( ( k e. A |-> B ) o. f ) ` n ) + ( ( ( k e. A |-> C ) o. f ) ` n ) ) ) |
70 |
18 26 31 69
|
seradd |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( seq 1 ( + , ( ( k e. A |-> ( B + C ) ) o. f ) ) ` ( # ` A ) ) = ( ( seq 1 ( + , ( ( k e. A |-> B ) o. f ) ) ` ( # ` A ) ) + ( seq 1 ( + , ( ( k e. A |-> C ) o. f ) ) ` ( # ` A ) ) ) ) |
71 |
|
fveq2 |
|- ( m = ( f ` n ) -> ( ( k e. A |-> ( B + C ) ) ` m ) = ( ( k e. A |-> ( B + C ) ) ` ( f ` n ) ) ) |
72 |
19 27
|
addcld |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ k e. A ) -> ( B + C ) e. CC ) |
73 |
72
|
fmpttd |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( k e. A |-> ( B + C ) ) : A --> CC ) |
74 |
73
|
ffvelrnda |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ m e. A ) -> ( ( k e. A |-> ( B + C ) ) ` m ) e. CC ) |
75 |
71 16 21 74 63
|
fsum |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ m e. A ( ( k e. A |-> ( B + C ) ) ` m ) = ( seq 1 ( + , ( ( k e. A |-> ( B + C ) ) o. f ) ) ` ( # ` A ) ) ) |
76 |
|
fveq2 |
|- ( m = ( f ` n ) -> ( ( k e. A |-> B ) ` m ) = ( ( k e. A |-> B ) ` ( f ` n ) ) ) |
77 |
20
|
ffvelrnda |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ m e. A ) -> ( ( k e. A |-> B ) ` m ) e. CC ) |
78 |
76 16 21 77 65
|
fsum |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ m e. A ( ( k e. A |-> B ) ` m ) = ( seq 1 ( + , ( ( k e. A |-> B ) o. f ) ) ` ( # ` A ) ) ) |
79 |
|
fveq2 |
|- ( m = ( f ` n ) -> ( ( k e. A |-> C ) ` m ) = ( ( k e. A |-> C ) ` ( f ` n ) ) ) |
80 |
28
|
ffvelrnda |
|- ( ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ m e. A ) -> ( ( k e. A |-> C ) ` m ) e. CC ) |
81 |
79 16 21 80 67
|
fsum |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ m e. A ( ( k e. A |-> C ) ` m ) = ( seq 1 ( + , ( ( k e. A |-> C ) o. f ) ) ` ( # ` A ) ) ) |
82 |
78 81
|
oveq12d |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( sum_ m e. A ( ( k e. A |-> B ) ` m ) + sum_ m e. A ( ( k e. A |-> C ) ` m ) ) = ( ( seq 1 ( + , ( ( k e. A |-> B ) o. f ) ) ` ( # ` A ) ) + ( seq 1 ( + , ( ( k e. A |-> C ) o. f ) ) ` ( # ` A ) ) ) ) |
83 |
70 75 82
|
3eqtr4d |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ m e. A ( ( k e. A |-> ( B + C ) ) ` m ) = ( sum_ m e. A ( ( k e. A |-> B ) ` m ) + sum_ m e. A ( ( k e. A |-> C ) ` m ) ) ) |
84 |
|
sumfc |
|- sum_ m e. A ( ( k e. A |-> ( B + C ) ) ` m ) = sum_ k e. A ( B + C ) |
85 |
|
sumfc |
|- sum_ m e. A ( ( k e. A |-> B ) ` m ) = sum_ k e. A B |
86 |
|
sumfc |
|- sum_ m e. A ( ( k e. A |-> C ) ` m ) = sum_ k e. A C |
87 |
85 86
|
oveq12i |
|- ( sum_ m e. A ( ( k e. A |-> B ) ` m ) + sum_ m e. A ( ( k e. A |-> C ) ` m ) ) = ( sum_ k e. A B + sum_ k e. A C ) |
88 |
83 84 87
|
3eqtr3g |
|- ( ( ph /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) |
89 |
88
|
expr |
|- ( ( ph /\ ( # ` A ) e. NN ) -> ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) ) |
90 |
89
|
exlimdv |
|- ( ( ph /\ ( # ` A ) e. NN ) -> ( E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) ) |
91 |
90
|
expimpd |
|- ( ph -> ( ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) ) |
92 |
|
fz1f1o |
|- ( A e. Fin -> ( A = (/) \/ ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) ) |
93 |
1 92
|
syl |
|- ( ph -> ( A = (/) \/ ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) ) |
94 |
15 91 93
|
mpjaod |
|- ( ph -> sum_ k e. A ( B + C ) = ( sum_ k e. A B + sum_ k e. A C ) ) |