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

Theorem erclwwlknsym 30272
Description: is a symmetric 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
erclwwlknsym (𝑥 𝑦𝑦 𝑥)
Distinct variable groups:   𝑡,𝑊,𝑢   𝑛,𝑁,𝑢,𝑡,𝑥   𝑦,𝑛,𝑡,𝑢,𝑥   𝑛,𝑊
Allowed substitution hints:   (𝑥,𝑦,𝑢,𝑡,𝑛)   𝐺(𝑥,𝑦,𝑢,𝑡,𝑛)   𝑁(𝑦)   𝑊(𝑥,𝑦)

Proof of Theorem erclwwlknsym
Dummy variable 𝑚 is distinct from all other variables.
StepHypRef Expression
1 erclwwlkn.w . . . 4 𝑊 = (𝑁 ClWWalksN 𝐺)
2 erclwwlkn.r . . . 4 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
31, 2erclwwlkneqlen 30270 . . 3 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
41, 2erclwwlkneq 30269 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
5 simpl2 1206 . . . . . . 7 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑦𝑊)
6 simpl1 1205 . . . . . . 7 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑥𝑊)
7 eqid 2762 . . . . . . . . . . . . . . . . . . . 20 (Vtx‘𝐺) = (Vtx‘𝐺)
87clwwlknbp 30237 . . . . . . . . . . . . . . . . . . 19 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁))
9 eqcom 2769 . . . . . . . . . . . . . . . . . . . 20 ((♯‘𝑥) = 𝑁𝑁 = (♯‘𝑥))
109biimpi 218 . . . . . . . . . . . . . . . . . . 19 ((♯‘𝑥) = 𝑁𝑁 = (♯‘𝑥))
118, 10simpl2im 511 . . . . . . . . . . . . . . . . . 18 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → 𝑁 = (♯‘𝑥))
1211, 1eleq2s 2880 . . . . . . . . . . . . . . . . 17 (𝑥𝑊𝑁 = (♯‘𝑥))
1312adantr 484 . . . . . . . . . . . . . . . 16 ((𝑥𝑊𝑦𝑊) → 𝑁 = (♯‘𝑥))
1413adantr 484 . . . . . . . . . . . . . . 15 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑁 = (♯‘𝑥))
157clwwlknwrd 30236 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (𝑁 ClWWalksN 𝐺) → 𝑦 ∈ Word (Vtx‘𝐺))
1615, 1eleq2s 2880 . . . . . . . . . . . . . . . . . . . 20 (𝑦𝑊𝑦 ∈ Word (Vtx‘𝐺))
1716adantl 485 . . . . . . . . . . . . . . . . . . 19 ((𝑥𝑊𝑦𝑊) → 𝑦 ∈ Word (Vtx‘𝐺))
1817adantr 484 . . . . . . . . . . . . . . . . . 18 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑦 ∈ Word (Vtx‘𝐺))
1918adantl 485 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑦 ∈ Word (Vtx‘𝐺))
20 simprr 782 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (♯‘𝑥) = (♯‘𝑦))
2119, 20cshwcshid 14840 . . . . . . . . . . . . . . . 16 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → ((𝑛 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) → ∃𝑚 ∈ (0...(♯‘𝑥))𝑦 = (𝑥 cyclShift 𝑚)))
22 oveq2 7404 . . . . . . . . . . . . . . . . . . 19 (𝑁 = (♯‘𝑥) → (0...𝑁) = (0...(♯‘𝑥)))
23 oveq2 7404 . . . . . . . . . . . . . . . . . . . 20 ((♯‘𝑥) = (♯‘𝑦) → (0...(♯‘𝑥)) = (0...(♯‘𝑦)))
2423adantl 485 . . . . . . . . . . . . . . . . . . 19 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → (0...(♯‘𝑥)) = (0...(♯‘𝑦)))
2522, 24sylan9eq 2817 . . . . . . . . . . . . . . . . . 18 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...𝑁) = (0...(♯‘𝑦)))
2625eleq2d 2848 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (𝑛 ∈ (0...𝑁) ↔ 𝑛 ∈ (0...(♯‘𝑦))))
2726anbi1d 640 . . . . . . . . . . . . . . . 16 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → ((𝑛 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) ↔ (𝑛 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑛))))
2822adantr 484 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...𝑁) = (0...(♯‘𝑥)))
2928rexeqdv 3321 . . . . . . . . . . . . . . . 16 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚) ↔ ∃𝑚 ∈ (0...(♯‘𝑥))𝑦 = (𝑥 cyclShift 𝑚)))
3021, 27, 293imtr4d 296 . . . . . . . . . . . . . . 15 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → ((𝑛 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3114, 30mpancom 698 . . . . . . . . . . . . . 14 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → ((𝑛 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3231expd 419 . . . . . . . . . . . . 13 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → (𝑛 ∈ (0...𝑁) → (𝑥 = (𝑦 cyclShift 𝑛) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))))
3332rexlimdv 3161 . . . . . . . . . . . 12 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3433ex 416 . . . . . . . . . . 11 ((𝑥𝑊𝑦𝑊) → ((♯‘𝑥) = (♯‘𝑦) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))))
3534com23 86 . . . . . . . . . 10 ((𝑥𝑊𝑦𝑊) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((♯‘𝑥) = (♯‘𝑦) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))))
36353impia 1130 . . . . . . . . 9 ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((♯‘𝑥) = (♯‘𝑦) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3736imp 410 . . . . . . . 8 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))
38 oveq2 7404 . . . . . . . . . 10 (𝑛 = 𝑚 → (𝑥 cyclShift 𝑛) = (𝑥 cyclShift 𝑚))
3938eqeq2d 2773 . . . . . . . . 9 (𝑛 = 𝑚 → (𝑦 = (𝑥 cyclShift 𝑛) ↔ 𝑦 = (𝑥 cyclShift 𝑚)))
4039cbvrexvw 3241 . . . . . . . 8 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))
4137, 40sylibr 236 . . . . . . 7 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛))
425, 6, 413jca 1141 . . . . . 6 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → (𝑦𝑊𝑥𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)))
431, 2erclwwlkneq 30269 . . . . . . 7 ((𝑦 ∈ V ∧ 𝑥 ∈ V) → (𝑦 𝑥 ↔ (𝑦𝑊𝑥𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛))))
4443ancoms 462 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑦 𝑥 ↔ (𝑦𝑊𝑥𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛))))
4542, 44imbitrrid 248 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑦 𝑥))
4645expd 419 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((♯‘𝑥) = (♯‘𝑦) → 𝑦 𝑥)))
474, 46sylbid 242 . . 3 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → ((♯‘𝑥) = (♯‘𝑦) → 𝑦 𝑥)))
483, 47mpdd 43 . 2 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦𝑦 𝑥))
4948el2v 3461 1 (𝑥 𝑦𝑦 𝑥)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399  w3a 1098   = wceq 1560  wcel 2142  wrex 3086  Vcvv 3454   class class class wbr 5100  {copab 5162  cfv 6521  (class class class)co 7396  0cc0 11073  ...cfz 13512  chash 14343  Word cword 14526   cyclShift ccsh 14801  Vtxcvtx 29197   ClWWalksN cclwwlkn 30226
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1815  ax-4 1829  ax-5 1930  ax-6 1987  ax-7 2028  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5227  ax-sep 5246  ax-nul 5256  ax-pow 5322  ax-pr 5390  ax-un 7718  ax-cnex 11129  ax-resscn 11130  ax-1cn 11131  ax-icn 11132  ax-addcl 11133  ax-addrcl 11134  ax-mulcl 11135  ax-mulrcl 11136  ax-mulcom 11137  ax-addass 11138  ax-mulass 11139  ax-distr 11140  ax-i2m1 11141  ax-1ne0 11142  ax-1rid 11143  ax-rnegex 11144  ax-rrecex 11145  ax-cnre 11146  ax-pre-lttri 11147  ax-pre-lttrn 11148  ax-pre-ltadd 11149  ax-pre-mulgt0 11150  ax-pre-sup 11151
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1099  df-3an 1100  df-tru 1563  df-fal 1573  df-ex 1800  df-nf 1804  df-sb 2091  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3456  df-sbc 3745  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4481  df-pw 4557  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-int 4906  df-iun 4951  df-br 5101  df-opab 5163  df-mpt 5182  df-tr 5208  df-id 5542  df-eprel 5547  df-po 5555  df-so 5556  df-fr 5600  df-we 5602  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-pred 6288  df-ord 6349  df-on 6350  df-lim 6351  df-suc 6352  df-iota 6477  df-fun 6523  df-fn 6524  df-f 6525  df-f1 6526  df-fo 6527  df-f1o 6528  df-fv 6529  df-riota 7353  df-ov 7399  df-oprab 7400  df-mpo 7401  df-om 7847  df-1st 7970  df-2nd 7971  df-frecs 8262  df-wrecs 8293  df-recs 8342  df-rdg 8381  df-1o 8437  df-er 8678  df-map 8810  df-en 8928  df-dom 8929  df-sdom 8930  df-fin 8931  df-sup 9388  df-inf 9389  df-card 9897  df-pnf 11218  df-mnf 11219  df-xr 11220  df-ltxr 11221  df-le 11222  df-sub 11416  df-neg 11417  df-div 11845  df-nn 12211  df-2 12280  df-n0 12482  df-z 12569  df-uz 12840  df-rp 12994  df-fz 13513  df-fzo 13660  df-fl 13802  df-mod 13880  df-hash 14344  df-word 14527  df-concat 14584  df-substr 14655  df-pfx 14685  df-csh 14802  df-clwwlk 30184  df-clwwlkn 30227
This theorem is referenced by:  erclwwlkn  30274  eclclwwlkn1  30277
  Copyright terms: Public domain W3C validator