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

Theorem erclwwlkntr 30103
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 3492 . 2 𝑥 ∈ V
2 vex 3492 . 2 𝑦 ∈ V
3 vex 3492 . 2 𝑧 ∈ V
4 erclwwlkn.w . . . . . 6 𝑊 = (𝑁 ClWWalksN 𝐺)
5 erclwwlkn.r . . . . . 6 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
64, 5erclwwlkneqlen 30100 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
763adant3 1132 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
84, 5erclwwlkneqlen 30100 . . . . . . 7 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
983adant1 1130 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
104, 5erclwwlkneq 30099 . . . . . . . 8 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
11103adant1 1130 . . . . . . 7 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
124, 5erclwwlkneq 30099 . . . . . . . . . 10 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
13123adant3 1132 . . . . . . . . 9 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
14 simpr1 1194 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → 𝑥𝑊)
15 simplr2 1216 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → 𝑧𝑊)
16 oveq2 7456 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑚 → (𝑦 cyclShift 𝑛) = (𝑦 cyclShift 𝑚))
1716eqeq2d 2751 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑛 = 𝑚 → (𝑥 = (𝑦 cyclShift 𝑛) ↔ 𝑥 = (𝑦 cyclShift 𝑚)))
1817cbvrexvw 3244 . . . . . . . . . . . . . . . . . . . . . . . 24 (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚))
19 oveq2 7456 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑛 = 𝑘 → (𝑧 cyclShift 𝑛) = (𝑧 cyclShift 𝑘))
2019eqeq2d 2751 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑘 → (𝑦 = (𝑧 cyclShift 𝑛) ↔ 𝑦 = (𝑧 cyclShift 𝑘)))
2120cbvrexvw 3244 . . . . . . . . . . . . . . . . . . . . . . . . 25 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) ↔ ∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘))
22 eqid 2740 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (Vtx‘𝐺) = (Vtx‘𝐺)
2322clwwlknbp 30067 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → (𝑧 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑧) = 𝑁))
24 eqcom 2747 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2524biimpi 216 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2623, 25simpl2im 503 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑁 = (♯‘𝑧))
2726, 4eleq2s 2862 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧𝑊𝑁 = (♯‘𝑧))
2827ad2antlr 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑁 = (♯‘𝑧))
2923simpld 494 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑧 ∈ Word (Vtx‘𝐺))
3029, 4eleq2s 2862 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑧𝑊𝑧 ∈ Word (Vtx‘𝐺))
3130ad2antlr 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑧 ∈ Word (Vtx‘𝐺))
3231adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → 𝑧 ∈ Word (Vtx‘𝐺))
33 simprr 772 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))
3432, 33cshwcsh2id 14877 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
35 oveq2 7456 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑁 = (♯‘𝑧) → (0...𝑁) = (0...(♯‘𝑧)))
36 oveq2 7456 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((♯‘𝑧) = (♯‘𝑦) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3736eqcoms 2748 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((♯‘𝑦) = (♯‘𝑧) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3837adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3938adantl 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
4035, 39sylan9eq 2800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (0...𝑁) = (0...(♯‘𝑦)))
4140eleq2d 2830 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (𝑚 ∈ (0...𝑁) ↔ 𝑚 ∈ (0...(♯‘𝑦))))
4241anbi1d 630 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ↔ (𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚))))
4335eleq2d 2830 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑁 = (♯‘𝑧) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑧))))
4443anbi1d 630 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑁 = (♯‘𝑧) → ((𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘)) ↔ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))))
4544adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘)) ↔ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))))
4642, 45anbi12d 631 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...𝑁) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) ↔ ((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘)))))
4735rexeqdv 3335 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 687 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3161 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5453ex 412 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) → (𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5554rexlimdva 3161 . . . . . . . . . . . . . . . . . . . . . . . . 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 1130 . . . . . . . . . . . . . . . . . . 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 1117 . . . . . . . . . . . . . . . 16 ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
6564impcom 407 . . . . . . . . . . . . . . 15 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))
6614, 15, 653jca 1128 . . . . . . . . . . . . . 14 (((((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) ∧ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))) ∧ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))) → (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
674, 5erclwwlkneq 30099 . . . . . . . . . . . . . . 15 ((𝑥 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑧 ↔ (𝑥𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
68673adant2 1131 . . . . . . . . . . . . . 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 1461 1 ((𝑥 𝑦𝑦 𝑧) → 𝑥 𝑧)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1537  wcel 2108  wrex 3076  Vcvv 3488   class class class wbr 5166  {copab 5228  cfv 6573  (class class class)co 7448  0cc0 11184  ...cfz 13567  chash 14379  Word cword 14562   cyclShift ccsh 14836  Vtxcvtx 29031   ClWWalksN cclwwlkn 30056
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770  ax-cnex 11240  ax-resscn 11241  ax-1cn 11242  ax-icn 11243  ax-addcl 11244  ax-addrcl 11245  ax-mulcl 11246  ax-mulrcl 11247  ax-mulcom 11248  ax-addass 11249  ax-mulass 11250  ax-distr 11251  ax-i2m1 11252  ax-1ne0 11253  ax-1rid 11254  ax-rnegex 11255  ax-rrecex 11256  ax-cnre 11257  ax-pre-lttri 11258  ax-pre-lttrn 11259  ax-pre-ltadd 11260  ax-pre-mulgt0 11261  ax-pre-sup 11262
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-nel 3053  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-int 4971  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-pred 6332  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-om 7904  df-1st 8030  df-2nd 8031  df-frecs 8322  df-wrecs 8353  df-recs 8427  df-rdg 8466  df-1o 8522  df-er 8763  df-map 8886  df-en 9004  df-dom 9005  df-sdom 9006  df-fin 9007  df-sup 9511  df-inf 9512  df-card 10008  df-pnf 11326  df-mnf 11327  df-xr 11328  df-ltxr 11329  df-le 11330  df-sub 11522  df-neg 11523  df-div 11948  df-nn 12294  df-2 12356  df-n0 12554  df-z 12640  df-uz 12904  df-rp 13058  df-fz 13568  df-fzo 13712  df-fl 13843  df-mod 13921  df-hash 14380  df-word 14563  df-concat 14619  df-substr 14689  df-pfx 14719  df-csh 14837  df-clwwlk 30014  df-clwwlkn 30057
This theorem is referenced by:  erclwwlkn  30104
  Copyright terms: Public domain W3C validator