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

Theorem erclwwlknsym 27221
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 vex 3394 . 2 𝑥 ∈ V
2 vex 3394 . 2 𝑦 ∈ V
3 erclwwlkn.w . . . 4 𝑊 = (𝑁 ClWWalksN 𝐺)
4 erclwwlkn.r . . . 4 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
53, 4erclwwlkneqlen 27219 . . 3 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → (♯‘𝑥) = (♯‘𝑦)))
63, 4erclwwlkneq 27218 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 ↔ (𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛))))
7 simpl2 1237 . . . . . . 7 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑦𝑊)
8 simpl1 1235 . . . . . . 7 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑥𝑊)
9 eqid 2806 . . . . . . . . . . . . . . . . . . . 20 (Vtx‘𝐺) = (Vtx‘𝐺)
109clwwlknbp 27183 . . . . . . . . . . . . . . . . . . 19 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁))
11 eqcom 2813 . . . . . . . . . . . . . . . . . . . 20 ((♯‘𝑥) = 𝑁𝑁 = (♯‘𝑥))
1211biimpi 207 . . . . . . . . . . . . . . . . . . 19 ((♯‘𝑥) = 𝑁𝑁 = (♯‘𝑥))
1310, 12simpl2im 493 . . . . . . . . . . . . . . . . . 18 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → 𝑁 = (♯‘𝑥))
1413, 3eleq2s 2903 . . . . . . . . . . . . . . . . 17 (𝑥𝑊𝑁 = (♯‘𝑥))
1514adantr 468 . . . . . . . . . . . . . . . 16 ((𝑥𝑊𝑦𝑊) → 𝑁 = (♯‘𝑥))
1615adantr 468 . . . . . . . . . . . . . . 15 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑁 = (♯‘𝑥))
179clwwlknwrd 27182 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (𝑁 ClWWalksN 𝐺) → 𝑦 ∈ Word (Vtx‘𝐺))
1817, 3eleq2s 2903 . . . . . . . . . . . . . . . . . . . 20 (𝑦𝑊𝑦 ∈ Word (Vtx‘𝐺))
1918adantl 469 . . . . . . . . . . . . . . . . . . 19 ((𝑥𝑊𝑦𝑊) → 𝑦 ∈ Word (Vtx‘𝐺))
2019adantr 468 . . . . . . . . . . . . . . . . . 18 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑦 ∈ Word (Vtx‘𝐺))
2120adantl 469 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → 𝑦 ∈ Word (Vtx‘𝐺))
22 simprr 780 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (♯‘𝑥) = (♯‘𝑦))
2321, 22cshwcshid 13797 . . . . . . . . . . . . . . . 16 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → ((𝑛 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) → ∃𝑚 ∈ (0...(♯‘𝑥))𝑦 = (𝑥 cyclShift 𝑚)))
24 oveq2 6882 . . . . . . . . . . . . . . . . . . 19 (𝑁 = (♯‘𝑥) → (0...𝑁) = (0...(♯‘𝑥)))
25 oveq2 6882 . . . . . . . . . . . . . . . . . . . 20 ((♯‘𝑥) = (♯‘𝑦) → (0...(♯‘𝑥)) = (0...(♯‘𝑦)))
2625adantl 469 . . . . . . . . . . . . . . . . . . 19 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → (0...(♯‘𝑥)) = (0...(♯‘𝑦)))
2724, 26sylan9eq 2860 . . . . . . . . . . . . . . . . . 18 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...𝑁) = (0...(♯‘𝑦)))
2827eleq2d 2871 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (𝑛 ∈ (0...𝑁) ↔ 𝑛 ∈ (0...(♯‘𝑦))))
2928anbi1d 617 . . . . . . . . . . . . . . . 16 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → ((𝑛 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) ↔ (𝑛 ∈ (0...(♯‘𝑦)) ∧ 𝑥 = (𝑦 cyclShift 𝑛))))
3024adantr 468 . . . . . . . . . . . . . . . . 17 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (0...𝑁) = (0...(♯‘𝑥)))
3130rexeqdv 3334 . . . . . . . . . . . . . . . 16 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → (∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚) ↔ ∃𝑚 ∈ (0...(♯‘𝑥))𝑦 = (𝑥 cyclShift 𝑚)))
3223, 29, 313imtr4d 285 . . . . . . . . . . . . . . 15 ((𝑁 = (♯‘𝑥) ∧ ((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦))) → ((𝑛 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3316, 32mpancom 671 . . . . . . . . . . . . . 14 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → ((𝑛 ∈ (0...𝑁) ∧ 𝑥 = (𝑦 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3433expd 402 . . . . . . . . . . . . 13 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → (𝑛 ∈ (0...𝑁) → (𝑥 = (𝑦 cyclShift 𝑛) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))))
3534rexlimdv 3218 . . . . . . . . . . . 12 (((𝑥𝑊𝑦𝑊) ∧ (♯‘𝑥) = (♯‘𝑦)) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3635ex 399 . . . . . . . . . . 11 ((𝑥𝑊𝑦𝑊) → ((♯‘𝑥) = (♯‘𝑦) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))))
3736com23 86 . . . . . . . . . 10 ((𝑥𝑊𝑦𝑊) → (∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛) → ((♯‘𝑥) = (♯‘𝑦) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))))
38373impia 1138 . . . . . . . . 9 ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((♯‘𝑥) = (♯‘𝑦) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚)))
3938imp 395 . . . . . . . 8 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))
40 oveq2 6882 . . . . . . . . . 10 (𝑛 = 𝑚 → (𝑥 cyclShift 𝑛) = (𝑥 cyclShift 𝑚))
4140eqeq2d 2816 . . . . . . . . 9 (𝑛 = 𝑚 → (𝑦 = (𝑥 cyclShift 𝑛) ↔ 𝑦 = (𝑥 cyclShift 𝑚)))
4241cbvrexv 3361 . . . . . . . 8 (∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑚))
4339, 42sylibr 225 . . . . . . 7 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛))
447, 8, 433jca 1151 . . . . . 6 (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → (𝑦𝑊𝑥𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)))
453, 4erclwwlkneq 27218 . . . . . . 7 ((𝑦 ∈ V ∧ 𝑥 ∈ V) → (𝑦 𝑥 ↔ (𝑦𝑊𝑥𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛))))
4645ancoms 448 . . . . . 6 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑦 𝑥 ↔ (𝑦𝑊𝑥𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛))))
4744, 46syl5ibr 237 . . . . 5 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) ∧ (♯‘𝑥) = (♯‘𝑦)) → 𝑦 𝑥))
4847expd 402 . . . 4 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → ((𝑥𝑊𝑦𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑥 = (𝑦 cyclShift 𝑛)) → ((♯‘𝑥) = (♯‘𝑦) → 𝑦 𝑥)))
496, 48sylbid 231 . . 3 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦 → ((♯‘𝑥) = (♯‘𝑦) → 𝑦 𝑥)))
505, 49mpdd 43 . 2 ((𝑥 ∈ V ∧ 𝑦 ∈ V) → (𝑥 𝑦𝑦 𝑥))
511, 2, 50mp2an 675 1 (𝑥 𝑦𝑦 𝑥)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 197  wa 384  w3a 1100   = wceq 1637  wcel 2156  wrex 3097  Vcvv 3391   class class class wbr 4844  {copab 4906  cfv 6101  (class class class)co 6874  0cc0 10221  ...cfz 12549  chash 13337  Word cword 13502   cyclShift ccsh 13758  Vtxcvtx 26088   ClWWalksN cclwwlkn 27167
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1877  ax-4 1894  ax-5 2001  ax-6 2068  ax-7 2104  ax-8 2158  ax-9 2165  ax-10 2185  ax-11 2201  ax-12 2214  ax-13 2420  ax-ext 2784  ax-rep 4964  ax-sep 4975  ax-nul 4983  ax-pow 5035  ax-pr 5096  ax-un 7179  ax-cnex 10277  ax-resscn 10278  ax-1cn 10279  ax-icn 10280  ax-addcl 10281  ax-addrcl 10282  ax-mulcl 10283  ax-mulrcl 10284  ax-mulcom 10285  ax-addass 10286  ax-mulass 10287  ax-distr 10288  ax-i2m1 10289  ax-1ne0 10290  ax-1rid 10291  ax-rnegex 10292  ax-rrecex 10293  ax-cnre 10294  ax-pre-lttri 10295  ax-pre-lttrn 10296  ax-pre-ltadd 10297  ax-pre-mulgt0 10298  ax-pre-sup 10299
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 866  df-3or 1101  df-3an 1102  df-tru 1641  df-ex 1860  df-nf 1864  df-sb 2061  df-eu 2634  df-mo 2635  df-clab 2793  df-cleq 2799  df-clel 2802  df-nfc 2937  df-ne 2979  df-nel 3082  df-ral 3101  df-rex 3102  df-reu 3103  df-rmo 3104  df-rab 3105  df-v 3393  df-sbc 3634  df-csb 3729  df-dif 3772  df-un 3774  df-in 3776  df-ss 3783  df-pss 3785  df-nul 4117  df-if 4280  df-pw 4353  df-sn 4371  df-pr 4373  df-tp 4375  df-op 4377  df-uni 4631  df-int 4670  df-iun 4714  df-br 4845  df-opab 4907  df-mpt 4924  df-tr 4947  df-id 5219  df-eprel 5224  df-po 5232  df-so 5233  df-fr 5270  df-we 5272  df-xp 5317  df-rel 5318  df-cnv 5319  df-co 5320  df-dm 5321  df-rn 5322  df-res 5323  df-ima 5324  df-pred 5893  df-ord 5939  df-on 5940  df-lim 5941  df-suc 5942  df-iota 6064  df-fun 6103  df-fn 6104  df-f 6105  df-f1 6106  df-fo 6107  df-f1o 6108  df-fv 6109  df-riota 6835  df-ov 6877  df-oprab 6878  df-mpt2 6879  df-om 7296  df-1st 7398  df-2nd 7399  df-wrecs 7642  df-recs 7704  df-rdg 7742  df-1o 7796  df-oadd 7800  df-er 7979  df-map 8094  df-pm 8095  df-en 8193  df-dom 8194  df-sdom 8195  df-fin 8196  df-sup 8587  df-inf 8588  df-card 9048  df-pnf 10361  df-mnf 10362  df-xr 10363  df-ltxr 10364  df-le 10365  df-sub 10553  df-neg 10554  df-div 10970  df-nn 11306  df-2 11364  df-n0 11560  df-z 11644  df-uz 11905  df-rp 12047  df-fz 12550  df-fzo 12690  df-fl 12817  df-mod 12893  df-hash 13338  df-word 13510  df-concat 13512  df-substr 13514  df-csh 13759  df-clwwlk 27125  df-clwwlkn 27169
This theorem is referenced by:  erclwwlkn  27223  eclclwwlkn1  27226
  Copyright terms: Public domain W3C validator