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 |
|
mulid2 |
|- ( n e. CC -> ( 1 x. n ) = n ) |
5 |
4
|
adantl |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. CC ) -> ( 1 x. n ) = n ) |
6 |
|
1cnd |
|- ( ( ph /\ A C_ ( ZZ>= ` N ) ) -> 1 e. CC ) |
7 |
3
|
adantr |
|- ( ( ph /\ A C_ ( ZZ>= ` N ) ) -> N e. ( ZZ>= ` M ) ) |
8 |
|
iftrue |
|- ( k e. A -> if ( k e. A , B , 1 ) = B ) |
9 |
8
|
adantl |
|- ( ( ( ph /\ k e. ZZ ) /\ k e. A ) -> if ( k e. A , B , 1 ) = B ) |
10 |
2
|
adantlr |
|- ( ( ( ph /\ k e. ZZ ) /\ k e. A ) -> B e. CC ) |
11 |
9 10
|
eqeltrd |
|- ( ( ( ph /\ k e. ZZ ) /\ k e. A ) -> if ( k e. A , B , 1 ) e. CC ) |
12 |
11
|
ex |
|- ( ( ph /\ k e. ZZ ) -> ( k e. A -> if ( k e. A , B , 1 ) e. CC ) ) |
13 |
|
iffalse |
|- ( -. k e. A -> if ( k e. A , B , 1 ) = 1 ) |
14 |
|
ax-1cn |
|- 1 e. CC |
15 |
13 14
|
eqeltrdi |
|- ( -. k e. A -> if ( k e. A , B , 1 ) e. CC ) |
16 |
12 15
|
pm2.61d1 |
|- ( ( ph /\ k e. ZZ ) -> if ( k e. A , B , 1 ) e. CC ) |
17 |
16 1
|
fmptd |
|- ( ph -> F : ZZ --> CC ) |
18 |
|
uzssz |
|- ( ZZ>= ` M ) C_ ZZ |
19 |
18 3
|
sselid |
|- ( ph -> N e. ZZ ) |
20 |
17 19
|
ffvelrnd |
|- ( ph -> ( F ` N ) e. CC ) |
21 |
20
|
adantr |
|- ( ( ph /\ A C_ ( ZZ>= ` N ) ) -> ( F ` N ) e. CC ) |
22 |
|
elfzelz |
|- ( n e. ( M ... ( N - 1 ) ) -> n e. ZZ ) |
23 |
22
|
adantl |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> n e. ZZ ) |
24 |
|
simplr |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> A C_ ( ZZ>= ` N ) ) |
25 |
19
|
zcnd |
|- ( ph -> N e. CC ) |
26 |
25
|
adantr |
|- ( ( ph /\ A C_ ( ZZ>= ` N ) ) -> N e. CC ) |
27 |
26
|
adantr |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> N e. CC ) |
28 |
|
1cnd |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> 1 e. CC ) |
29 |
27 28
|
npcand |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> ( ( N - 1 ) + 1 ) = N ) |
30 |
29
|
fveq2d |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> ( ZZ>= ` ( ( N - 1 ) + 1 ) ) = ( ZZ>= ` N ) ) |
31 |
24 30
|
sseqtrrd |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> A C_ ( ZZ>= ` ( ( N - 1 ) + 1 ) ) ) |
32 |
|
fznuz |
|- ( n e. ( M ... ( N - 1 ) ) -> -. n e. ( ZZ>= ` ( ( N - 1 ) + 1 ) ) ) |
33 |
32
|
adantl |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> -. n e. ( ZZ>= ` ( ( N - 1 ) + 1 ) ) ) |
34 |
31 33
|
ssneldd |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> -. n e. A ) |
35 |
23 34
|
eldifd |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> n e. ( ZZ \ A ) ) |
36 |
|
fveqeq2 |
|- ( k = n -> ( ( F ` k ) = 1 <-> ( F ` n ) = 1 ) ) |
37 |
|
eldifi |
|- ( k e. ( ZZ \ A ) -> k e. ZZ ) |
38 |
|
eldifn |
|- ( k e. ( ZZ \ A ) -> -. k e. A ) |
39 |
38 13
|
syl |
|- ( k e. ( ZZ \ A ) -> if ( k e. A , B , 1 ) = 1 ) |
40 |
39 14
|
eqeltrdi |
|- ( k e. ( ZZ \ A ) -> if ( k e. A , B , 1 ) e. CC ) |
41 |
1
|
fvmpt2 |
|- ( ( k e. ZZ /\ if ( k e. A , B , 1 ) e. CC ) -> ( F ` k ) = if ( k e. A , B , 1 ) ) |
42 |
37 40 41
|
syl2anc |
|- ( k e. ( ZZ \ A ) -> ( F ` k ) = if ( k e. A , B , 1 ) ) |
43 |
42 39
|
eqtrd |
|- ( k e. ( ZZ \ A ) -> ( F ` k ) = 1 ) |
44 |
36 43
|
vtoclga |
|- ( n e. ( ZZ \ A ) -> ( F ` n ) = 1 ) |
45 |
35 44
|
syl |
|- ( ( ( ph /\ A C_ ( ZZ>= ` N ) ) /\ n e. ( M ... ( N - 1 ) ) ) -> ( F ` n ) = 1 ) |
46 |
5 6 7 21 45
|
seqid |
|- ( ( ph /\ A C_ ( ZZ>= ` N ) ) -> ( seq M ( x. , F ) |` ( ZZ>= ` N ) ) = seq N ( x. , F ) ) |