MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  erclwwlkntr Structured version   Visualization version   GIF version

Theorem erclwwlkntr 27856
Description: is a transitive relation over the set of closed walks (defined as words). (Contributed by Alexander van der Vekens, 10-Apr-2018.) (Revised by AV, 30-Apr-2021.)
Hypotheses
Ref Expression
erclwwlkn.w 𝑊 = (𝑁 ClWWalksN 𝐺)
erclwwlkn.r = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
Assertion
Ref Expression
erclwwlkntr ((𝑥 𝑦𝑦 𝑧) → 𝑥 𝑧)
Distinct variable groups:   𝑡,𝑊,𝑢   𝑛,𝑁,𝑢,𝑡,𝑥   𝑦,𝑛,𝑡,𝑢,𝑥   𝑛,𝑊   𝑧,𝑛,𝑡,𝑢,𝑦,𝑥
Allowed substitution hints:   (𝑥,𝑦,𝑧,𝑢,𝑡,𝑛)   𝐺(𝑥,𝑦,𝑧,𝑢,𝑡,𝑛)   𝑁(𝑦,𝑧)   𝑊(𝑥,𝑦,𝑧)

Proof of Theorem erclwwlkntr
Dummy variables 𝑚 𝑘 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 vex 3444 . 2 𝑥 ∈ V
2 vex 3444 . 2 𝑦 ∈ V
3 vex 3444 . 2 𝑧 ∈ V
4 erclwwlkn.w . . . . . 6 𝑊 = (𝑁 ClWWalksN 𝐺)
5 erclwwlkn.r . . . . . 6 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
64, 5erclwwlkneqlen 27853 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
763adant3 1129 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
84, 5erclwwlkneqlen 27853 . . . . . . 7 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
983adant1 1127 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
104, 5erclwwlkneq 27852 . . . . . . . 8 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
11103adant1 1127 . . . . . . 7 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
124, 5erclwwlkneq 27852 . . . . . . . . . 10 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
13123adant3 1129 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
14 simpr1 1191 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → 𝑥𝑊)
15 simplr2 1213 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → 𝑧𝑊)
16 oveq2 7143 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑚 → (𝑦 cyclShift 𝑛) = (𝑦 cyclShift 𝑚))
1716eqeq2d 2809 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑛 = 𝑚 → (𝑥 = (𝑦 cyclShift 𝑛) ↔ 𝑥 = (𝑦 cyclShift 𝑚)))
1817cbvrexvw 3397 . . . . . . . . . . . . . . . . . . . . . . . 24 (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚))
19 oveq2 7143 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑛 = 𝑘 → (𝑧 cyclShift 𝑛) = (𝑧 cyclShift 𝑘))
2019eqeq2d 2809 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑘 → (𝑦 = (𝑧 cyclShift 𝑛) ↔ 𝑦 = (𝑧 cyclShift 𝑘)))
2120cbvrexvw 3397 . . . . . . . . . . . . . . . . . . . . . . . . 25 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) ↔ ∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘))
22 eqid 2798 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (Vtx‘𝐺) = (Vtx‘𝐺)
2322clwwlknbp 27820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → (𝑧 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑧) = 𝑁))
24 eqcom 2805 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2524biimpi 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2623, 25simpl2im 507 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑁 = (♯‘𝑧))
2726, 4eleq2s 2908 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧𝑊𝑁 = (♯‘𝑧))
2827ad2antlr 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑁 = (♯‘𝑧))
2923simpld 498 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑧 ∈ Word (Vtx‘𝐺))
3029, 4eleq2s 2908 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑧𝑊𝑧 ∈ Word (Vtx‘𝐺))
3130ad2antlr 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑧 ∈ Word (Vtx‘𝐺))
3231adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → 𝑧 ∈ Word (Vtx‘𝐺))
33 simprr 772 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))
3432, 33cshwcsh2id 14181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
35 oveq2 7143 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑁 = (♯‘𝑧) → (0...𝑁) = (0...(♯‘𝑧)))
36 oveq2 7143 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((♯‘𝑧) = (♯‘𝑦) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3736eqcoms 2806 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((♯‘𝑦) = (♯‘𝑧) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3837adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3938adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
4035, 39sylan9eq 2853 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (0...𝑁) = (0...(♯‘𝑦)))
4140eleq2d 2875 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (𝑚 ∈ (0...𝑁) ↔ 𝑚 ∈ (0...(♯‘𝑦))))
4241anbi1d 632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ↔ (𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚))))
4335eleq2d 2875 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑁 = (♯‘𝑧) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑧))))
4443anbi1d 632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑁 = (♯‘𝑧) → ((𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘)) ↔ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))))
4544adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘)) ↔ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))))
4642, 45anbi12d 633 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) ↔ ((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘)))))
4735rexeqdv 3365 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑁 = (♯‘𝑧) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛) ↔ ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
4847adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛) ↔ ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
4934, 46, 483imtr4d 297 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5028, 49mpancom 687 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5150exp5l 450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (𝑚 ∈ (0...𝑁) → (𝑥 = (𝑦 cyclShift 𝑚) → (𝑘 ∈ (0...𝑁) → (𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))))
5251imp41 429 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ 𝑘 ∈ (0...𝑁)) → (𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5352rexlimdva 3243 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5453ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) → (𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5554rexlimdva 3243 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5621, 55syl7bi 258 . . . . . . . . . . . . . . . . . . . . . . . 24 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5718, 56syl5bi 245 . . . . . . . . . . . . . . . . . . . . . . 23 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5857exp31 423 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑥𝑊𝑦𝑊) → (𝑧𝑊 → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))))
5958com15 101 . . . . . . . . . . . . . . . . . . . . 21 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → (𝑧𝑊 → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))))
6059impcom 411 . . . . . . . . . . . . . . . . . . . 20 ((𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))))
61603adant1 1127 . . . . . . . . . . . . . . . . . . 19 ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))))
6261impcom 411 . . . . . . . . . . . . . . . . . 18 ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
6362com13 88 . . . . . . . . . . . . . . . . 17 ((𝑥𝑊𝑦𝑊) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
64633impia 1114 . . . . . . . . . . . . . . . 16 ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
6564impcom 411 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))
6614, 15, 653jca 1125 . . . . . . . . . . . . . 14 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
674, 5erclwwlkneq 27852 . . . . . . . . . . . . . . 15 ((𝑥 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑧 ↔ (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
68673adant2 1128 . . . . . . . . . . . . . 14 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑧 ↔ (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
6966, 68syl5ibrcom 250 . . . . . . . . . . . . 13 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → 𝑥 𝑧))
7069exp31 423 . . . . . . . . . . . 12 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → 𝑥 𝑧))))
7170com24 95 . . . . . . . . . . 11 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧))))
7271ex 416 . . . . . . . . . 10 ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧)))))
7372com4t 93 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧)))))
7413, 73sylbid 243 . . . . . . . 8 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧)))))
7574com25 99 . . . . . . 7 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → (𝑥 𝑦𝑥 𝑧)))))
7611, 75sylbid 243 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → (𝑥 𝑦𝑥 𝑧)))))
779, 76mpdd 43 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → ((♯‘𝑥) = (♯‘𝑦) → (𝑥 𝑦𝑥 𝑧))))
7877com24 95 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → ((♯‘𝑥) = (♯‘𝑦) → (𝑦 𝑧𝑥 𝑧))))
797, 78mpdd 43 . . 3 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → (𝑦 𝑧𝑥 𝑧)))
8079impd 414 . 2 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥 𝑦𝑦 𝑧) → 𝑥 𝑧))
811, 2, 3, 80mp3an 1458 1 ((𝑥 𝑦𝑦 𝑧) → 𝑥 𝑧)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1084   = wceq 1538  wcel 2111  wrex 3107  Vcvv 3441   class class class wbr 5030  {copab 5092  cfv 6324  (class class class)co 7135  0cc0 10526  ...cfz 12885  chash 13686  Word cword 13857   cyclShift ccsh 14141  Vtxcvtx 26789   ClWWalksN cclwwlkn 27809
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5154  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441  ax-cnex 10582  ax-resscn 10583  ax-1cn 10584  ax-icn 10585  ax-addcl 10586  ax-addrcl 10587  ax-mulcl 10588  ax-mulrcl 10589  ax-mulcom 10590  ax-addass 10591  ax-mulass 10592  ax-distr 10593  ax-i2m1 10594  ax-1ne0 10595  ax-1rid 10596  ax-rnegex 10597  ax-rrecex 10598  ax-cnre 10599  ax-pre-lttri 10600  ax-pre-lttrn 10601  ax-pre-ltadd 10602  ax-pre-mulgt0 10603  ax-pre-sup 10604
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-reu 3113  df-rmo 3114  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-pss 3900  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4801  df-int 4839  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-tr 5137  df-id 5425  df-eprel 5430  df-po 5438  df-so 5439  df-fr 5478  df-we 5480  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-pred 6116  df-ord 6162  df-on 6163  df-lim 6164  df-suc 6165  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-riota 7093  df-ov 7138  df-oprab 7139  df-mpo 7140  df-om 7561  df-1st 7671  df-2nd 7672  df-wrecs 7930  df-recs 7991  df-rdg 8029  df-1o 8085  df-oadd 8089  df-er 8272  df-map 8391  df-en 8493  df-dom 8494  df-sdom 8495  df-fin 8496  df-sup 8890  df-inf 8891  df-card 9352  df-pnf 10666  df-mnf 10667  df-xr 10668  df-ltxr 10669  df-le 10670  df-sub 10861  df-neg 10862  df-div 11287  df-nn 11626  df-2 11688  df-n0 11886  df-z 11970  df-uz 12232  df-rp 12378  df-fz 12886  df-fzo 13029  df-fl 13157  df-mod 13233  df-hash 13687  df-word 13858  df-concat 13914  df-substr 13994  df-pfx 14024  df-csh 14142  df-clwwlk 27767  df-clwwlkn 27810
This theorem is referenced by:  erclwwlkn  27857
  Copyright terms: Public domain W3C validator