| Step |
Hyp |
Ref |
Expression |
| 1 |
|
fprodntriv.1 |
|- Z = ( ZZ>= ` M ) |
| 2 |
|
fprodntriv.2 |
|- ( ph -> N e. Z ) |
| 3 |
|
fprodntriv.3 |
|- ( ph -> A C_ ( M ... N ) ) |
| 4 |
2 1
|
eleqtrdi |
|- ( ph -> N e. ( ZZ>= ` M ) ) |
| 5 |
|
peano2uz |
|- ( N e. ( ZZ>= ` M ) -> ( N + 1 ) e. ( ZZ>= ` M ) ) |
| 6 |
4 5
|
syl |
|- ( ph -> ( N + 1 ) e. ( ZZ>= ` M ) ) |
| 7 |
6 1
|
eleqtrrdi |
|- ( ph -> ( N + 1 ) e. Z ) |
| 8 |
|
ax-1ne0 |
|- 1 =/= 0 |
| 9 |
|
eqid |
|- ( ZZ>= ` ( N + 1 ) ) = ( ZZ>= ` ( N + 1 ) ) |
| 10 |
|
eluzelz |
|- ( N e. ( ZZ>= ` M ) -> N e. ZZ ) |
| 11 |
10 1
|
eleq2s |
|- ( N e. Z -> N e. ZZ ) |
| 12 |
2 11
|
syl |
|- ( ph -> N e. ZZ ) |
| 13 |
12
|
peano2zd |
|- ( ph -> ( N + 1 ) e. ZZ ) |
| 14 |
|
seqex |
|- seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) e. _V |
| 15 |
14
|
a1i |
|- ( ph -> seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) e. _V ) |
| 16 |
|
1cnd |
|- ( ph -> 1 e. CC ) |
| 17 |
|
simpr |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> n e. ( ZZ>= ` ( N + 1 ) ) ) |
| 18 |
3
|
ad2antrr |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> A C_ ( M ... N ) ) |
| 19 |
12
|
ad2antrr |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> N e. ZZ ) |
| 20 |
19
|
zred |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> N e. RR ) |
| 21 |
19
|
peano2zd |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( N + 1 ) e. ZZ ) |
| 22 |
21
|
zred |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( N + 1 ) e. RR ) |
| 23 |
|
elfzelz |
|- ( m e. ( ( N + 1 ) ... n ) -> m e. ZZ ) |
| 24 |
23
|
adantl |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> m e. ZZ ) |
| 25 |
24
|
zred |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> m e. RR ) |
| 26 |
20
|
ltp1d |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> N < ( N + 1 ) ) |
| 27 |
|
elfzle1 |
|- ( m e. ( ( N + 1 ) ... n ) -> ( N + 1 ) <_ m ) |
| 28 |
27
|
adantl |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( N + 1 ) <_ m ) |
| 29 |
20 22 25 26 28
|
ltletrd |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> N < m ) |
| 30 |
20 25
|
ltnled |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( N < m <-> -. m <_ N ) ) |
| 31 |
29 30
|
mpbid |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> -. m <_ N ) |
| 32 |
31
|
intnand |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> -. ( M <_ m /\ m <_ N ) ) |
| 33 |
32
|
intnand |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> -. ( ( M e. ZZ /\ N e. ZZ /\ m e. ZZ ) /\ ( M <_ m /\ m <_ N ) ) ) |
| 34 |
|
elfz2 |
|- ( m e. ( M ... N ) <-> ( ( M e. ZZ /\ N e. ZZ /\ m e. ZZ ) /\ ( M <_ m /\ m <_ N ) ) ) |
| 35 |
33 34
|
sylnibr |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> -. m e. ( M ... N ) ) |
| 36 |
18 35
|
ssneldd |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> -. m e. A ) |
| 37 |
36
|
iffalsed |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> if ( m e. A , [_ m / k ]_ B , 1 ) = 1 ) |
| 38 |
|
fzssuz |
|- ( ( N + 1 ) ... n ) C_ ( ZZ>= ` ( N + 1 ) ) |
| 39 |
6
|
adantr |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( N + 1 ) e. ( ZZ>= ` M ) ) |
| 40 |
|
uzss |
|- ( ( N + 1 ) e. ( ZZ>= ` M ) -> ( ZZ>= ` ( N + 1 ) ) C_ ( ZZ>= ` M ) ) |
| 41 |
39 40
|
syl |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( ZZ>= ` ( N + 1 ) ) C_ ( ZZ>= ` M ) ) |
| 42 |
41 1
|
sseqtrrdi |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( ZZ>= ` ( N + 1 ) ) C_ Z ) |
| 43 |
38 42
|
sstrid |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( ( N + 1 ) ... n ) C_ Z ) |
| 44 |
43
|
sselda |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> m e. Z ) |
| 45 |
|
ax-1cn |
|- 1 e. CC |
| 46 |
37 45
|
eqeltrdi |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> if ( m e. A , [_ m / k ]_ B , 1 ) e. CC ) |
| 47 |
|
nfcv |
|- F/_ k m |
| 48 |
|
nfv |
|- F/ k m e. A |
| 49 |
|
nfcsb1v |
|- F/_ k [_ m / k ]_ B |
| 50 |
|
nfcv |
|- F/_ k 1 |
| 51 |
48 49 50
|
nfif |
|- F/_ k if ( m e. A , [_ m / k ]_ B , 1 ) |
| 52 |
|
eleq1w |
|- ( k = m -> ( k e. A <-> m e. A ) ) |
| 53 |
|
csbeq1a |
|- ( k = m -> B = [_ m / k ]_ B ) |
| 54 |
52 53
|
ifbieq1d |
|- ( k = m -> if ( k e. A , B , 1 ) = if ( m e. A , [_ m / k ]_ B , 1 ) ) |
| 55 |
|
eqid |
|- ( k e. Z |-> if ( k e. A , B , 1 ) ) = ( k e. Z |-> if ( k e. A , B , 1 ) ) |
| 56 |
47 51 54 55
|
fvmptf |
|- ( ( m e. Z /\ if ( m e. A , [_ m / k ]_ B , 1 ) e. CC ) -> ( ( k e. Z |-> if ( k e. A , B , 1 ) ) ` m ) = if ( m e. A , [_ m / k ]_ B , 1 ) ) |
| 57 |
44 46 56
|
syl2anc |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( ( k e. Z |-> if ( k e. A , B , 1 ) ) ` m ) = if ( m e. A , [_ m / k ]_ B , 1 ) ) |
| 58 |
|
elfzuz |
|- ( m e. ( ( N + 1 ) ... n ) -> m e. ( ZZ>= ` ( N + 1 ) ) ) |
| 59 |
58
|
adantl |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> m e. ( ZZ>= ` ( N + 1 ) ) ) |
| 60 |
|
1ex |
|- 1 e. _V |
| 61 |
60
|
fvconst2 |
|- ( m e. ( ZZ>= ` ( N + 1 ) ) -> ( ( ( ZZ>= ` ( N + 1 ) ) X. { 1 } ) ` m ) = 1 ) |
| 62 |
59 61
|
syl |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( ( ( ZZ>= ` ( N + 1 ) ) X. { 1 } ) ` m ) = 1 ) |
| 63 |
37 57 62
|
3eqtr4d |
|- ( ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) /\ m e. ( ( N + 1 ) ... n ) ) -> ( ( k e. Z |-> if ( k e. A , B , 1 ) ) ` m ) = ( ( ( ZZ>= ` ( N + 1 ) ) X. { 1 } ) ` m ) ) |
| 64 |
17 63
|
seqfveq |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ` n ) = ( seq ( N + 1 ) ( x. , ( ( ZZ>= ` ( N + 1 ) ) X. { 1 } ) ) ` n ) ) |
| 65 |
9
|
prodf1 |
|- ( n e. ( ZZ>= ` ( N + 1 ) ) -> ( seq ( N + 1 ) ( x. , ( ( ZZ>= ` ( N + 1 ) ) X. { 1 } ) ) ` n ) = 1 ) |
| 66 |
65
|
adantl |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( seq ( N + 1 ) ( x. , ( ( ZZ>= ` ( N + 1 ) ) X. { 1 } ) ) ` n ) = 1 ) |
| 67 |
64 66
|
eqtrd |
|- ( ( ph /\ n e. ( ZZ>= ` ( N + 1 ) ) ) -> ( seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ` n ) = 1 ) |
| 68 |
9 13 15 16 67
|
climconst |
|- ( ph -> seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> 1 ) |
| 69 |
|
neeq1 |
|- ( y = 1 -> ( y =/= 0 <-> 1 =/= 0 ) ) |
| 70 |
|
breq2 |
|- ( y = 1 -> ( seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y <-> seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> 1 ) ) |
| 71 |
69 70
|
anbi12d |
|- ( y = 1 -> ( ( y =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) <-> ( 1 =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> 1 ) ) ) |
| 72 |
60 71
|
spcev |
|- ( ( 1 =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> 1 ) -> E. y ( y =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) |
| 73 |
8 68 72
|
sylancr |
|- ( ph -> E. y ( y =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) |
| 74 |
|
seqeq1 |
|- ( n = ( N + 1 ) -> seq n ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) = seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ) |
| 75 |
74
|
breq1d |
|- ( n = ( N + 1 ) -> ( seq n ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y <-> seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) |
| 76 |
75
|
anbi2d |
|- ( n = ( N + 1 ) -> ( ( y =/= 0 /\ seq n ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) <-> ( y =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) ) |
| 77 |
76
|
exbidv |
|- ( n = ( N + 1 ) -> ( E. y ( y =/= 0 /\ seq n ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) <-> E. y ( y =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) ) |
| 78 |
77
|
rspcev |
|- ( ( ( N + 1 ) e. Z /\ E. y ( y =/= 0 /\ seq ( N + 1 ) ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) -> E. n e. Z E. y ( y =/= 0 /\ seq n ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) |
| 79 |
7 73 78
|
syl2anc |
|- ( ph -> E. n e. Z E. y ( y =/= 0 /\ seq n ( x. , ( k e. Z |-> if ( k e. A , B , 1 ) ) ) ~~> y ) ) |