Step |
Hyp |
Ref |
Expression |
1 |
|
fprod1p.1 |
|- ( ph -> N e. ( ZZ>= ` M ) ) |
2 |
|
fprod1p.2 |
|- ( ( ph /\ k e. ( M ... N ) ) -> A e. CC ) |
3 |
|
fprod1p.3 |
|- ( k = M -> A = B ) |
4 |
|
eluzfz1 |
|- ( N e. ( ZZ>= ` M ) -> M e. ( M ... N ) ) |
5 |
1 4
|
syl |
|- ( ph -> M e. ( M ... N ) ) |
6 |
5
|
elfzelzd |
|- ( ph -> M e. ZZ ) |
7 |
|
fzsn |
|- ( M e. ZZ -> ( M ... M ) = { M } ) |
8 |
6 7
|
syl |
|- ( ph -> ( M ... M ) = { M } ) |
9 |
8
|
ineq1d |
|- ( ph -> ( ( M ... M ) i^i ( ( M + 1 ) ... N ) ) = ( { M } i^i ( ( M + 1 ) ... N ) ) ) |
10 |
6
|
zred |
|- ( ph -> M e. RR ) |
11 |
10
|
ltp1d |
|- ( ph -> M < ( M + 1 ) ) |
12 |
|
fzdisj |
|- ( M < ( M + 1 ) -> ( ( M ... M ) i^i ( ( M + 1 ) ... N ) ) = (/) ) |
13 |
11 12
|
syl |
|- ( ph -> ( ( M ... M ) i^i ( ( M + 1 ) ... N ) ) = (/) ) |
14 |
9 13
|
eqtr3d |
|- ( ph -> ( { M } i^i ( ( M + 1 ) ... N ) ) = (/) ) |
15 |
|
fzsplit |
|- ( M e. ( M ... N ) -> ( M ... N ) = ( ( M ... M ) u. ( ( M + 1 ) ... N ) ) ) |
16 |
5 15
|
syl |
|- ( ph -> ( M ... N ) = ( ( M ... M ) u. ( ( M + 1 ) ... N ) ) ) |
17 |
8
|
uneq1d |
|- ( ph -> ( ( M ... M ) u. ( ( M + 1 ) ... N ) ) = ( { M } u. ( ( M + 1 ) ... N ) ) ) |
18 |
16 17
|
eqtrd |
|- ( ph -> ( M ... N ) = ( { M } u. ( ( M + 1 ) ... N ) ) ) |
19 |
|
fzfid |
|- ( ph -> ( M ... N ) e. Fin ) |
20 |
14 18 19 2
|
fprodsplit |
|- ( ph -> prod_ k e. ( M ... N ) A = ( prod_ k e. { M } A x. prod_ k e. ( ( M + 1 ) ... N ) A ) ) |
21 |
3
|
eleq1d |
|- ( k = M -> ( A e. CC <-> B e. CC ) ) |
22 |
2
|
ralrimiva |
|- ( ph -> A. k e. ( M ... N ) A e. CC ) |
23 |
21 22 5
|
rspcdva |
|- ( ph -> B e. CC ) |
24 |
3
|
prodsn |
|- ( ( M e. ( M ... N ) /\ B e. CC ) -> prod_ k e. { M } A = B ) |
25 |
5 23 24
|
syl2anc |
|- ( ph -> prod_ k e. { M } A = B ) |
26 |
25
|
oveq1d |
|- ( ph -> ( prod_ k e. { M } A x. prod_ k e. ( ( M + 1 ) ... N ) A ) = ( B x. prod_ k e. ( ( M + 1 ) ... N ) A ) ) |
27 |
20 26
|
eqtrd |
|- ( ph -> prod_ k e. ( M ... N ) A = ( B x. prod_ k e. ( ( M + 1 ) ... N ) A ) ) |