Step |
Hyp |
Ref |
Expression |
1 |
|
fargshift.g |
|- G = ( x e. ( 0 ..^ ( # ` F ) ) |-> ( F ` ( x + 1 ) ) ) |
2 |
|
ffn |
|- ( F : ( 1 ... N ) --> dom E -> F Fn ( 1 ... N ) ) |
3 |
|
fseq1hash |
|- ( ( N e. NN0 /\ F Fn ( 1 ... N ) ) -> ( # ` F ) = N ) |
4 |
|
oveq2 |
|- ( N = ( # ` F ) -> ( 0 ..^ N ) = ( 0 ..^ ( # ` F ) ) ) |
5 |
4
|
eqcoms |
|- ( ( # ` F ) = N -> ( 0 ..^ N ) = ( 0 ..^ ( # ` F ) ) ) |
6 |
5
|
eleq2d |
|- ( ( # ` F ) = N -> ( X e. ( 0 ..^ N ) <-> X e. ( 0 ..^ ( # ` F ) ) ) ) |
7 |
6
|
biimpd |
|- ( ( # ` F ) = N -> ( X e. ( 0 ..^ N ) -> X e. ( 0 ..^ ( # ` F ) ) ) ) |
8 |
3 7
|
syl |
|- ( ( N e. NN0 /\ F Fn ( 1 ... N ) ) -> ( X e. ( 0 ..^ N ) -> X e. ( 0 ..^ ( # ` F ) ) ) ) |
9 |
2 8
|
sylan2 |
|- ( ( N e. NN0 /\ F : ( 1 ... N ) --> dom E ) -> ( X e. ( 0 ..^ N ) -> X e. ( 0 ..^ ( # ` F ) ) ) ) |
10 |
9
|
imp |
|- ( ( ( N e. NN0 /\ F : ( 1 ... N ) --> dom E ) /\ X e. ( 0 ..^ N ) ) -> X e. ( 0 ..^ ( # ` F ) ) ) |
11 |
|
fvex |
|- ( F ` ( X + 1 ) ) e. _V |
12 |
|
fvoveq1 |
|- ( x = X -> ( F ` ( x + 1 ) ) = ( F ` ( X + 1 ) ) ) |
13 |
12 1
|
fvmptg |
|- ( ( X e. ( 0 ..^ ( # ` F ) ) /\ ( F ` ( X + 1 ) ) e. _V ) -> ( G ` X ) = ( F ` ( X + 1 ) ) ) |
14 |
10 11 13
|
sylancl |
|- ( ( ( N e. NN0 /\ F : ( 1 ... N ) --> dom E ) /\ X e. ( 0 ..^ N ) ) -> ( G ` X ) = ( F ` ( X + 1 ) ) ) |
15 |
14
|
ex |
|- ( ( N e. NN0 /\ F : ( 1 ... N ) --> dom E ) -> ( X e. ( 0 ..^ N ) -> ( G ` X ) = ( F ` ( X + 1 ) ) ) ) |