| Step |
Hyp |
Ref |
Expression |
| 1 |
|
bccbc.c |
|- ( ph -> N e. NN0 ) |
| 2 |
|
bccbc.k |
|- ( ph -> K e. NN0 ) |
| 3 |
1
|
nn0cnd |
|- ( ph -> N e. CC ) |
| 4 |
3 2
|
bccval |
|- ( ph -> ( N _Cc K ) = ( ( N FallFac K ) / ( ! ` K ) ) ) |
| 5 |
4
|
adantr |
|- ( ( ph /\ K e. ( 0 ... N ) ) -> ( N _Cc K ) = ( ( N FallFac K ) / ( ! ` K ) ) ) |
| 6 |
|
bcfallfac |
|- ( K e. ( 0 ... N ) -> ( N _C K ) = ( ( N FallFac K ) / ( ! ` K ) ) ) |
| 7 |
6
|
adantl |
|- ( ( ph /\ K e. ( 0 ... N ) ) -> ( N _C K ) = ( ( N FallFac K ) / ( ! ` K ) ) ) |
| 8 |
5 7
|
eqtr4d |
|- ( ( ph /\ K e. ( 0 ... N ) ) -> ( N _Cc K ) = ( N _C K ) ) |
| 9 |
|
nn0split |
|- ( N e. NN0 -> NN0 = ( ( 0 ... N ) u. ( ZZ>= ` ( N + 1 ) ) ) ) |
| 10 |
1 9
|
syl |
|- ( ph -> NN0 = ( ( 0 ... N ) u. ( ZZ>= ` ( N + 1 ) ) ) ) |
| 11 |
2 10
|
eleqtrd |
|- ( ph -> K e. ( ( 0 ... N ) u. ( ZZ>= ` ( N + 1 ) ) ) ) |
| 12 |
|
elun |
|- ( K e. ( ( 0 ... N ) u. ( ZZ>= ` ( N + 1 ) ) ) <-> ( K e. ( 0 ... N ) \/ K e. ( ZZ>= ` ( N + 1 ) ) ) ) |
| 13 |
11 12
|
sylib |
|- ( ph -> ( K e. ( 0 ... N ) \/ K e. ( ZZ>= ` ( N + 1 ) ) ) ) |
| 14 |
13
|
orcanai |
|- ( ( ph /\ -. K e. ( 0 ... N ) ) -> K e. ( ZZ>= ` ( N + 1 ) ) ) |
| 15 |
|
eluzle |
|- ( K e. ( ZZ>= ` ( N + 1 ) ) -> ( N + 1 ) <_ K ) |
| 16 |
15
|
adantl |
|- ( ( ph /\ K e. ( ZZ>= ` ( N + 1 ) ) ) -> ( N + 1 ) <_ K ) |
| 17 |
1
|
nn0zd |
|- ( ph -> N e. ZZ ) |
| 18 |
2
|
nn0zd |
|- ( ph -> K e. ZZ ) |
| 19 |
|
zltp1le |
|- ( ( N e. ZZ /\ K e. ZZ ) -> ( N < K <-> ( N + 1 ) <_ K ) ) |
| 20 |
17 18 19
|
syl2anc |
|- ( ph -> ( N < K <-> ( N + 1 ) <_ K ) ) |
| 21 |
20
|
adantr |
|- ( ( ph /\ K e. ( ZZ>= ` ( N + 1 ) ) ) -> ( N < K <-> ( N + 1 ) <_ K ) ) |
| 22 |
16 21
|
mpbird |
|- ( ( ph /\ K e. ( ZZ>= ` ( N + 1 ) ) ) -> N < K ) |
| 23 |
14 22
|
syldan |
|- ( ( ph /\ -. K e. ( 0 ... N ) ) -> N < K ) |
| 24 |
1
|
nn0ge0d |
|- ( ph -> 0 <_ N ) |
| 25 |
|
0zd |
|- ( ph -> 0 e. ZZ ) |
| 26 |
|
elfzo |
|- ( ( N e. ZZ /\ 0 e. ZZ /\ K e. ZZ ) -> ( N e. ( 0 ..^ K ) <-> ( 0 <_ N /\ N < K ) ) ) |
| 27 |
17 25 18 26
|
syl3anc |
|- ( ph -> ( N e. ( 0 ..^ K ) <-> ( 0 <_ N /\ N < K ) ) ) |
| 28 |
27
|
biimpar |
|- ( ( ph /\ ( 0 <_ N /\ N < K ) ) -> N e. ( 0 ..^ K ) ) |
| 29 |
|
fzoval |
|- ( K e. ZZ -> ( 0 ..^ K ) = ( 0 ... ( K - 1 ) ) ) |
| 30 |
18 29
|
syl |
|- ( ph -> ( 0 ..^ K ) = ( 0 ... ( K - 1 ) ) ) |
| 31 |
30
|
eleq2d |
|- ( ph -> ( N e. ( 0 ..^ K ) <-> N e. ( 0 ... ( K - 1 ) ) ) ) |
| 32 |
31
|
biimpa |
|- ( ( ph /\ N e. ( 0 ..^ K ) ) -> N e. ( 0 ... ( K - 1 ) ) ) |
| 33 |
3 2
|
bcc0 |
|- ( ph -> ( ( N _Cc K ) = 0 <-> N e. ( 0 ... ( K - 1 ) ) ) ) |
| 34 |
33
|
biimpar |
|- ( ( ph /\ N e. ( 0 ... ( K - 1 ) ) ) -> ( N _Cc K ) = 0 ) |
| 35 |
32 34
|
syldan |
|- ( ( ph /\ N e. ( 0 ..^ K ) ) -> ( N _Cc K ) = 0 ) |
| 36 |
28 35
|
syldan |
|- ( ( ph /\ ( 0 <_ N /\ N < K ) ) -> ( N _Cc K ) = 0 ) |
| 37 |
24 36
|
sylanr1 |
|- ( ( ph /\ ( ph /\ N < K ) ) -> ( N _Cc K ) = 0 ) |
| 38 |
37
|
anabss5 |
|- ( ( ph /\ N < K ) -> ( N _Cc K ) = 0 ) |
| 39 |
23 38
|
syldan |
|- ( ( ph /\ -. K e. ( 0 ... N ) ) -> ( N _Cc K ) = 0 ) |
| 40 |
1 18
|
jca |
|- ( ph -> ( N e. NN0 /\ K e. ZZ ) ) |
| 41 |
|
bcval3 |
|- ( ( N e. NN0 /\ K e. ZZ /\ -. K e. ( 0 ... N ) ) -> ( N _C K ) = 0 ) |
| 42 |
41
|
3expa |
|- ( ( ( N e. NN0 /\ K e. ZZ ) /\ -. K e. ( 0 ... N ) ) -> ( N _C K ) = 0 ) |
| 43 |
40 42
|
sylan |
|- ( ( ph /\ -. K e. ( 0 ... N ) ) -> ( N _C K ) = 0 ) |
| 44 |
39 43
|
eqtr4d |
|- ( ( ph /\ -. K e. ( 0 ... N ) ) -> ( N _Cc K ) = ( N _C K ) ) |
| 45 |
8 44
|
pm2.61dan |
|- ( ph -> ( N _Cc K ) = ( N _C K ) ) |