Step |
Hyp |
Ref |
Expression |
1 |
|
prodmo.1 |
|- F = ( k e. ZZ |-> if ( k e. A , B , 1 ) ) |
2 |
|
prodmo.2 |
|- ( ( ph /\ k e. A ) -> B e. CC ) |
3 |
|
prodrb.3 |
|- ( ph -> N e. ( ZZ>= ` M ) ) |
4 |
|
fprodcvg.4 |
|- ( ph -> A C_ ( M ... N ) ) |
5 |
|
eqid |
|- ( ZZ>= ` N ) = ( ZZ>= ` N ) |
6 |
|
eluzelz |
|- ( N e. ( ZZ>= ` M ) -> N e. ZZ ) |
7 |
3 6
|
syl |
|- ( ph -> N e. ZZ ) |
8 |
|
seqex |
|- seq M ( x. , F ) e. _V |
9 |
8
|
a1i |
|- ( ph -> seq M ( x. , F ) e. _V ) |
10 |
|
eqid |
|- ( ZZ>= ` M ) = ( ZZ>= ` M ) |
11 |
|
eluzel2 |
|- ( N e. ( ZZ>= ` M ) -> M e. ZZ ) |
12 |
3 11
|
syl |
|- ( ph -> M e. ZZ ) |
13 |
|
eluzelz |
|- ( k e. ( ZZ>= ` M ) -> k e. ZZ ) |
14 |
13
|
adantl |
|- ( ( ph /\ k e. ( ZZ>= ` M ) ) -> k e. ZZ ) |
15 |
|
iftrue |
|- ( k e. A -> if ( k e. A , B , 1 ) = B ) |
16 |
15
|
adantl |
|- ( ( ( ph /\ k e. ( ZZ>= ` M ) ) /\ k e. A ) -> if ( k e. A , B , 1 ) = B ) |
17 |
2
|
adantlr |
|- ( ( ( ph /\ k e. ( ZZ>= ` M ) ) /\ k e. A ) -> B e. CC ) |
18 |
16 17
|
eqeltrd |
|- ( ( ( ph /\ k e. ( ZZ>= ` M ) ) /\ k e. A ) -> if ( k e. A , B , 1 ) e. CC ) |
19 |
18
|
ex |
|- ( ( ph /\ k e. ( ZZ>= ` M ) ) -> ( k e. A -> if ( k e. A , B , 1 ) e. CC ) ) |
20 |
|
iffalse |
|- ( -. k e. A -> if ( k e. A , B , 1 ) = 1 ) |
21 |
|
ax-1cn |
|- 1 e. CC |
22 |
20 21
|
eqeltrdi |
|- ( -. k e. A -> if ( k e. A , B , 1 ) e. CC ) |
23 |
19 22
|
pm2.61d1 |
|- ( ( ph /\ k e. ( ZZ>= ` M ) ) -> if ( k e. A , B , 1 ) e. CC ) |
24 |
1
|
fvmpt2 |
|- ( ( k e. ZZ /\ if ( k e. A , B , 1 ) e. CC ) -> ( F ` k ) = if ( k e. A , B , 1 ) ) |
25 |
14 23 24
|
syl2anc |
|- ( ( ph /\ k e. ( ZZ>= ` M ) ) -> ( F ` k ) = if ( k e. A , B , 1 ) ) |
26 |
25 23
|
eqeltrd |
|- ( ( ph /\ k e. ( ZZ>= ` M ) ) -> ( F ` k ) e. CC ) |
27 |
10 12 26
|
prodf |
|- ( ph -> seq M ( x. , F ) : ( ZZ>= ` M ) --> CC ) |
28 |
27 3
|
ffvelrnd |
|- ( ph -> ( seq M ( x. , F ) ` N ) e. CC ) |
29 |
|
mulid1 |
|- ( m e. CC -> ( m x. 1 ) = m ) |
30 |
29
|
adantl |
|- ( ( ( ph /\ n e. ( ZZ>= ` N ) ) /\ m e. CC ) -> ( m x. 1 ) = m ) |
31 |
3
|
adantr |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> N e. ( ZZ>= ` M ) ) |
32 |
|
simpr |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> n e. ( ZZ>= ` N ) ) |
33 |
12
|
adantr |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> M e. ZZ ) |
34 |
26
|
adantlr |
|- ( ( ( ph /\ n e. ( ZZ>= ` N ) ) /\ k e. ( ZZ>= ` M ) ) -> ( F ` k ) e. CC ) |
35 |
10 33 34
|
prodf |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> seq M ( x. , F ) : ( ZZ>= ` M ) --> CC ) |
36 |
35 31
|
ffvelrnd |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> ( seq M ( x. , F ) ` N ) e. CC ) |
37 |
|
elfzuz |
|- ( m e. ( ( N + 1 ) ... n ) -> m e. ( ZZ>= ` ( N + 1 ) ) ) |
38 |
|
eluzelz |
|- ( m e. ( ZZ>= ` ( N + 1 ) ) -> m e. ZZ ) |
39 |
38
|
adantl |
|- ( ( ph /\ m e. ( ZZ>= ` ( N + 1 ) ) ) -> m e. ZZ ) |
40 |
4
|
sseld |
|- ( ph -> ( m e. A -> m e. ( M ... N ) ) ) |
41 |
|
fznuz |
|- ( m e. ( M ... N ) -> -. m e. ( ZZ>= ` ( N + 1 ) ) ) |
42 |
40 41
|
syl6 |
|- ( ph -> ( m e. A -> -. m e. ( ZZ>= ` ( N + 1 ) ) ) ) |
43 |
42
|
con2d |
|- ( ph -> ( m e. ( ZZ>= ` ( N + 1 ) ) -> -. m e. A ) ) |
44 |
43
|
imp |
|- ( ( ph /\ m e. ( ZZ>= ` ( N + 1 ) ) ) -> -. m e. A ) |
45 |
39 44
|
eldifd |
|- ( ( ph /\ m e. ( ZZ>= ` ( N + 1 ) ) ) -> m e. ( ZZ \ A ) ) |
46 |
|
fveqeq2 |
|- ( k = m -> ( ( F ` k ) = 1 <-> ( F ` m ) = 1 ) ) |
47 |
|
eldifi |
|- ( k e. ( ZZ \ A ) -> k e. ZZ ) |
48 |
|
eldifn |
|- ( k e. ( ZZ \ A ) -> -. k e. A ) |
49 |
48 20
|
syl |
|- ( k e. ( ZZ \ A ) -> if ( k e. A , B , 1 ) = 1 ) |
50 |
49 21
|
eqeltrdi |
|- ( k e. ( ZZ \ A ) -> if ( k e. A , B , 1 ) e. CC ) |
51 |
47 50 24
|
syl2anc |
|- ( k e. ( ZZ \ A ) -> ( F ` k ) = if ( k e. A , B , 1 ) ) |
52 |
51 49
|
eqtrd |
|- ( k e. ( ZZ \ A ) -> ( F ` k ) = 1 ) |
53 |
46 52
|
vtoclga |
|- ( m e. ( ZZ \ A ) -> ( F ` m ) = 1 ) |
54 |
45 53
|
syl |
|- ( ( ph /\ m e. ( ZZ>= ` ( N + 1 ) ) ) -> ( F ` m ) = 1 ) |
55 |
37 54
|
sylan2 |
|- ( ( ph /\ m e. ( ( N + 1 ) ... n ) ) -> ( F ` m ) = 1 ) |
56 |
55
|
adantlr |
|- ( ( ( ph /\ n e. ( ZZ>= ` N ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( F ` m ) = 1 ) |
57 |
30 31 32 36 56
|
seqid2 |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> ( seq M ( x. , F ) ` N ) = ( seq M ( x. , F ) ` n ) ) |
58 |
57
|
eqcomd |
|- ( ( ph /\ n e. ( ZZ>= ` N ) ) -> ( seq M ( x. , F ) ` n ) = ( seq M ( x. , F ) ` N ) ) |
59 |
5 7 9 28 58
|
climconst |
|- ( ph -> seq M ( x. , F ) ~~> ( seq M ( x. , F ) ` N ) ) |