Step | Hyp | Ref
| Expression |
1 | | tocyc01.1 |
. . . . 5
⊢ 𝐶 = (toCyc‘𝐷) |
2 | | simpl 486 |
. . . . 5
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝐷 ∈ 𝑉) |
3 | | simpr 488 |
. . . . . . . . 9
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) |
4 | 3 | elin1d 4112 |
. . . . . . . 8
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝑊 ∈ dom 𝐶) |
5 | | eqid 2737 |
. . . . . . . . . 10
⊢
(SymGrp‘𝐷) =
(SymGrp‘𝐷) |
6 | | eqid 2737 |
. . . . . . . . . 10
⊢
(Base‘(SymGrp‘𝐷)) = (Base‘(SymGrp‘𝐷)) |
7 | 1, 5, 6 | tocycf 31103 |
. . . . . . . . 9
⊢ (𝐷 ∈ 𝑉 → 𝐶:{𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}⟶(Base‘(SymGrp‘𝐷))) |
8 | | fdm 6554 |
. . . . . . . . 9
⊢ (𝐶:{𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}⟶(Base‘(SymGrp‘𝐷)) → dom 𝐶 = {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}) |
9 | 2, 7, 8 | 3syl 18 |
. . . . . . . 8
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → dom 𝐶 = {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}) |
10 | 4, 9 | eleqtrd 2840 |
. . . . . . 7
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝑊 ∈ {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}) |
11 | | id 22 |
. . . . . . . . 9
⊢ (𝑤 = 𝑊 → 𝑤 = 𝑊) |
12 | | dmeq 5772 |
. . . . . . . . 9
⊢ (𝑤 = 𝑊 → dom 𝑤 = dom 𝑊) |
13 | | eqidd 2738 |
. . . . . . . . 9
⊢ (𝑤 = 𝑊 → 𝐷 = 𝐷) |
14 | 11, 12, 13 | f1eq123d 6653 |
. . . . . . . 8
⊢ (𝑤 = 𝑊 → (𝑤:dom 𝑤–1-1→𝐷 ↔ 𝑊:dom 𝑊–1-1→𝐷)) |
15 | 14 | elrab 3602 |
. . . . . . 7
⊢ (𝑊 ∈ {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷} ↔ (𝑊 ∈ Word 𝐷 ∧ 𝑊:dom 𝑊–1-1→𝐷)) |
16 | 10, 15 | sylib 221 |
. . . . . 6
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → (𝑊 ∈ Word 𝐷 ∧ 𝑊:dom 𝑊–1-1→𝐷)) |
17 | 16 | simpld 498 |
. . . . 5
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝑊 ∈ Word 𝐷) |
18 | 16 | simprd 499 |
. . . . 5
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝑊:dom 𝑊–1-1→𝐷) |
19 | 1, 2, 17, 18 | tocycfv 31095 |
. . . 4
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → (𝐶‘𝑊) = (( I ↾ (𝐷 ∖ ran 𝑊)) ∪ ((𝑊 cyclShift 1) ∘ ◡𝑊))) |
20 | 19 | adantr 484 |
. . 3
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 0)
→ (𝐶‘𝑊) = (( I ↾ (𝐷 ∖ ran 𝑊)) ∪ ((𝑊 cyclShift 1) ∘ ◡𝑊))) |
21 | | hasheq0 13930 |
. . . . . 6
⊢ (𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1})) →
((♯‘𝑊) = 0
↔ 𝑊 =
∅)) |
22 | 3, 21 | syl 17 |
. . . . 5
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) →
((♯‘𝑊) = 0
↔ 𝑊 =
∅)) |
23 | 22 | biimpa 480 |
. . . 4
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 0)
→ 𝑊 =
∅) |
24 | | rneq 5805 |
. . . . . . . . . 10
⊢ (𝑊 = ∅ → ran 𝑊 = ran ∅) |
25 | | rn0 5795 |
. . . . . . . . . 10
⊢ ran
∅ = ∅ |
26 | 24, 25 | eqtrdi 2794 |
. . . . . . . . 9
⊢ (𝑊 = ∅ → ran 𝑊 = ∅) |
27 | 26 | difeq2d 4037 |
. . . . . . . 8
⊢ (𝑊 = ∅ → (𝐷 ∖ ran 𝑊) = (𝐷 ∖ ∅)) |
28 | | dif0 4287 |
. . . . . . . 8
⊢ (𝐷 ∖ ∅) = 𝐷 |
29 | 27, 28 | eqtrdi 2794 |
. . . . . . 7
⊢ (𝑊 = ∅ → (𝐷 ∖ ran 𝑊) = 𝐷) |
30 | 29 | reseq2d 5851 |
. . . . . 6
⊢ (𝑊 = ∅ → ( I ↾
(𝐷 ∖ ran 𝑊)) = ( I ↾ 𝐷)) |
31 | | cnveq 5742 |
. . . . . . . . 9
⊢ (𝑊 = ∅ → ◡𝑊 = ◡∅) |
32 | | cnv0 6004 |
. . . . . . . . 9
⊢ ◡∅ = ∅ |
33 | 31, 32 | eqtrdi 2794 |
. . . . . . . 8
⊢ (𝑊 = ∅ → ◡𝑊 = ∅) |
34 | 33 | coeq2d 5731 |
. . . . . . 7
⊢ (𝑊 = ∅ → ((𝑊 cyclShift 1) ∘ ◡𝑊) = ((𝑊 cyclShift 1) ∘
∅)) |
35 | | co02 6124 |
. . . . . . 7
⊢ ((𝑊 cyclShift 1) ∘ ∅) =
∅ |
36 | 34, 35 | eqtrdi 2794 |
. . . . . 6
⊢ (𝑊 = ∅ → ((𝑊 cyclShift 1) ∘ ◡𝑊) = ∅) |
37 | 30, 36 | uneq12d 4078 |
. . . . 5
⊢ (𝑊 = ∅ → (( I ↾
(𝐷 ∖ ran 𝑊)) ∪ ((𝑊 cyclShift 1) ∘ ◡𝑊)) = (( I ↾ 𝐷) ∪ ∅)) |
38 | | un0 4305 |
. . . . 5
⊢ (( I
↾ 𝐷) ∪ ∅) =
( I ↾ 𝐷) |
39 | 37, 38 | eqtrdi 2794 |
. . . 4
⊢ (𝑊 = ∅ → (( I ↾
(𝐷 ∖ ran 𝑊)) ∪ ((𝑊 cyclShift 1) ∘ ◡𝑊)) = ( I ↾ 𝐷)) |
40 | 23, 39 | syl 17 |
. . 3
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 0)
→ (( I ↾ (𝐷
∖ ran 𝑊)) ∪
((𝑊 cyclShift 1) ∘
◡𝑊)) = ( I ↾ 𝐷)) |
41 | 20, 40 | eqtrd 2777 |
. 2
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 0)
→ (𝐶‘𝑊) = ( I ↾ 𝐷)) |
42 | 19 | adantr 484 |
. . 3
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (𝐶‘𝑊) = (( I ↾ (𝐷 ∖ ran 𝑊)) ∪ ((𝑊 cyclShift 1) ∘ ◡𝑊))) |
43 | 17 | adantr 484 |
. . . . . . 7
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ 𝑊 ∈ Word 𝐷) |
44 | | 1zzd 12208 |
. . . . . . 7
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ 1 ∈ ℤ) |
45 | | simpr 488 |
. . . . . . 7
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (♯‘𝑊) =
1) |
46 | | 1cshid 30951 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝐷 ∧ 1 ∈ ℤ ∧
(♯‘𝑊) = 1)
→ (𝑊 cyclShift 1) =
𝑊) |
47 | 43, 44, 45, 46 | syl3anc 1373 |
. . . . . 6
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (𝑊 cyclShift 1) =
𝑊) |
48 | 47 | coeq1d 5730 |
. . . . 5
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ ((𝑊 cyclShift 1)
∘ ◡𝑊) = (𝑊 ∘ ◡𝑊)) |
49 | | wrdf 14074 |
. . . . . 6
⊢ (𝑊 ∈ Word 𝐷 → 𝑊:(0..^(♯‘𝑊))⟶𝐷) |
50 | | ffun 6548 |
. . . . . 6
⊢ (𝑊:(0..^(♯‘𝑊))⟶𝐷 → Fun 𝑊) |
51 | | funcocnv2 6685 |
. . . . . 6
⊢ (Fun
𝑊 → (𝑊 ∘ ◡𝑊) = ( I ↾ ran 𝑊)) |
52 | 43, 49, 50, 51 | 4syl 19 |
. . . . 5
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (𝑊 ∘ ◡𝑊) = ( I ↾ ran 𝑊)) |
53 | 48, 52 | eqtrd 2777 |
. . . 4
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ ((𝑊 cyclShift 1)
∘ ◡𝑊) = ( I ↾ ran 𝑊)) |
54 | 53 | uneq2d 4077 |
. . 3
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (( I ↾ (𝐷
∖ ran 𝑊)) ∪
((𝑊 cyclShift 1) ∘
◡𝑊)) = (( I ↾ (𝐷 ∖ ran 𝑊)) ∪ ( I ↾ ran 𝑊))) |
55 | | resundi 5865 |
. . . 4
⊢ ( I
↾ ((𝐷 ∖ ran
𝑊) ∪ ran 𝑊)) = (( I ↾ (𝐷 ∖ ran 𝑊)) ∪ ( I ↾ ran 𝑊)) |
56 | | frn 6552 |
. . . . . . 7
⊢ (𝑊:(0..^(♯‘𝑊))⟶𝐷 → ran 𝑊 ⊆ 𝐷) |
57 | | undifr 30591 |
. . . . . . 7
⊢ (ran
𝑊 ⊆ 𝐷 ↔ ((𝐷 ∖ ran 𝑊) ∪ ran 𝑊) = 𝐷) |
58 | 56, 57 | sylib 221 |
. . . . . 6
⊢ (𝑊:(0..^(♯‘𝑊))⟶𝐷 → ((𝐷 ∖ ran 𝑊) ∪ ran 𝑊) = 𝐷) |
59 | 43, 49, 58 | 3syl 18 |
. . . . 5
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ ((𝐷 ∖ ran
𝑊) ∪ ran 𝑊) = 𝐷) |
60 | 59 | reseq2d 5851 |
. . . 4
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ ( I ↾ ((𝐷
∖ ran 𝑊) ∪ ran
𝑊)) = ( I ↾ 𝐷)) |
61 | 55, 60 | eqtr3id 2792 |
. . 3
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (( I ↾ (𝐷
∖ ran 𝑊)) ∪ ( I
↾ ran 𝑊)) = ( I
↾ 𝐷)) |
62 | 42, 54, 61 | 3eqtrd 2781 |
. 2
⊢ (((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) ∧
(♯‘𝑊) = 1)
→ (𝐶‘𝑊) = ( I ↾ 𝐷)) |
63 | 3 | elin2d 4113 |
. . . . 5
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → 𝑊 ∈ (◡♯ “ {0, 1})) |
64 | | hashf 13904 |
. . . . . 6
⊢
♯:V⟶(ℕ0 ∪ {+∞}) |
65 | | ffn 6545 |
. . . . . 6
⊢
(♯:V⟶(ℕ0 ∪ {+∞}) → ♯
Fn V) |
66 | | elpreima 6878 |
. . . . . 6
⊢ (♯
Fn V → (𝑊 ∈
(◡♯ “ {0, 1}) ↔ (𝑊 ∈ V ∧
(♯‘𝑊) ∈
{0, 1}))) |
67 | 64, 65, 66 | mp2b 10 |
. . . . 5
⊢ (𝑊 ∈ (◡♯ “ {0, 1}) ↔ (𝑊 ∈ V ∧
(♯‘𝑊) ∈
{0, 1})) |
68 | 63, 67 | sylib 221 |
. . . 4
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → (𝑊 ∈ V ∧
(♯‘𝑊) ∈
{0, 1})) |
69 | 68 | simprd 499 |
. . 3
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) →
(♯‘𝑊) ∈
{0, 1}) |
70 | | elpri 4563 |
. . 3
⊢
((♯‘𝑊)
∈ {0, 1} → ((♯‘𝑊) = 0 ∨ (♯‘𝑊) = 1)) |
71 | 69, 70 | syl 17 |
. 2
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) →
((♯‘𝑊) = 0 ∨
(♯‘𝑊) =
1)) |
72 | 41, 62, 71 | mpjaodan 959 |
1
⊢ ((𝐷 ∈ 𝑉 ∧ 𝑊 ∈ (dom 𝐶 ∩ (◡♯ “ {0, 1}))) → (𝐶‘𝑊) = ( I ↾ 𝐷)) |