Step |
Hyp |
Ref |
Expression |
1 |
|
tocycval.1 |
⊢ 𝐶 = ( toCyc ‘ 𝐷 ) |
2 |
|
tocycfv.d |
⊢ ( 𝜑 → 𝐷 ∈ 𝑉 ) |
3 |
|
tocycfv.w |
⊢ ( 𝜑 → 𝑊 ∈ Word 𝐷 ) |
4 |
|
tocycfv.1 |
⊢ ( 𝜑 → 𝑊 : dom 𝑊 –1-1→ 𝐷 ) |
5 |
|
cycpmfvlem.1 |
⊢ ( 𝜑 → 𝑁 ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
6 |
1 2 3 4
|
tocycfv |
⊢ ( 𝜑 → ( 𝐶 ‘ 𝑊 ) = ( ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) ∪ ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ) ) |
7 |
6
|
fveq1d |
⊢ ( 𝜑 → ( ( 𝐶 ‘ 𝑊 ) ‘ ( 𝑊 ‘ 𝑁 ) ) = ( ( ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) ∪ ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ) ‘ ( 𝑊 ‘ 𝑁 ) ) ) |
8 |
|
f1oi |
⊢ ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) : ( 𝐷 ∖ ran 𝑊 ) –1-1-onto→ ( 𝐷 ∖ ran 𝑊 ) |
9 |
|
f1ofn |
⊢ ( ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) : ( 𝐷 ∖ ran 𝑊 ) –1-1-onto→ ( 𝐷 ∖ ran 𝑊 ) → ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) Fn ( 𝐷 ∖ ran 𝑊 ) ) |
10 |
8 9
|
mp1i |
⊢ ( 𝜑 → ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) Fn ( 𝐷 ∖ ran 𝑊 ) ) |
11 |
|
1zzd |
⊢ ( 𝜑 → 1 ∈ ℤ ) |
12 |
|
cshwf |
⊢ ( ( 𝑊 ∈ Word 𝐷 ∧ 1 ∈ ℤ ) → ( 𝑊 cyclShift 1 ) : ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ⟶ 𝐷 ) |
13 |
3 11 12
|
syl2anc |
⊢ ( 𝜑 → ( 𝑊 cyclShift 1 ) : ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ⟶ 𝐷 ) |
14 |
13
|
ffnd |
⊢ ( 𝜑 → ( 𝑊 cyclShift 1 ) Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
15 |
|
df-f1 |
⊢ ( 𝑊 : dom 𝑊 –1-1→ 𝐷 ↔ ( 𝑊 : dom 𝑊 ⟶ 𝐷 ∧ Fun ◡ 𝑊 ) ) |
16 |
4 15
|
sylib |
⊢ ( 𝜑 → ( 𝑊 : dom 𝑊 ⟶ 𝐷 ∧ Fun ◡ 𝑊 ) ) |
17 |
16
|
simprd |
⊢ ( 𝜑 → Fun ◡ 𝑊 ) |
18 |
17
|
funfnd |
⊢ ( 𝜑 → ◡ 𝑊 Fn dom ◡ 𝑊 ) |
19 |
|
df-rn |
⊢ ran 𝑊 = dom ◡ 𝑊 |
20 |
19
|
fneq2i |
⊢ ( ◡ 𝑊 Fn ran 𝑊 ↔ ◡ 𝑊 Fn dom ◡ 𝑊 ) |
21 |
18 20
|
sylibr |
⊢ ( 𝜑 → ◡ 𝑊 Fn ran 𝑊 ) |
22 |
|
dfdm4 |
⊢ dom 𝑊 = ran ◡ 𝑊 |
23 |
22
|
eqimss2i |
⊢ ran ◡ 𝑊 ⊆ dom 𝑊 |
24 |
|
wrdfn |
⊢ ( 𝑊 ∈ Word 𝐷 → 𝑊 Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
25 |
3 24
|
syl |
⊢ ( 𝜑 → 𝑊 Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
26 |
25
|
fndmd |
⊢ ( 𝜑 → dom 𝑊 = ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
27 |
23 26
|
sseqtrid |
⊢ ( 𝜑 → ran ◡ 𝑊 ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
28 |
|
fnco |
⊢ ( ( ( 𝑊 cyclShift 1 ) Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ∧ ◡ 𝑊 Fn ran 𝑊 ∧ ran ◡ 𝑊 ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) → ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) Fn ran 𝑊 ) |
29 |
14 21 27 28
|
syl3anc |
⊢ ( 𝜑 → ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) Fn ran 𝑊 ) |
30 |
|
disjdifr |
⊢ ( ( 𝐷 ∖ ran 𝑊 ) ∩ ran 𝑊 ) = ∅ |
31 |
30
|
a1i |
⊢ ( 𝜑 → ( ( 𝐷 ∖ ran 𝑊 ) ∩ ran 𝑊 ) = ∅ ) |
32 |
|
fnfvelrn |
⊢ ( ( 𝑊 Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ∧ 𝑁 ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) → ( 𝑊 ‘ 𝑁 ) ∈ ran 𝑊 ) |
33 |
25 5 32
|
syl2anc |
⊢ ( 𝜑 → ( 𝑊 ‘ 𝑁 ) ∈ ran 𝑊 ) |
34 |
|
fvun2 |
⊢ ( ( ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) Fn ( 𝐷 ∖ ran 𝑊 ) ∧ ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) Fn ran 𝑊 ∧ ( ( ( 𝐷 ∖ ran 𝑊 ) ∩ ran 𝑊 ) = ∅ ∧ ( 𝑊 ‘ 𝑁 ) ∈ ran 𝑊 ) ) → ( ( ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) ∪ ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ) ‘ ( 𝑊 ‘ 𝑁 ) ) = ( ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ‘ ( 𝑊 ‘ 𝑁 ) ) ) |
35 |
10 29 31 33 34
|
syl112anc |
⊢ ( 𝜑 → ( ( ( I ↾ ( 𝐷 ∖ ran 𝑊 ) ) ∪ ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ) ‘ ( 𝑊 ‘ 𝑁 ) ) = ( ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ‘ ( 𝑊 ‘ 𝑁 ) ) ) |
36 |
7 35
|
eqtrd |
⊢ ( 𝜑 → ( ( 𝐶 ‘ 𝑊 ) ‘ ( 𝑊 ‘ 𝑁 ) ) = ( ( ( 𝑊 cyclShift 1 ) ∘ ◡ 𝑊 ) ‘ ( 𝑊 ‘ 𝑁 ) ) ) |