Step |
Hyp |
Ref |
Expression |
1 |
|
fargshift.g |
⊢ 𝐺 = ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ↦ ( 𝐹 ‘ ( 𝑥 + 1 ) ) ) |
2 |
|
ffn |
⊢ ( 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 → 𝐹 Fn ( 1 ... 𝑁 ) ) |
3 |
|
fseq1hash |
⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 Fn ( 1 ... 𝑁 ) ) → ( ♯ ‘ 𝐹 ) = 𝑁 ) |
4 |
|
oveq2 |
⊢ ( 𝑁 = ( ♯ ‘ 𝐹 ) → ( 0 ..^ 𝑁 ) = ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) |
5 |
4
|
eqcoms |
⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( 0 ..^ 𝑁 ) = ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) |
6 |
5
|
eleq2d |
⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( 𝑋 ∈ ( 0 ..^ 𝑁 ) ↔ 𝑋 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) |
7 |
6
|
biimpd |
⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( 𝑋 ∈ ( 0 ..^ 𝑁 ) → 𝑋 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) |
8 |
3 7
|
syl |
⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 Fn ( 1 ... 𝑁 ) ) → ( 𝑋 ∈ ( 0 ..^ 𝑁 ) → 𝑋 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) |
9 |
2 8
|
sylan2 |
⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 ) → ( 𝑋 ∈ ( 0 ..^ 𝑁 ) → 𝑋 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) |
10 |
9
|
imp |
⊢ ( ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 ) ∧ 𝑋 ∈ ( 0 ..^ 𝑁 ) ) → 𝑋 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) |
11 |
|
fvex |
⊢ ( 𝐹 ‘ ( 𝑋 + 1 ) ) ∈ V |
12 |
|
fvoveq1 |
⊢ ( 𝑥 = 𝑋 → ( 𝐹 ‘ ( 𝑥 + 1 ) ) = ( 𝐹 ‘ ( 𝑋 + 1 ) ) ) |
13 |
12 1
|
fvmptg |
⊢ ( ( 𝑋 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ ( 𝐹 ‘ ( 𝑋 + 1 ) ) ∈ V ) → ( 𝐺 ‘ 𝑋 ) = ( 𝐹 ‘ ( 𝑋 + 1 ) ) ) |
14 |
10 11 13
|
sylancl |
⊢ ( ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 ) ∧ 𝑋 ∈ ( 0 ..^ 𝑁 ) ) → ( 𝐺 ‘ 𝑋 ) = ( 𝐹 ‘ ( 𝑋 + 1 ) ) ) |
15 |
14
|
ex |
⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 ) → ( 𝑋 ∈ ( 0 ..^ 𝑁 ) → ( 𝐺 ‘ 𝑋 ) = ( 𝐹 ‘ ( 𝑋 + 1 ) ) ) ) |