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

Theorem clwlkclwwlk2 28346
Description: A closed walk corresponds to a closed walk as word in a simple pseudograph. (Contributed by Alexander van der Vekens, 22-Jun-2018.) (Revised by AV, 24-Apr-2021.) (Proof shortened by AV, 2-Nov-2022.)
Hypotheses
Ref Expression
clwlkclwwlk.v 𝑉 = (Vtx‘𝐺)
clwlkclwwlk.e 𝐸 = (iEdg‘𝐺)
Assertion
Ref Expression
clwlkclwwlk2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ 𝑃 ∈ (ClWWalks‘𝐺)))
Distinct variable groups:   𝑓,𝐸   𝑃,𝑓   𝑓,𝑉   𝑓,𝐺

Proof of Theorem clwlkclwwlk2
StepHypRef Expression
1 simp1 1134 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝐺 ∈ USPGraph)
2 wrdsymb1 14237 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃‘0) ∈ 𝑉)
32s1cld 14289 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉)
4 ccatcl 14258 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉) → (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉)
53, 4syldan 590 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉)
653adant1 1128 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉)
7 lencl 14217 . . . . . . . 8 (𝑃 ∈ Word 𝑉 → (♯‘𝑃) ∈ ℕ0)
8 1e2m1 12083 . . . . . . . . . 10 1 = (2 − 1)
98breq1i 5085 . . . . . . . . 9 (1 ≤ (♯‘𝑃) ↔ (2 − 1) ≤ (♯‘𝑃))
10 2re 12030 . . . . . . . . . . 11 2 ∈ ℝ
1110a1i 11 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → 2 ∈ ℝ)
12 1red 10960 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → 1 ∈ ℝ)
13 nn0re 12225 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → (♯‘𝑃) ∈ ℝ)
1411, 12, 13lesubaddd 11555 . . . . . . . . 9 ((♯‘𝑃) ∈ ℕ0 → ((2 − 1) ≤ (♯‘𝑃) ↔ 2 ≤ ((♯‘𝑃) + 1)))
159, 14syl5bb 282 . . . . . . . 8 ((♯‘𝑃) ∈ ℕ0 → (1 ≤ (♯‘𝑃) ↔ 2 ≤ ((♯‘𝑃) + 1)))
167, 15syl 17 . . . . . . 7 (𝑃 ∈ Word 𝑉 → (1 ≤ (♯‘𝑃) ↔ 2 ≤ ((♯‘𝑃) + 1)))
1716biimpa 476 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ ((♯‘𝑃) + 1))
18 s1len 14292 . . . . . . 7 (♯‘⟨“(𝑃‘0)”⟩) = 1
1918oveq2i 7279 . . . . . 6 ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)) = ((♯‘𝑃) + 1)
2017, 19breqtrrdi 5120 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
21 ccatlen 14259 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉) → (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
223, 21syldan 590 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
2320, 22breqtrrd 5106 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)))
24233adant1 1128 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)))
25 clwlkclwwlk.v . . . 4 𝑉 = (Vtx‘𝐺)
26 clwlkclwwlk.e . . . 4 𝐸 = (iEdg‘𝐺)
2725, 26clwlkclwwlk 28345 . . 3 ((𝐺 ∈ USPGraph ∧ (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉 ∧ 2 ≤ (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩))) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ ((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺))))
281, 6, 24, 27syl3anc 1369 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ ((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺))))
29 wrdlenccats1lenm1 14308 . . . . . . . 8 (𝑃 ∈ Word 𝑉 → ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1) = (♯‘𝑃))
3029oveq2d 7284 . . . . . . 7 (𝑃 ∈ Word 𝑉 → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix (♯‘𝑃)))
3130adantr 480 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix (♯‘𝑃)))
32 simpl 482 . . . . . . 7 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝑃 ∈ Word 𝑉)
33 eqidd 2740 . . . . . . 7 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (♯‘𝑃) = (♯‘𝑃))
34 pfxccatid 14435 . . . . . . 7 ((𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉 ∧ (♯‘𝑃) = (♯‘𝑃)) → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix (♯‘𝑃)) = 𝑃)
3532, 3, 33, 34syl3anc 1369 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix (♯‘𝑃)) = 𝑃)
3631, 35eqtr2d 2780 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝑃 = ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)))
3736eleq1d 2824 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ∈ (ClWWalks‘𝐺) ↔ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺)))
38 lswccats1fst 14326 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0))
3938biantrurd 532 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺) ↔ ((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺))))
4037, 39bitr2d 279 . . 3 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺)) ↔ 𝑃 ∈ (ClWWalks‘𝐺)))
41403adant1 1128 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) prefix ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)) ∈ (ClWWalks‘𝐺)) ↔ 𝑃 ∈ (ClWWalks‘𝐺)))
4228, 41bitrd 278 1 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ 𝑃 ∈ (ClWWalks‘𝐺)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 395  w3a 1085   = wceq 1541  wex 1785  wcel 2109   class class class wbr 5078  cfv 6430  (class class class)co 7268  cr 10854  0cc0 10855  1c1 10856   + caddc 10858  cle 10994  cmin 11188  2c2 12011  0cn0 12216  chash 14025  Word cword 14198  lastSclsw 14246   ++ cconcat 14254  ⟨“cs1 14281   prefix cpfx 14364  Vtxcvtx 27347  iEdgciedg 27348  USPGraphcuspgr 27499  ClWalkscclwlks 28117  ClWWalkscclwwlk 28324
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1801  ax-4 1815  ax-5 1916  ax-6 1974  ax-7 2014  ax-8 2111  ax-9 2119  ax-10 2140  ax-11 2157  ax-12 2174  ax-ext 2710  ax-rep 5213  ax-sep 5226  ax-nul 5233  ax-pow 5291  ax-pr 5355  ax-un 7579  ax-cnex 10911  ax-resscn 10912  ax-1cn 10913  ax-icn 10914  ax-addcl 10915  ax-addrcl 10916  ax-mulcl 10917  ax-mulrcl 10918  ax-mulcom 10919  ax-addass 10920  ax-mulass 10921  ax-distr 10922  ax-i2m1 10923  ax-1ne0 10924  ax-1rid 10925  ax-rnegex 10926  ax-rrecex 10927  ax-cnre 10928  ax-pre-lttri 10929  ax-pre-lttrn 10930  ax-pre-ltadd 10931  ax-pre-mulgt0 10932
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-ifp 1060  df-3or 1086  df-3an 1087  df-tru 1544  df-fal 1554  df-ex 1786  df-nf 1790  df-sb 2071  df-mo 2541  df-eu 2570  df-clab 2717  df-cleq 2731  df-clel 2817  df-nfc 2890  df-ne 2945  df-nel 3051  df-ral 3070  df-rex 3071  df-reu 3072  df-rab 3074  df-v 3432  df-sbc 3720  df-csb 3837  df-dif 3894  df-un 3896  df-in 3898  df-ss 3908  df-pss 3910  df-nul 4262  df-if 4465  df-pw 4540  df-sn 4567  df-pr 4569  df-tp 4571  df-op 4573  df-uni 4845  df-int 4885  df-iun 4931  df-br 5079  df-opab 5141  df-mpt 5162  df-tr 5196  df-id 5488  df-eprel 5494  df-po 5502  df-so 5503  df-fr 5543  df-we 5545  df-xp 5594  df-rel 5595  df-cnv 5596  df-co 5597  df-dm 5598  df-rn 5599  df-res 5600  df-ima 5601  df-pred 6199  df-ord 6266  df-on 6267  df-lim 6268  df-suc 6269  df-iota 6388  df-fun 6432  df-fn 6433  df-f 6434  df-f1 6435  df-fo 6436  df-f1o 6437  df-fv 6438  df-riota 7225  df-ov 7271  df-oprab 7272  df-mpo 7273  df-om 7701  df-1st 7817  df-2nd 7818  df-frecs 8081  df-wrecs 8112  df-recs 8186  df-rdg 8225  df-1o 8281  df-2o 8282  df-oadd 8285  df-er 8472  df-map 8591  df-pm 8592  df-en 8708  df-dom 8709  df-sdom 8710  df-fin 8711  df-dju 9643  df-card 9681  df-pnf 10995  df-mnf 10996  df-xr 10997  df-ltxr 10998  df-le 10999  df-sub 11190  df-neg 11191  df-nn 11957  df-2 12019  df-n0 12217  df-xnn0 12289  df-z 12303  df-uz 12565  df-rp 12713  df-fz 13222  df-fzo 13365  df-hash 14026  df-word 14199  df-lsw 14247  df-concat 14255  df-s1 14282  df-substr 14335  df-pfx 14365  df-edg 27399  df-uhgr 27409  df-upgr 27433  df-uspgr 27501  df-wlks 27947  df-clwlks 28118  df-clwwlk 28325
This theorem is referenced by:  clwlkclwwlkfo  28352
  Copyright terms: Public domain W3C validator