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

Theorem erclwwlkntr 30141
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 3433 . 2 𝑥 ∈ V
2 vex 3433 . 2 𝑦 ∈ V
3 vex 3433 . 2 𝑧 ∈ V
4 erclwwlkn.w . . . . . 6 𝑊 = (𝑁 ClWWalksN 𝐺)
5 erclwwlkn.r . . . . . 6 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
64, 5erclwwlkneqlen 30138 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
763adant3 1133 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
84, 5erclwwlkneqlen 30138 . . . . . . 7 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
983adant1 1131 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
104, 5erclwwlkneq 30137 . . . . . . . 8 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
11103adant1 1131 . . . . . . 7 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
124, 5erclwwlkneq 30137 . . . . . . . . . 10 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
13123adant3 1133 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
14 simpr1 1196 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → 𝑥𝑊)
15 simplr2 1218 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → 𝑧𝑊)
16 oveq2 7375 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑚 → (𝑦 cyclShift 𝑛) = (𝑦 cyclShift 𝑚))
1716eqeq2d 2747 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑛 = 𝑚 → (𝑥 = (𝑦 cyclShift 𝑛) ↔ 𝑥 = (𝑦 cyclShift 𝑚)))
1817cbvrexvw 3216 . . . . . . . . . . . . . . . . . . . . . . . 24 (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚))
19 oveq2 7375 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑛 = 𝑘 → (𝑧 cyclShift 𝑛) = (𝑧 cyclShift 𝑘))
2019eqeq2d 2747 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑘 → (𝑦 = (𝑧 cyclShift 𝑛) ↔ 𝑦 = (𝑧 cyclShift 𝑘)))
2120cbvrexvw 3216 . . . . . . . . . . . . . . . . . . . . . . . . 25 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) ↔ ∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘))
22 eqid 2736 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (Vtx‘𝐺) = (Vtx‘𝐺)
2322clwwlknbp 30105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → (𝑧 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑧) = 𝑁))
24 eqcom 2743 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2524biimpi 216 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2623, 25simpl2im 503 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑁 = (♯‘𝑧))
2726, 4eleq2s 2854 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧𝑊𝑁 = (♯‘𝑧))
2827ad2antlr 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑁 = (♯‘𝑧))
2923simpld 494 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑧 ∈ Word (Vtx‘𝐺))
3029, 4eleq2s 2854 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑧𝑊𝑧 ∈ Word (Vtx‘𝐺))
3130ad2antlr 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑧 ∈ Word (Vtx‘𝐺))
3231adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → 𝑧 ∈ Word (Vtx‘𝐺))
33 simprr 773 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))
3432, 33cshwcsh2id 14790 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
35 oveq2 7375 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑁 = (♯‘𝑧) → (0...𝑁) = (0...(♯‘𝑧)))
36 oveq2 7375 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((♯‘𝑧) = (♯‘𝑦) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3736eqcoms 2744 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((♯‘𝑦) = (♯‘𝑧) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3837adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3938adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
4035, 39sylan9eq 2791 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (0...𝑁) = (0...(♯‘𝑦)))
4140eleq2d 2822 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (𝑚 ∈ (0...𝑁) ↔ 𝑚 ∈ (0...(♯‘𝑦))))
4241anbi1d 632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ↔ (𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚))))
4335eleq2d 2822 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑁 = (♯‘𝑧) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑧))))
4443anbi1d 632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑁 = (♯‘𝑧) → ((𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘)) ↔ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))))
4544adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘)) ↔ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))))
4642, 45anbi12d 633 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) ↔ ((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘)))))
4735rexeqdv 3296 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑁 = (♯‘𝑧) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛) ↔ ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
4847adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛) ↔ ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
4934, 46, 483imtr4d 294 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5028, 49mpancom 689 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5150exp5l 446 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (𝑚 ∈ (0...𝑁) → (𝑥 = (𝑦 cyclShift 𝑚) → (𝑘 ∈ (0...𝑁) → (𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))))
5251imp41 425 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ 𝑘 ∈ (0...𝑁)) → (𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5352rexlimdva 3138 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5453ex 412 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) → (𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5554rexlimdva 3138 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5621, 55syl7bi 255 . . . . . . . . . . . . . . . . . . . . . . . 24 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5718, 56biimtrid 242 . . . . . . . . . . . . . . . . . . . . . . 23 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5857exp31 419 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑥𝑊𝑦𝑊) → (𝑧𝑊 → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))))
5958com15 101 . . . . . . . . . . . . . . . . . . . . 21 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) → (𝑧𝑊 → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))))
6059impcom 407 . . . . . . . . . . . . . . . . . . . 20 ((𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))))
61603adant1 1131 . . . . . . . . . . . . . . . . . . 19 ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))))
6261impcom 407 . . . . . . . . . . . . . . . . . 18 ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((𝑥𝑊𝑦𝑊) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
6362com13 88 . . . . . . . . . . . . . . . . 17 ((𝑥𝑊𝑦𝑊) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
64633impia 1118 . . . . . . . . . . . . . . . 16 ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
6564impcom 407 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))
6614, 15, 653jca 1129 . . . . . . . . . . . . . 14 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
674, 5erclwwlkneq 30137 . . . . . . . . . . . . . . 15 ((𝑥 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑧 ↔ (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
68673adant2 1132 . . . . . . . . . . . . . 14 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑧 ↔ (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
6966, 68syl5ibrcom 247 . . . . . . . . . . . . 13 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → 𝑥 𝑧))
7069exp31 419 . . . . . . . . . . . 12 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → 𝑥 𝑧))))
7170com24 95 . . . . . . . . . . 11 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧))))
7271ex 412 . . . . . . . . . 10 ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧)))))
7372com4t 93 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧)))))
7413, 73sylbid 240 . . . . . . . 8 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → 𝑥 𝑧)))))
7574com25 99 . . . . . . 7 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛)) → ((♯‘𝑦) = (♯‘𝑧) → ((♯‘𝑥) = (♯‘𝑦) → (𝑥 𝑦𝑥 𝑧)))))
7611, 75sylbid 240 . . . . . 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 410 . 2 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → ((𝑥 𝑦𝑦 𝑧) → 𝑥 𝑧))
811, 2, 3, 80mp3an 1464 1 ((𝑥 𝑦𝑦 𝑧) → 𝑥 𝑧)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1542  wcel 2114  wrex 3061  Vcvv 3429   class class class wbr 5085  {copab 5147  cfv 6498  (class class class)co 7367  0cc0 11038  ...cfz 13461  chash 14292  Word cword 14475   cyclShift ccsh 14750  Vtxcvtx 29065   ClWWalksN cclwwlkn 30094
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 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2708  ax-rep 5212  ax-sep 5231  ax-nul 5241  ax-pow 5307  ax-pr 5375  ax-un 7689  ax-cnex 11094  ax-resscn 11095  ax-1cn 11096  ax-icn 11097  ax-addcl 11098  ax-addrcl 11099  ax-mulcl 11100  ax-mulrcl 11101  ax-mulcom 11102  ax-addass 11103  ax-mulass 11104  ax-distr 11105  ax-i2m1 11106  ax-1ne0 11107  ax-1rid 11108  ax-rnegex 11109  ax-rrecex 11110  ax-cnre 11111  ax-pre-lttri 11112  ax-pre-lttrn 11113  ax-pre-ltadd 11114  ax-pre-mulgt0 11115  ax-pre-sup 11116
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3062  df-rmo 3342  df-reu 3343  df-rab 3390  df-v 3431  df-sbc 3729  df-csb 3838  df-dif 3892  df-un 3894  df-in 3896  df-ss 3906  df-pss 3909  df-nul 4274  df-if 4467  df-pw 4543  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4851  df-int 4890  df-iun 4935  df-br 5086  df-opab 5148  df-mpt 5167  df-tr 5193  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6265  df-ord 6326  df-on 6327  df-lim 6328  df-suc 6329  df-iota 6454  df-fun 6500  df-fn 6501  df-f 6502  df-f1 6503  df-fo 6504  df-f1o 6505  df-fv 6506  df-riota 7324  df-ov 7370  df-oprab 7371  df-mpo 7372  df-om 7818  df-1st 7942  df-2nd 7943  df-frecs 8231  df-wrecs 8262  df-recs 8311  df-rdg 8349  df-1o 8405  df-er 8643  df-map 8775  df-en 8894  df-dom 8895  df-sdom 8896  df-fin 8897  df-sup 9355  df-inf 9356  df-card 9863  df-pnf 11181  df-mnf 11182  df-xr 11183  df-ltxr 11184  df-le 11185  df-sub 11379  df-neg 11380  df-div 11808  df-nn 12175  df-2 12244  df-n0 12438  df-z 12525  df-uz 12789  df-rp 12943  df-fz 13462  df-fzo 13609  df-fl 13751  df-mod 13829  df-hash 14293  df-word 14476  df-concat 14533  df-substr 14604  df-pfx 14634  df-csh 14751  df-clwwlk 30052  df-clwwlkn 30095
This theorem is referenced by:  erclwwlkn  30142
  Copyright terms: Public domain W3C validator