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

Theorem eleclclwwlknlem2 30481
Description: Lemma 2 for eleclclwwlkn 30496. (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 488 . . . . 5 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → 𝑘 ∈ (0...𝑁))
21anim1i 627 . . . 4 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑘 ∈ (0...𝑁) ∧ (𝑋𝑊𝑥𝑊)))
32adantr 486 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → (𝑘 ∈ (0...𝑁) ∧ (𝑋𝑊𝑥𝑊)))
4 simpr 490 . . . . 5 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → 𝑋 = (𝑥 cyclShift 𝑘))
54adantr 486 . . . 4 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → 𝑋 = (𝑥 cyclShift 𝑘))
65anim1i 627 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → (𝑋 = (𝑥 cyclShift 𝑘) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)))
7 erclwwlkn1.w . . . 4 𝑊 = (𝑁 ClWWalksN 𝐺)
87eleclclwwlknlem1 30480 . . 3 ((𝑘 ∈ (0...𝑁) ∧ (𝑋𝑊𝑥𝑊)) → ((𝑋 = (𝑥 cyclShift 𝑘) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
93, 6, 8sylc 66 . 2 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛))
10 eqid 2765 . . . . . . . . . . . 12 (Vtx‘𝐺) = (Vtx‘𝐺)
1110clwwlknbp 30455 . . . . . . . . . . 11 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁))
1211, 7eleq2s 2883 . . . . . . . . . 10 (𝑥𝑊 → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁))
13 fznn0sub2 13682 . . . . . . . . . . . 12 (𝑘 ∈ (0...𝑁) → (𝑁𝑘) ∈ (0...𝑁))
14 oveq1 7426 . . . . . . . . . . . . 13 ((♯‘𝑥) = 𝑁 → ((♯‘𝑥) − 𝑘) = (𝑁𝑘))
1514eleq1d 2850 . . . . . . . . . . . 12 ((♯‘𝑥) = 𝑁 → (((♯‘𝑥) − 𝑘) ∈ (0...𝑁) ↔ (𝑁𝑘) ∈ (0...𝑁)))
1613, 15imbitrrid 249 . . . . . . . . . . 11 ((♯‘𝑥) = 𝑁 → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
1716adantl 487 . . . . . . . . . 10 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
1812, 17syl 18 . . . . . . . . 9 (𝑥𝑊 → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
1918adantl 487 . . . . . . . 8 ((𝑋𝑊𝑥𝑊) → (𝑘 ∈ (0...𝑁) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
2019com12 33 . . . . . . 7 (𝑘 ∈ (0...𝑁) → ((𝑋𝑊𝑥𝑊) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
2120adantr 486 . . . . . 6 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → ((𝑋𝑊𝑥𝑊) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁)))
2221imp 412 . . . . 5 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁))
2322adantr 486 . . . 4 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ((♯‘𝑥) − 𝑘) ∈ (0...𝑁))
24 simpr 490 . . . . . 6 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑋𝑊𝑥𝑊))
2524ancomd 467 . . . . 5 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑥𝑊𝑋𝑊))
2625adantr 486 . . . 4 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (𝑥𝑊𝑋𝑊))
2723, 26jca 521 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (((♯‘𝑥) − 𝑘) ∈ (0...𝑁) ∧ (𝑥𝑊𝑋𝑊)))
28 simpll 779 . . . . . . . . . . . . 13 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → 𝑥 ∈ Word (Vtx‘𝐺))
29 oveq2 7427 . . . . . . . . . . . . . . . . 17 (𝑁 = (♯‘𝑥) → (0...𝑁) = (0...(♯‘𝑥)))
3029eleq2d 2851 . . . . . . . . . . . . . . . 16 (𝑁 = (♯‘𝑥) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑥))))
3130eqcoms 2773 . . . . . . . . . . . . . . 15 ((♯‘𝑥) = 𝑁 → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑥))))
3231adantl 487 . . . . . . . . . . . . . 14 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(♯‘𝑥))))
3332biimpa 482 . . . . . . . . . . . . 13 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → 𝑘 ∈ (0...(♯‘𝑥)))
3428, 33jca 521 . . . . . . . . . . . 12 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))))
3534ex 418 . . . . . . . . . . 11 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (♯‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3612, 35syl 18 . . . . . . . . . 10 (𝑥𝑊 → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3736adantl 487 . . . . . . . . 9 ((𝑋𝑊𝑥𝑊) → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3837com12 33 . . . . . . . 8 (𝑘 ∈ (0...𝑁) → ((𝑋𝑊𝑥𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
3938adantr 486 . . . . . . 7 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → ((𝑋𝑊𝑥𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥)))))
4039imp 412 . . . . . 6 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))))
414eqcomd 2771 . . . . . . 7 ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → (𝑥 cyclShift 𝑘) = 𝑋)
4241adantr 486 . . . . . 6 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑥 cyclShift 𝑘) = 𝑋)
43 oveq1 7426 . . . . . . . 8 (𝑋 = (𝑥 cyclShift 𝑘) → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)))
4443eqcoms 2773 . . . . . . 7 ((𝑥 cyclShift 𝑘) = 𝑋 → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)))
45 elfzelz 13570 . . . . . . . 8 (𝑘 ∈ (0...(♯‘𝑥)) → 𝑘 ∈ ℤ)
46 2cshwid 14877 . . . . . . . 8 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ ℤ) → ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
4745, 46sylan2 605 . . . . . . 7 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))) → ((𝑥 cyclShift 𝑘) cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
4844, 47sylan9eqr 2822 . . . . . 6 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(♯‘𝑥))) ∧ (𝑥 cyclShift 𝑘) = 𝑋) → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
4940, 42, 48syl2anc 596 . . . . 5 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) = 𝑥)
5049eqcomd 2771 . . . 4 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → 𝑥 = (𝑋 cyclShift ((♯‘𝑥) − 𝑘)))
5150anim1i 627 . . 3 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (𝑥 = (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
527eleclclwwlknlem1 30480 . . 3 ((((♯‘𝑥) − 𝑘) ∈ (0...𝑁) ∧ (𝑥𝑊𝑋𝑊)) → ((𝑥 = (𝑋 cyclShift ((♯‘𝑥) − 𝑘)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)))
5327, 51, 52sylc 66 . 2 ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚))
549, 53impbida 813 1 (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋𝑊𝑥𝑊)) → (∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚) ↔ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401   = wceq 1570  wcel 2146  wrex 3091  cfv 6540  (class class class)co 7419  0cc0 11117  cmin 11458  cz 12608  ...cfz 13553  chash 14386  Word cword 14570   cyclShift ccsh 14851  Vtxcvtx 29403   ClWWalksN cclwwlkn 30444
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7742  ax-cnex 11173  ax-resscn 11174  ax-1cn 11175  ax-icn 11176  ax-addcl 11177  ax-addrcl 11178  ax-mulcl 11179  ax-mulrcl 11180  ax-mulcom 11181  ax-addass 11182  ax-mulass 11183  ax-distr 11184  ax-i2m1 11185  ax-1ne0 11186  ax-1rid 11187  ax-rnegex 11188  ax-rrecex 11189  ax-cnre 11190  ax-pre-lttri 11191  ax-pre-lttrn 11192  ax-pre-ltadd 11193  ax-pre-mulgt0 11194  ax-pre-sup 11195
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3067  df-ral 3082  df-rex 3092  df-rmo 3371  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7376  df-ov 7422  df-oprab 7423  df-mpo 7424  df-om 7869  df-1st 7992  df-2nd 7993  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-er 8700  df-map 8832  df-en 8950  df-dom 8951  df-sdom 8952  df-fin 8953  df-sup 9409  df-inf 9410  df-card 9941  df-pnf 11262  df-mnf 11263  df-xr 11264  df-ltxr 11265  df-le 11266  df-sub 11460  df-neg 11461  df-div 11889  df-nn 12251  df-2 12320  df-n0 12522  df-z 12609  df-uz 12881  df-rp 13035  df-fz 13554  df-fzo 13702  df-fl 13845  df-mod 13923  df-hash 14387  df-word 14571  df-concat 14628  df-substr 14701  df-pfx 14733  df-csh 14852  df-clwwlk 30402  df-clwwlkn 30445
This theorem is used by:  eleclclwwlkn  30496
  Copyright terms: Public domain W3C validator