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

Theorem eleclclwwlknlem2 30353
Description: Lemma 2 for eleclclwwlkn 30368. (Contributed by Alexander van der Vekens, 11-May-2018.) (Revised by AV, 30-Apr-2021.)
Hypothesis
Ref Expression
erclwwlkn1.w 𝑊 = (𝑁 ClWWalksN 𝐺)
Assertion
Ref Expression
eleclclwwlknlem2 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚) ↔ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
Distinct variable groups:   𝑚,𝑛,𝐺   𝑚,𝑁,𝑛   𝑚,𝑋,𝑛   𝑚,𝑌,𝑛   𝑘,𝑚,𝑛   𝑥,𝑚,𝑛
Allowed substitution hints:   𝐺(𝑥,𝑘)   𝑁(𝑥,𝑘)   𝑊(𝑥,𝑘,𝑚,𝑛)   𝑋(𝑥,𝑘)   𝑌(𝑥,𝑘)

Proof of Theorem eleclclwwlknlem2
StepHypRef Expression
1 simpl 487 . . . . 5 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → 𝑘 ∈ (0...𝑁))
21anim1i 626 . . . 4 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑘 ∈ (0...𝑁) ∧ (𝑋𝑊𝑥𝑊)))
32adantr 485 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → (𝑘 ∈ (0...𝑁) ∧ (𝑋𝑊𝑥𝑊)))
4 simpr 489 . . . . 5 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → 𝑋 = (𝑥 cyclShift 𝑘))
54adantr 485 . . . 4 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → 𝑋 = (𝑥 cyclShift 𝑘))
65anim1i 626 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → (𝑋 = (𝑥 cyclShift 𝑘) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)))
7 erclwwlkn1.w . . . 4 𝑊 = (𝑁 ClWWalksN 𝐺)
87eleclclwwlknlem1 30352 . . 3 ((𝑘 ∈ (0...𝑁) ∧ (𝑋𝑊𝑥𝑊)) → ((𝑋 = (𝑥 cyclShift 𝑘) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
93, 6, 8sylc 66 . 2 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛))
10 eqid 2769 . . . . . . . . . . . 12 (Vtx‘𝐺) = (Vtx‘𝐺)
1110clwwlknbp 30327 . . . . . . . . . . 11 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁))
1211, 7eleq2s 2887 . . . . . . . . . 10 (𝑥𝑊 → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁))
13 fznn0sub2 13663 . . . . . . . . . . . 12 (𝑘 ∈ (0...𝑁) → (𝑁𝑘) ∈ (0...𝑁))
14 oveq1 7418 . . . . . . . . . . . . 13 ((♯‘𝑥) = 𝑁 → ((♯‘𝑥) − 𝑘) = (𝑁𝑘))
1514eleq1d 2854 . . . . . . . . . . . 12 ((♯‘𝑥) = 𝑁 → (((♯‘𝑥) − 𝑘) ∈ (0...𝑁) ↔ (𝑁𝑘) ∈ (0...𝑁)))
1613, 15imbitrrid 249 . . . . . . . . . . 11 ((♯‘𝑥) = 𝑁 → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
1716adantl 486 . . . . . . . . . 10 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
1812, 17syl 18 . . . . . . . . 9 (𝑥𝑊 → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
1918adantl 486 . . . . . . . 8 ((𝑋𝑊𝑥𝑊) → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
2019com12 33 . . . . . . 7 (𝑘 ∈ (0...𝑁) → ((𝑋𝑊𝑥𝑊) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
2120adantr 485 . . . . . 6 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → ((𝑋𝑊𝑥𝑊) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
2221imp 411 . . . . 5 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁))
2322adantr 485 . . . 4 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁))
24 simpr 489 . . . . . 6 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑋𝑊𝑥𝑊))
2524ancomd 466 . . . . 5 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑥𝑊𝑋𝑊))
2625adantr 485 . . . 4 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (𝑥𝑊𝑋𝑊))
2723, 26jca 520 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (((♯‘𝑥) − 𝑘) ∈ (0...𝑁) ∧ (𝑥𝑊𝑋𝑊)))
28 simpll 778 . . . . . . . . . . . . 13 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → 𝑥 ∈ Word (Vtx‘𝐺))
29 oveq2 7419 . . . . . . . . . . . . . . . . 17 (𝑁 = (♯‘𝑥) → (0...𝑁) = (0...(♯‘𝑥)))
3029eleq2d 2855 . . . . . . . . . . . . . . . 16 (𝑁 = (♯‘𝑥) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑥))))
3130eqcoms 2777 . . . . . . . . . . . . . . 15 ((♯‘𝑥) = 𝑁 → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑥))))
3231adantl 486 . . . . . . . . . . . . . 14 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑥))))
3332biimpa 481 . . . . . . . . . . . . 13 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → 𝑘 ∈ (0...(♯‘𝑥)))
3428, 33jca 520 . . . . . . . . . . . 12 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))))
3534ex 417 . . . . . . . . . . 11 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3612, 35syl 18 . . . . . . . . . 10 (𝑥𝑊 → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3736adantl 486 . . . . . . . . 9 ((𝑋𝑊𝑥𝑊) → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3837com12 33 . . . . . . . 8 (𝑘 ∈ (0...𝑁) → ((𝑋𝑊𝑥𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3938adantr 485 . . . . . . 7 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → ((𝑋𝑊𝑥𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
4039imp 411 . . . . . 6 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))))
414eqcomd 2775 . . . . . . 7 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → (𝑥 cyclShift 𝑘) = 𝑋)
4241adantr 485 . . . . . 6 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑥 cyclShift 𝑘) = 𝑋)
43 oveq1 7418 . . . . . . . 8 (𝑋 = (𝑥 cyclShift 𝑘) → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)))
4443eqcoms 2777 . . . . . . 7 ((𝑥 cyclShift 𝑘) = 𝑋 → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)))
45 elfzelz 13552 . . . . . . . 8 (𝑘 ∈ (0...(♯‘𝑥)) → 𝑘 ∈ ℤ)
46 2cshwid 14851 . . . . . . . 8 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ ℤ) → ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
4745, 46sylan2 604 . . . . . . 7 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))) → ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
4844, 47sylan9eqr 2826 . . . . . 6 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))) ∧ (𝑥 cyclShift 𝑘) = 𝑋) → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
4940, 42, 48syl2anc 595 . . . . 5 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
5049eqcomd 2775 . . . 4 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → 𝑥 = (𝑋 cyclShift ((♯‘𝑥) − 𝑘)))
5150anim1i 626 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (𝑥 = (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
527eleclclwwlknlem1 30352 . . 3 ((((♯‘𝑥) − 𝑘) ∈ (0...𝑁) ∧ (𝑥𝑊𝑋𝑊)) → ((𝑥 = (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)))
5327, 51, 52sylc 66 . 2 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚))
549, 53impbida 812 1 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚) ↔ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400   = wceq 1567  wcel 2149  wrex 3095  cfv 6537  (class class class)co 7411  0cc0 11100  cmin 11441  cz 12591  ...cfz 13535  chash 14366  Word cword 14550   cyclShift ccsh 14825  Vtxcvtx 29287   ClWWalksN cclwwlkn 30316
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1822  ax-4 1836  ax-5 1937  ax-6 1994  ax-7 2035  ax-8 2151  ax-9 2159  ax-10 2182  ax-11 2198  ax-12 2219  ax-ext 2741  ax-rep 5242  ax-sep 5261  ax-nul 5271  ax-pow 5337  ax-pr 5405  ax-un 7733  ax-cnex 11156  ax-resscn 11157  ax-1cn 11158  ax-icn 11159  ax-addcl 11160  ax-addrcl 11161  ax-mulcl 11162  ax-mulrcl 11163  ax-mulcom 11164  ax-addass 11165  ax-mulass 11166  ax-distr 11167  ax-i2m1 11168  ax-1ne0 11169  ax-1rid 11170  ax-rnegex 11171  ax-rrecex 11172  ax-cnre 11173  ax-pre-lttri 11174  ax-pre-lttrn 11175  ax-pre-ltadd 11176  ax-pre-mulgt0 11177  ax-pre-sup 11178
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1102  df-3an 1103  df-tru 1570  df-fal 1580  df-ex 1807  df-nf 1811  df-sb 2098  df-mo 2573  df-eu 2603  df-clab 2748  df-cleq 2761  df-clel 2844  df-nfc 2918  df-ne 2965  df-nel 3071  df-ral 3086  df-rex 3096  df-rmo 3376  df-reu 3377  df-rab 3424  df-v 3465  df-sbc 3754  df-csb 3862  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-pss 3933  df-nul 4295  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-op 4601  df-uni 4877  df-int 4917  df-iun 4962  df-br 5114  df-opab 5178  df-mpt 5197  df-tr 5223  df-id 5557  df-eprel 5562  df-po 5570  df-so 5571  df-fr 5615  df-we 5617  df-xp 5668  df-rel 5669  df-cnv 5670  df-co 5671  df-dm 5672  df-rn 5673  df-res 5674  df-ima 5675  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7368  df-ov 7414  df-oprab 7415  df-mpo 7416  df-om 7863  df-1st 7986  df-2nd 7987  df-frecs 8278  df-wrecs 8309  df-recs 8358  df-rdg 8397  df-1o 8453  df-er 8694  df-map 8826  df-en 8944  df-dom 8945  df-sdom 8946  df-fin 8947  df-sup 9402  df-inf 9403  df-card 9925  df-pnf 11245  df-mnf 11246  df-xr 11247  df-ltxr 11248  df-le 11249  df-sub 11443  df-neg 11444  df-div 11872  df-nn 12234  df-2 12303  df-n0 12505  df-z 12592  df-uz 12863  df-rp 13017  df-fz 13536  df-fzo 13683  df-fl 13825  df-mod 13903  df-hash 14367  df-word 14551  df-concat 14608  df-substr 14679  df-pfx 14709  df-csh 14826  df-clwwlk 30274  df-clwwlkn 30317
This theorem is referenced by:  eleclclwwlkn  30368
  Copyright terms: Public domain W3C validator