| Step |
Hyp |
Ref |
Expression |
| 1 |
|
elfznn0 |
|- ( K e. ( 0 ... N ) -> K e. NN0 ) |
| 2 |
|
elfznn0 |
|- ( M e. ( 0 ... N ) -> M e. NN0 ) |
| 3 |
|
nn0z |
|- ( M e. NN0 -> M e. ZZ ) |
| 4 |
|
nn0z |
|- ( K e. NN0 -> K e. ZZ ) |
| 5 |
|
zsubcl |
|- ( ( M e. ZZ /\ K e. ZZ ) -> ( M - K ) e. ZZ ) |
| 6 |
3 4 5
|
syl2anr |
|- ( ( K e. NN0 /\ M e. NN0 ) -> ( M - K ) e. ZZ ) |
| 7 |
6
|
adantr |
|- ( ( ( K e. NN0 /\ M e. NN0 ) /\ K <_ M ) -> ( M - K ) e. ZZ ) |
| 8 |
|
nn0re |
|- ( M e. NN0 -> M e. RR ) |
| 9 |
|
nn0re |
|- ( K e. NN0 -> K e. RR ) |
| 10 |
|
subge0 |
|- ( ( M e. RR /\ K e. RR ) -> ( 0 <_ ( M - K ) <-> K <_ M ) ) |
| 11 |
8 9 10
|
syl2anr |
|- ( ( K e. NN0 /\ M e. NN0 ) -> ( 0 <_ ( M - K ) <-> K <_ M ) ) |
| 12 |
11
|
biimpar |
|- ( ( ( K e. NN0 /\ M e. NN0 ) /\ K <_ M ) -> 0 <_ ( M - K ) ) |
| 13 |
7 12
|
jca |
|- ( ( ( K e. NN0 /\ M e. NN0 ) /\ K <_ M ) -> ( ( M - K ) e. ZZ /\ 0 <_ ( M - K ) ) ) |
| 14 |
13
|
exp31 |
|- ( K e. NN0 -> ( M e. NN0 -> ( K <_ M -> ( ( M - K ) e. ZZ /\ 0 <_ ( M - K ) ) ) ) ) |
| 15 |
1 2 14
|
syl2im |
|- ( K e. ( 0 ... N ) -> ( M e. ( 0 ... N ) -> ( K <_ M -> ( ( M - K ) e. ZZ /\ 0 <_ ( M - K ) ) ) ) ) |
| 16 |
15
|
3imp |
|- ( ( K e. ( 0 ... N ) /\ M e. ( 0 ... N ) /\ K <_ M ) -> ( ( M - K ) e. ZZ /\ 0 <_ ( M - K ) ) ) |
| 17 |
|
elnn0z |
|- ( ( M - K ) e. NN0 <-> ( ( M - K ) e. ZZ /\ 0 <_ ( M - K ) ) ) |
| 18 |
16 17
|
sylibr |
|- ( ( K e. ( 0 ... N ) /\ M e. ( 0 ... N ) /\ K <_ M ) -> ( M - K ) e. NN0 ) |
| 19 |
|
elfz3nn0 |
|- ( K e. ( 0 ... N ) -> N e. NN0 ) |
| 20 |
19
|
3ad2ant1 |
|- ( ( K e. ( 0 ... N ) /\ M e. ( 0 ... N ) /\ K <_ M ) -> N e. NN0 ) |
| 21 |
|
elfz2nn0 |
|- ( M e. ( 0 ... N ) <-> ( M e. NN0 /\ N e. NN0 /\ M <_ N ) ) |
| 22 |
8
|
3ad2ant1 |
|- ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) -> M e. RR ) |
| 23 |
|
resubcl |
|- ( ( M e. RR /\ K e. RR ) -> ( M - K ) e. RR ) |
| 24 |
22 9 23
|
syl2an |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> ( M - K ) e. RR ) |
| 25 |
22
|
adantr |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> M e. RR ) |
| 26 |
|
nn0re |
|- ( N e. NN0 -> N e. RR ) |
| 27 |
26
|
3ad2ant2 |
|- ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) -> N e. RR ) |
| 28 |
27
|
adantr |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> N e. RR ) |
| 29 |
|
nn0ge0 |
|- ( K e. NN0 -> 0 <_ K ) |
| 30 |
29
|
adantl |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> 0 <_ K ) |
| 31 |
|
subge02 |
|- ( ( M e. RR /\ K e. RR ) -> ( 0 <_ K <-> ( M - K ) <_ M ) ) |
| 32 |
22 9 31
|
syl2an |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> ( 0 <_ K <-> ( M - K ) <_ M ) ) |
| 33 |
30 32
|
mpbid |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> ( M - K ) <_ M ) |
| 34 |
|
simpl3 |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> M <_ N ) |
| 35 |
24 25 28 33 34
|
letrd |
|- ( ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) /\ K e. NN0 ) -> ( M - K ) <_ N ) |
| 36 |
35
|
ex |
|- ( ( M e. NN0 /\ N e. NN0 /\ M <_ N ) -> ( K e. NN0 -> ( M - K ) <_ N ) ) |
| 37 |
21 36
|
sylbi |
|- ( M e. ( 0 ... N ) -> ( K e. NN0 -> ( M - K ) <_ N ) ) |
| 38 |
1 37
|
syl5com |
|- ( K e. ( 0 ... N ) -> ( M e. ( 0 ... N ) -> ( M - K ) <_ N ) ) |
| 39 |
38
|
a1dd |
|- ( K e. ( 0 ... N ) -> ( M e. ( 0 ... N ) -> ( K <_ M -> ( M - K ) <_ N ) ) ) |
| 40 |
39
|
3imp |
|- ( ( K e. ( 0 ... N ) /\ M e. ( 0 ... N ) /\ K <_ M ) -> ( M - K ) <_ N ) |
| 41 |
|
elfz2nn0 |
|- ( ( M - K ) e. ( 0 ... N ) <-> ( ( M - K ) e. NN0 /\ N e. NN0 /\ ( M - K ) <_ N ) ) |
| 42 |
18 20 40 41
|
syl3anbrc |
|- ( ( K e. ( 0 ... N ) /\ M e. ( 0 ... N ) /\ K <_ M ) -> ( M - K ) e. ( 0 ... N ) ) |