| Step |
Hyp |
Ref |
Expression |
| 1 |
|
elnn0 |
|- ( N e. NN0 <-> ( N e. NN \/ N = 0 ) ) |
| 2 |
|
peano2nn |
|- ( N e. NN -> ( N + 1 ) e. NN ) |
| 3 |
|
facnn |
|- ( ( N + 1 ) e. NN -> ( ! ` ( N + 1 ) ) = ( seq 1 ( x. , _I ) ` ( N + 1 ) ) ) |
| 4 |
2 3
|
syl |
|- ( N e. NN -> ( ! ` ( N + 1 ) ) = ( seq 1 ( x. , _I ) ` ( N + 1 ) ) ) |
| 5 |
|
ovex |
|- ( N + 1 ) e. _V |
| 6 |
|
fvi |
|- ( ( N + 1 ) e. _V -> ( _I ` ( N + 1 ) ) = ( N + 1 ) ) |
| 7 |
5 6
|
ax-mp |
|- ( _I ` ( N + 1 ) ) = ( N + 1 ) |
| 8 |
7
|
oveq2i |
|- ( ( seq 1 ( x. , _I ) ` N ) x. ( _I ` ( N + 1 ) ) ) = ( ( seq 1 ( x. , _I ) ` N ) x. ( N + 1 ) ) |
| 9 |
|
seqp1 |
|- ( N e. ( ZZ>= ` 1 ) -> ( seq 1 ( x. , _I ) ` ( N + 1 ) ) = ( ( seq 1 ( x. , _I ) ` N ) x. ( _I ` ( N + 1 ) ) ) ) |
| 10 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
| 11 |
9 10
|
eleq2s |
|- ( N e. NN -> ( seq 1 ( x. , _I ) ` ( N + 1 ) ) = ( ( seq 1 ( x. , _I ) ` N ) x. ( _I ` ( N + 1 ) ) ) ) |
| 12 |
|
facnn |
|- ( N e. NN -> ( ! ` N ) = ( seq 1 ( x. , _I ) ` N ) ) |
| 13 |
12
|
oveq1d |
|- ( N e. NN -> ( ( ! ` N ) x. ( N + 1 ) ) = ( ( seq 1 ( x. , _I ) ` N ) x. ( N + 1 ) ) ) |
| 14 |
8 11 13
|
3eqtr4a |
|- ( N e. NN -> ( seq 1 ( x. , _I ) ` ( N + 1 ) ) = ( ( ! ` N ) x. ( N + 1 ) ) ) |
| 15 |
4 14
|
eqtrd |
|- ( N e. NN -> ( ! ` ( N + 1 ) ) = ( ( ! ` N ) x. ( N + 1 ) ) ) |
| 16 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
| 17 |
16
|
fveq2i |
|- ( ! ` ( 0 + 1 ) ) = ( ! ` 1 ) |
| 18 |
|
fac1 |
|- ( ! ` 1 ) = 1 |
| 19 |
17 18
|
eqtri |
|- ( ! ` ( 0 + 1 ) ) = 1 |
| 20 |
|
fvoveq1 |
|- ( N = 0 -> ( ! ` ( N + 1 ) ) = ( ! ` ( 0 + 1 ) ) ) |
| 21 |
|
fveq2 |
|- ( N = 0 -> ( ! ` N ) = ( ! ` 0 ) ) |
| 22 |
|
oveq1 |
|- ( N = 0 -> ( N + 1 ) = ( 0 + 1 ) ) |
| 23 |
21 22
|
oveq12d |
|- ( N = 0 -> ( ( ! ` N ) x. ( N + 1 ) ) = ( ( ! ` 0 ) x. ( 0 + 1 ) ) ) |
| 24 |
|
fac0 |
|- ( ! ` 0 ) = 1 |
| 25 |
24 16
|
oveq12i |
|- ( ( ! ` 0 ) x. ( 0 + 1 ) ) = ( 1 x. 1 ) |
| 26 |
|
1t1e1 |
|- ( 1 x. 1 ) = 1 |
| 27 |
25 26
|
eqtri |
|- ( ( ! ` 0 ) x. ( 0 + 1 ) ) = 1 |
| 28 |
23 27
|
eqtrdi |
|- ( N = 0 -> ( ( ! ` N ) x. ( N + 1 ) ) = 1 ) |
| 29 |
19 20 28
|
3eqtr4a |
|- ( N = 0 -> ( ! ` ( N + 1 ) ) = ( ( ! ` N ) x. ( N + 1 ) ) ) |
| 30 |
15 29
|
jaoi |
|- ( ( N e. NN \/ N = 0 ) -> ( ! ` ( N + 1 ) ) = ( ( ! ` N ) x. ( N + 1 ) ) ) |
| 31 |
1 30
|
sylbi |
|- ( N e. NN0 -> ( ! ` ( N + 1 ) ) = ( ( ! ` N ) x. ( N + 1 ) ) ) |