Step |
Hyp |
Ref |
Expression |
1 |
|
df-csh |
⊢ cyclShift = ( 𝑤 ∈ { 𝑓 ∣ ∃ 𝑙 ∈ ℕ0 𝑓 Fn ( 0 ..^ 𝑙 ) } , 𝑛 ∈ ℤ ↦ if ( 𝑤 = ∅ , ∅ , ( ( 𝑤 substr 〈 ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) , ( ♯ ‘ 𝑤 ) 〉 ) ++ ( 𝑤 prefix ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) ) ) ) ) |
2 |
1
|
a1i |
⊢ ( 𝑁 ∈ ℤ → cyclShift = ( 𝑤 ∈ { 𝑓 ∣ ∃ 𝑙 ∈ ℕ0 𝑓 Fn ( 0 ..^ 𝑙 ) } , 𝑛 ∈ ℤ ↦ if ( 𝑤 = ∅ , ∅ , ( ( 𝑤 substr 〈 ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) , ( ♯ ‘ 𝑤 ) 〉 ) ++ ( 𝑤 prefix ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) ) ) ) ) ) |
3 |
|
iftrue |
⊢ ( 𝑤 = ∅ → if ( 𝑤 = ∅ , ∅ , ( ( 𝑤 substr 〈 ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) , ( ♯ ‘ 𝑤 ) 〉 ) ++ ( 𝑤 prefix ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) ) ) ) = ∅ ) |
4 |
3
|
ad2antrl |
⊢ ( ( 𝑁 ∈ ℤ ∧ ( 𝑤 = ∅ ∧ 𝑛 = 𝑁 ) ) → if ( 𝑤 = ∅ , ∅ , ( ( 𝑤 substr 〈 ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) , ( ♯ ‘ 𝑤 ) 〉 ) ++ ( 𝑤 prefix ( 𝑛 mod ( ♯ ‘ 𝑤 ) ) ) ) ) = ∅ ) |
5 |
|
0nn0 |
⊢ 0 ∈ ℕ0 |
6 |
|
f0 |
⊢ ∅ : ∅ ⟶ V |
7 |
|
ffn |
⊢ ( ∅ : ∅ ⟶ V → ∅ Fn ∅ ) |
8 |
|
fzo0 |
⊢ ( 0 ..^ 0 ) = ∅ |
9 |
8
|
eqcomi |
⊢ ∅ = ( 0 ..^ 0 ) |
10 |
9
|
fneq2i |
⊢ ( ∅ Fn ∅ ↔ ∅ Fn ( 0 ..^ 0 ) ) |
11 |
7 10
|
sylib |
⊢ ( ∅ : ∅ ⟶ V → ∅ Fn ( 0 ..^ 0 ) ) |
12 |
6 11
|
ax-mp |
⊢ ∅ Fn ( 0 ..^ 0 ) |
13 |
|
id |
⊢ ( 0 ∈ ℕ0 → 0 ∈ ℕ0 ) |
14 |
|
oveq2 |
⊢ ( 𝑙 = 0 → ( 0 ..^ 𝑙 ) = ( 0 ..^ 0 ) ) |
15 |
14
|
fneq2d |
⊢ ( 𝑙 = 0 → ( ∅ Fn ( 0 ..^ 𝑙 ) ↔ ∅ Fn ( 0 ..^ 0 ) ) ) |
16 |
15
|
adantl |
⊢ ( ( 0 ∈ ℕ0 ∧ 𝑙 = 0 ) → ( ∅ Fn ( 0 ..^ 𝑙 ) ↔ ∅ Fn ( 0 ..^ 0 ) ) ) |
17 |
13 16
|
rspcedv |
⊢ ( 0 ∈ ℕ0 → ( ∅ Fn ( 0 ..^ 0 ) → ∃ 𝑙 ∈ ℕ0 ∅ Fn ( 0 ..^ 𝑙 ) ) ) |
18 |
5 12 17
|
mp2 |
⊢ ∃ 𝑙 ∈ ℕ0 ∅ Fn ( 0 ..^ 𝑙 ) |
19 |
|
0ex |
⊢ ∅ ∈ V |
20 |
|
fneq1 |
⊢ ( 𝑓 = ∅ → ( 𝑓 Fn ( 0 ..^ 𝑙 ) ↔ ∅ Fn ( 0 ..^ 𝑙 ) ) ) |
21 |
20
|
rexbidv |
⊢ ( 𝑓 = ∅ → ( ∃ 𝑙 ∈ ℕ0 𝑓 Fn ( 0 ..^ 𝑙 ) ↔ ∃ 𝑙 ∈ ℕ0 ∅ Fn ( 0 ..^ 𝑙 ) ) ) |
22 |
19 21
|
elab |
⊢ ( ∅ ∈ { 𝑓 ∣ ∃ 𝑙 ∈ ℕ0 𝑓 Fn ( 0 ..^ 𝑙 ) } ↔ ∃ 𝑙 ∈ ℕ0 ∅ Fn ( 0 ..^ 𝑙 ) ) |
23 |
18 22
|
mpbir |
⊢ ∅ ∈ { 𝑓 ∣ ∃ 𝑙 ∈ ℕ0 𝑓 Fn ( 0 ..^ 𝑙 ) } |
24 |
23
|
a1i |
⊢ ( 𝑁 ∈ ℤ → ∅ ∈ { 𝑓 ∣ ∃ 𝑙 ∈ ℕ0 𝑓 Fn ( 0 ..^ 𝑙 ) } ) |
25 |
|
id |
⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℤ ) |
26 |
19
|
a1i |
⊢ ( 𝑁 ∈ ℤ → ∅ ∈ V ) |
27 |
2 4 24 25 26
|
ovmpod |
⊢ ( 𝑁 ∈ ℤ → ( ∅ cyclShift 𝑁 ) = ∅ ) |
28 |
|
cshnz |
⊢ ( ¬ 𝑁 ∈ ℤ → ( ∅ cyclShift 𝑁 ) = ∅ ) |
29 |
27 28
|
pm2.61i |
⊢ ( ∅ cyclShift 𝑁 ) = ∅ |