This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A lower bound for the factorial function. (Contributed by NM, 19-Dec-2005)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | faclbnd3 | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elnn0 | |- ( M e. NN0 <-> ( M e. NN \/ M = 0 ) ) |
|
| 2 | nnre | |- ( M e. NN -> M e. RR ) |
|
| 3 | 2 | adantr | |- ( ( M e. NN /\ N e. NN0 ) -> M e. RR ) |
| 4 | nnge1 | |- ( M e. NN -> 1 <_ M ) |
|
| 5 | 4 | adantr | |- ( ( M e. NN /\ N e. NN0 ) -> 1 <_ M ) |
| 6 | nn0z | |- ( N e. NN0 -> N e. ZZ ) |
|
| 7 | 6 | adantl | |- ( ( M e. NN /\ N e. NN0 ) -> N e. ZZ ) |
| 8 | uzid | |- ( N e. ZZ -> N e. ( ZZ>= ` N ) ) |
|
| 9 | peano2uz | |- ( N e. ( ZZ>= ` N ) -> ( N + 1 ) e. ( ZZ>= ` N ) ) |
|
| 10 | 7 8 9 | 3syl | |- ( ( M e. NN /\ N e. NN0 ) -> ( N + 1 ) e. ( ZZ>= ` N ) ) |
| 11 | 3 5 10 | leexp2ad | |- ( ( M e. NN /\ N e. NN0 ) -> ( M ^ N ) <_ ( M ^ ( N + 1 ) ) ) |
| 12 | nnnn0 | |- ( M e. NN -> M e. NN0 ) |
|
| 13 | faclbnd | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |
|
| 14 | 12 13 | sylan | |- ( ( M e. NN /\ N e. NN0 ) -> ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |
| 15 | nn0re | |- ( M e. NN0 -> M e. RR ) |
|
| 16 | reexpcl | |- ( ( M e. RR /\ N e. NN0 ) -> ( M ^ N ) e. RR ) |
|
| 17 | 15 16 | sylan | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ N ) e. RR ) |
| 18 | peano2nn0 | |- ( N e. NN0 -> ( N + 1 ) e. NN0 ) |
|
| 19 | reexpcl | |- ( ( M e. RR /\ ( N + 1 ) e. NN0 ) -> ( M ^ ( N + 1 ) ) e. RR ) |
|
| 20 | 15 18 19 | syl2an | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ ( N + 1 ) ) e. RR ) |
| 21 | reexpcl | |- ( ( M e. RR /\ M e. NN0 ) -> ( M ^ M ) e. RR ) |
|
| 22 | 15 21 | mpancom | |- ( M e. NN0 -> ( M ^ M ) e. RR ) |
| 23 | faccl | |- ( N e. NN0 -> ( ! ` N ) e. NN ) |
|
| 24 | 23 | nnred | |- ( N e. NN0 -> ( ! ` N ) e. RR ) |
| 25 | remulcl | |- ( ( ( M ^ M ) e. RR /\ ( ! ` N ) e. RR ) -> ( ( M ^ M ) x. ( ! ` N ) ) e. RR ) |
|
| 26 | 22 24 25 | syl2an | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( ( M ^ M ) x. ( ! ` N ) ) e. RR ) |
| 27 | letr | |- ( ( ( M ^ N ) e. RR /\ ( M ^ ( N + 1 ) ) e. RR /\ ( ( M ^ M ) x. ( ! ` N ) ) e. RR ) -> ( ( ( M ^ N ) <_ ( M ^ ( N + 1 ) ) /\ ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) ) |
|
| 28 | 17 20 26 27 | syl3anc | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( ( ( M ^ N ) <_ ( M ^ ( N + 1 ) ) /\ ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) ) |
| 29 | 12 28 | sylan | |- ( ( M e. NN /\ N e. NN0 ) -> ( ( ( M ^ N ) <_ ( M ^ ( N + 1 ) ) /\ ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) ) |
| 30 | 11 14 29 | mp2and | |- ( ( M e. NN /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |
| 31 | elnn0 | |- ( N e. NN0 <-> ( N e. NN \/ N = 0 ) ) |
|
| 32 | 0exp | |- ( N e. NN -> ( 0 ^ N ) = 0 ) |
|
| 33 | 0le1 | |- 0 <_ 1 |
|
| 34 | 32 33 | eqbrtrdi | |- ( N e. NN -> ( 0 ^ N ) <_ 1 ) |
| 35 | oveq2 | |- ( N = 0 -> ( 0 ^ N ) = ( 0 ^ 0 ) ) |
|
| 36 | 0exp0e1 | |- ( 0 ^ 0 ) = 1 |
|
| 37 | 1le1 | |- 1 <_ 1 |
|
| 38 | 36 37 | eqbrtri | |- ( 0 ^ 0 ) <_ 1 |
| 39 | 35 38 | eqbrtrdi | |- ( N = 0 -> ( 0 ^ N ) <_ 1 ) |
| 40 | 34 39 | jaoi | |- ( ( N e. NN \/ N = 0 ) -> ( 0 ^ N ) <_ 1 ) |
| 41 | 31 40 | sylbi | |- ( N e. NN0 -> ( 0 ^ N ) <_ 1 ) |
| 42 | 1nn | |- 1 e. NN |
|
| 43 | nnmulcl | |- ( ( 1 e. NN /\ ( ! ` N ) e. NN ) -> ( 1 x. ( ! ` N ) ) e. NN ) |
|
| 44 | 42 23 43 | sylancr | |- ( N e. NN0 -> ( 1 x. ( ! ` N ) ) e. NN ) |
| 45 | 44 | nnge1d | |- ( N e. NN0 -> 1 <_ ( 1 x. ( ! ` N ) ) ) |
| 46 | 0re | |- 0 e. RR |
|
| 47 | reexpcl | |- ( ( 0 e. RR /\ N e. NN0 ) -> ( 0 ^ N ) e. RR ) |
|
| 48 | 46 47 | mpan | |- ( N e. NN0 -> ( 0 ^ N ) e. RR ) |
| 49 | 1re | |- 1 e. RR |
|
| 50 | remulcl | |- ( ( 1 e. RR /\ ( ! ` N ) e. RR ) -> ( 1 x. ( ! ` N ) ) e. RR ) |
|
| 51 | 49 24 50 | sylancr | |- ( N e. NN0 -> ( 1 x. ( ! ` N ) ) e. RR ) |
| 52 | letr | |- ( ( ( 0 ^ N ) e. RR /\ 1 e. RR /\ ( 1 x. ( ! ` N ) ) e. RR ) -> ( ( ( 0 ^ N ) <_ 1 /\ 1 <_ ( 1 x. ( ! ` N ) ) ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) |
|
| 53 | 49 52 | mp3an2 | |- ( ( ( 0 ^ N ) e. RR /\ ( 1 x. ( ! ` N ) ) e. RR ) -> ( ( ( 0 ^ N ) <_ 1 /\ 1 <_ ( 1 x. ( ! ` N ) ) ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) |
| 54 | 48 51 53 | syl2anc | |- ( N e. NN0 -> ( ( ( 0 ^ N ) <_ 1 /\ 1 <_ ( 1 x. ( ! ` N ) ) ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) |
| 55 | 41 45 54 | mp2and | |- ( N e. NN0 -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) |
| 56 | 55 | adantl | |- ( ( M = 0 /\ N e. NN0 ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) |
| 57 | oveq1 | |- ( M = 0 -> ( M ^ N ) = ( 0 ^ N ) ) |
|
| 58 | oveq12 | |- ( ( M = 0 /\ M = 0 ) -> ( M ^ M ) = ( 0 ^ 0 ) ) |
|
| 59 | 58 | anidms | |- ( M = 0 -> ( M ^ M ) = ( 0 ^ 0 ) ) |
| 60 | 59 36 | eqtrdi | |- ( M = 0 -> ( M ^ M ) = 1 ) |
| 61 | 60 | oveq1d | |- ( M = 0 -> ( ( M ^ M ) x. ( ! ` N ) ) = ( 1 x. ( ! ` N ) ) ) |
| 62 | 57 61 | breq12d | |- ( M = 0 -> ( ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) <-> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) |
| 63 | 62 | adantr | |- ( ( M = 0 /\ N e. NN0 ) -> ( ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) <-> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) |
| 64 | 56 63 | mpbird | |- ( ( M = 0 /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |
| 65 | 30 64 | jaoian | |- ( ( ( M e. NN \/ M = 0 ) /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |
| 66 | 1 65 | sylanb | |- ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |