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

Theorem erclwwlkntr 27865
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 3483 . 2 𝑥 ∈ V
2 vex 3483 . 2 𝑦 ∈ V
3 vex 3483 . 2 𝑧 ∈ V
4 erclwwlkn.w . . . . . 6 𝑊 = (𝑁 ClWWalksN 𝐺)
5 erclwwlkn.r . . . . . 6 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
64, 5erclwwlkneqlen 27862 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
763adant3 1129 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
84, 5erclwwlkneqlen 27862 . . . . . . 7 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
983adant1 1127 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 → (♯‘𝑦) = (♯‘𝑧)))
104, 5erclwwlkneq 27861 . . . . . . . 8 ((𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
11103adant1 1127 . . . . . . 7 ((𝑥 ∈ V ∧ 𝑦 ∈ V ∧ 𝑧 ∈ V) → (𝑦 𝑧 ↔ (𝑦𝑊𝑧𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛))))
124, 5erclwwlkneq 27861 . . . . . . . . . 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 7159 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑚 → (𝑦 cyclShift 𝑛) = (𝑦 cyclShift 𝑚))
1716eqeq2d 2835 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑛 = 𝑚 → (𝑥 = (𝑦 cyclShift 𝑛) ↔ 𝑥 = (𝑦 cyclShift 𝑚)))
1817cbvrexvw 3435 . . . . . . . . . . . . . . . . . . . . . . . 24 (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑚))
19 oveq2 7159 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑛 = 𝑘 → (𝑧 cyclShift 𝑛) = (𝑧 cyclShift 𝑘))
2019eqeq2d 2835 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑛 = 𝑘 → (𝑦 = (𝑧 cyclShift 𝑛) ↔ 𝑦 = (𝑧 cyclShift 𝑘)))
2120cbvrexvw 3435 . . . . . . . . . . . . . . . . . . . . . . . . 25 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑛) ↔ ∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘))
22 eqid 2824 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (Vtx‘𝐺) = (Vtx‘𝐺)
2322clwwlknbp 27829 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → (𝑧 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑧) = 𝑁))
24 eqcom 2831 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2524biimpi 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((♯‘𝑧) = 𝑁𝑁 = (♯‘𝑧))
2623, 25simpl2im 507 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑁 = (♯‘𝑧))
2726, 4eleq2s 2934 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧𝑊𝑁 = (♯‘𝑧))
2827ad2antlr 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑁 = (♯‘𝑧))
2923simpld 498 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑧 ∈ (𝑁 ClWWalksN 𝐺) → 𝑧 ∈ Word (Vtx‘𝐺))
3029, 4eleq2s 2934 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑧𝑊𝑧 ∈ Word (Vtx‘𝐺))
3130ad2antlr 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑧 ∈ Word (Vtx‘𝐺))
3231adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → 𝑧 ∈ Word (Vtx‘𝐺))
33 simprr 772 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))
3432, 33cshwcsh2id 14192 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (((𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ∧ (𝑘 ∈ (0...(♯‘𝑧)) ∧ 𝑦 = (𝑧 cyclShift 𝑘))) → ∃𝑛 ∈ (0...(♯‘𝑧))𝑥 = (𝑧 cyclShift 𝑛)))
35 oveq2 7159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑁 = (♯‘𝑧) → (0...𝑁) = (0...(♯‘𝑧)))
36 oveq2 7159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((♯‘𝑧) = (♯‘𝑦) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3736eqcoms 2832 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((♯‘𝑦) = (♯‘𝑧) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3837adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
3938adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...(♯‘𝑧)) = (0...(♯‘𝑦)))
4035, 39sylan9eq 2879 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (0...𝑁) = (0...(♯‘𝑦)))
4140eleq2d 2901 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → (𝑚 ∈ (0...𝑁) ↔ 𝑚 ∈ (0...(♯‘𝑦))))
4241anbi1d 632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑁 = (♯‘𝑧) ∧ (((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦)))) → ((𝑚 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) ↔ (𝑚 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑚))))
4335eleq2d 2901 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3403 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3276 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑥 = (𝑦 cyclShift 𝑚)) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛)))
5453ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((((𝑥𝑊𝑦𝑊) ∧ 𝑧𝑊) ∧ ((♯‘𝑦) = (♯‘𝑧) ∧ (♯‘𝑥) = (♯‘𝑦))) ∧ 𝑚 ∈ (0...𝑁)) → (𝑥 = (𝑦 cyclShift 𝑚) → (∃𝑘 ∈ (0...𝑁)𝑦 = (𝑧 cyclShift 𝑘) → ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑧 cyclShift 𝑛))))
5554rexlimdva 3276 . . . . . . . . . . . . . . . . . . . . . . . . 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 27861 . . . . . . . . . . . . . . 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 2115  wrex 3134  Vcvv 3480   class class class wbr 5053  {copab 5115  cfv 6345  (class class class)co 7151  0cc0 10537  ...cfz 12896  chash 13697  Word cword 13868   cyclShift ccsh 14152  Vtxcvtx 26798   ClWWalksN cclwwlkn 27818
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 1971  ax-7 2016  ax-8 2117  ax-9 2125  ax-10 2146  ax-11 2162  ax-12 2179  ax-ext 2796  ax-rep 5177  ax-sep 5190  ax-nul 5197  ax-pow 5254  ax-pr 5318  ax-un 7457  ax-cnex 10593  ax-resscn 10594  ax-1cn 10595  ax-icn 10596  ax-addcl 10597  ax-addrcl 10598  ax-mulcl 10599  ax-mulrcl 10600  ax-mulcom 10601  ax-addass 10602  ax-mulass 10603  ax-distr 10604  ax-i2m1 10605  ax-1ne0 10606  ax-1rid 10607  ax-rnegex 10608  ax-rrecex 10609  ax-cnre 10610  ax-pre-lttri 10611  ax-pre-lttrn 10612  ax-pre-ltadd 10613  ax-pre-mulgt0 10614  ax-pre-sup 10615
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 2071  df-mo 2624  df-eu 2655  df-clab 2803  df-cleq 2817  df-clel 2896  df-nfc 2964  df-ne 3015  df-nel 3119  df-ral 3138  df-rex 3139  df-reu 3140  df-rmo 3141  df-rab 3142  df-v 3482  df-sbc 3759  df-csb 3867  df-dif 3922  df-un 3924  df-in 3926  df-ss 3936  df-pss 3938  df-nul 4277  df-if 4451  df-pw 4524  df-sn 4551  df-pr 4553  df-tp 4555  df-op 4557  df-uni 4825  df-int 4863  df-iun 4907  df-br 5054  df-opab 5116  df-mpt 5134  df-tr 5160  df-id 5448  df-eprel 5453  df-po 5462  df-so 5463  df-fr 5502  df-we 5504  df-xp 5549  df-rel 5550  df-cnv 5551  df-co 5552  df-dm 5553  df-rn 5554  df-res 5555  df-ima 5556  df-pred 6137  df-ord 6183  df-on 6184  df-lim 6185  df-suc 6186  df-iota 6304  df-fun 6347  df-fn 6348  df-f 6349  df-f1 6350  df-fo 6351  df-f1o 6352  df-fv 6353  df-riota 7109  df-ov 7154  df-oprab 7155  df-mpo 7156  df-om 7577  df-1st 7686  df-2nd 7687  df-wrecs 7945  df-recs 8006  df-rdg 8044  df-1o 8100  df-oadd 8104  df-er 8287  df-map 8406  df-en 8508  df-dom 8509  df-sdom 8510  df-fin 8511  df-sup 8905  df-inf 8906  df-card 9367  df-pnf 10677  df-mnf 10678  df-xr 10679  df-ltxr 10680  df-le 10681  df-sub 10872  df-neg 10873  df-div 11298  df-nn 11637  df-2 11699  df-n0 11897  df-z 11981  df-uz 12243  df-rp 12389  df-fz 12897  df-fzo 13040  df-fl 13168  df-mod 13244  df-hash 13698  df-word 13869  df-concat 13925  df-substr 14005  df-pfx 14035  df-csh 14153  df-clwwlk 27776  df-clwwlkn 27819
This theorem is referenced by:  erclwwlkn  27866
  Copyright terms: Public domain W3C validator