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

Theorem clwlkclwwlk2 27208
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, 7-Mar-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 lswccats1fst 13610 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0))
213adant1 1160 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0))
32biantrurd 528 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩) ∈ (ClWWalks‘𝐺) ↔ ((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩) ∈ (ClWWalks‘𝐺))))
4 wrdlenccats1lenm1 13593 . . . . . . . 8 (𝑃 ∈ Word 𝑉 → ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1) = (♯‘𝑃))
54adantr 472 . . . . . . 7 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1) = (♯‘𝑃))
65opeq2d 4565 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩ = ⟨0, (♯‘𝑃)⟩)
76oveq2d 6857 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, (♯‘𝑃)⟩))
8 simpl 474 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝑃 ∈ Word 𝑉)
9 wrdsymb1 13523 . . . . . . 7 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃‘0) ∈ 𝑉)
109s1cld 13573 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉)
11 eqidd 2765 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (♯‘𝑃) = (♯‘𝑃))
12 swrdccatidOLD 13752 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉 ∧ (♯‘𝑃) = (♯‘𝑃)) → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, (♯‘𝑃)⟩) = 𝑃)
138, 10, 11, 12syl3anc 1490 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, (♯‘𝑃)⟩) = 𝑃)
147, 13eqtr2d 2799 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝑃 = ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩))
15143adant1 1160 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝑃 = ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩))
1615eleq1d 2828 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ∈ (ClWWalks‘𝐺) ↔ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩) ∈ (ClWWalks‘𝐺)))
17 simp1 1166 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝐺 ∈ USPGraph)
18 simp2 1167 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 𝑃 ∈ Word 𝑉)
19103adant1 1160 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉)
20 ccatcl 13544 . . . 4 ((𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉) → (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉)
2118, 19, 20syl2anc 579 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉)
22 lencl 13504 . . . . . . . 8 (𝑃 ∈ Word 𝑉 → (♯‘𝑃) ∈ ℕ0)
23 1e2m1 11405 . . . . . . . . . . 11 1 = (2 − 1)
2423a1i 11 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → 1 = (2 − 1))
2524breq1d 4818 . . . . . . . . 9 ((♯‘𝑃) ∈ ℕ0 → (1 ≤ (♯‘𝑃) ↔ (2 − 1) ≤ (♯‘𝑃)))
26 2re 11345 . . . . . . . . . . 11 2 ∈ ℝ
2726a1i 11 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → 2 ∈ ℝ)
28 1red 10293 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → 1 ∈ ℝ)
29 nn0re 11547 . . . . . . . . . 10 ((♯‘𝑃) ∈ ℕ0 → (♯‘𝑃) ∈ ℝ)
3027, 28, 29lesubaddd 10877 . . . . . . . . 9 ((♯‘𝑃) ∈ ℕ0 → ((2 − 1) ≤ (♯‘𝑃) ↔ 2 ≤ ((♯‘𝑃) + 1)))
3125, 30bitrd 270 . . . . . . . 8 ((♯‘𝑃) ∈ ℕ0 → (1 ≤ (♯‘𝑃) ↔ 2 ≤ ((♯‘𝑃) + 1)))
3222, 31syl 17 . . . . . . 7 (𝑃 ∈ Word 𝑉 → (1 ≤ (♯‘𝑃) ↔ 2 ≤ ((♯‘𝑃) + 1)))
3332biimpa 468 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ ((♯‘𝑃) + 1))
34 s1len 13576 . . . . . . 7 (♯‘⟨“(𝑃‘0)”⟩) = 1
3534oveq2i 6852 . . . . . 6 ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)) = ((♯‘𝑃) + 1)
3633, 35syl6breqr 4850 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
37363adant1 1160 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
388, 10jca 507 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉))
39383adant1 1160 . . . . 5 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉))
40 ccatlen 13545 . . . . 5 ((𝑃 ∈ Word 𝑉 ∧ ⟨“(𝑃‘0)”⟩ ∈ Word 𝑉) → (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
4139, 40syl 17 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((♯‘𝑃) + (♯‘⟨“(𝑃‘0)”⟩)))
4237, 41breqtrrd 4836 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → 2 ≤ (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)))
43 clwlkclwwlk.v . . . 4 𝑉 = (Vtx‘𝐺)
44 clwlkclwwlk.e . . . 4 𝐸 = (iEdg‘𝐺)
4543, 44clwlkclwwlk 27207 . . 3 ((𝐺 ∈ USPGraph ∧ (𝑃 ++ ⟨“(𝑃‘0)”⟩) ∈ Word 𝑉 ∧ 2 ≤ (♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩))) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ ((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩) ∈ (ClWWalks‘𝐺))))
4617, 21, 42, 45syl3anc 1490 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ ((lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0) ∧ ((𝑃 ++ ⟨“(𝑃‘0)”⟩) substr ⟨0, ((♯‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) − 1)⟩) ∈ (ClWWalks‘𝐺))))
473, 16, 463bitr4rd 303 1 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)(𝑃 ++ ⟨“(𝑃‘0)”⟩) ↔ 𝑃 ∈ (ClWWalks‘𝐺)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 197  wa 384  w3a 1107   = wceq 1652  wex 1874  wcel 2155  cop 4339   class class class wbr 4808  cfv 6067  (class class class)co 6841  cr 10187  0cc0 10188  1c1 10189   + caddc 10191  cle 10328  cmin 10519  2c2 11326  0cn0 11537  chash 13320  Word cword 13485  lastSclsw 13532   ++ cconcat 13540  ⟨“cs1 13565   substr csubstr 13615  Vtxcvtx 26164  iEdgciedg 26165  USPGraphcuspgr 26320  ClWalkscclwlks 26956  ClWWalkscclwwlk 27186
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1890  ax-4 1904  ax-5 2005  ax-6 2069  ax-7 2105  ax-8 2157  ax-9 2164  ax-10 2183  ax-11 2198  ax-12 2211  ax-13 2349  ax-ext 2742  ax-rep 4929  ax-sep 4940  ax-nul 4948  ax-pow 5000  ax-pr 5061  ax-un 7146  ax-cnex 10244  ax-resscn 10245  ax-1cn 10246  ax-icn 10247  ax-addcl 10248  ax-addrcl 10249  ax-mulcl 10250  ax-mulrcl 10251  ax-mulcom 10252  ax-addass 10253  ax-mulass 10254  ax-distr 10255  ax-i2m1 10256  ax-1ne0 10257  ax-1rid 10258  ax-rnegex 10259  ax-rrecex 10260  ax-cnre 10261  ax-pre-lttri 10262  ax-pre-lttrn 10263  ax-pre-ltadd 10264  ax-pre-mulgt0 10265
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 874  df-ifp 1086  df-3or 1108  df-3an 1109  df-tru 1656  df-ex 1875  df-nf 1879  df-sb 2062  df-mo 2564  df-eu 2581  df-clab 2751  df-cleq 2757  df-clel 2760  df-nfc 2895  df-ne 2937  df-nel 3040  df-ral 3059  df-rex 3060  df-reu 3061  df-rmo 3062  df-rab 3063  df-v 3351  df-sbc 3596  df-csb 3691  df-dif 3734  df-un 3736  df-in 3738  df-ss 3745  df-pss 3747  df-nul 4079  df-if 4243  df-pw 4316  df-sn 4334  df-pr 4336  df-tp 4338  df-op 4340  df-uni 4594  df-int 4633  df-iun 4677  df-br 4809  df-opab 4871  df-mpt 4888  df-tr 4911  df-id 5184  df-eprel 5189  df-po 5197  df-so 5198  df-fr 5235  df-we 5237  df-xp 5282  df-rel 5283  df-cnv 5284  df-co 5285  df-dm 5286  df-rn 5287  df-res 5288  df-ima 5289  df-pred 5864  df-ord 5910  df-on 5911  df-lim 5912  df-suc 5913  df-iota 6030  df-fun 6069  df-fn 6070  df-f 6071  df-f1 6072  df-fo 6073  df-f1o 6074  df-fv 6075  df-riota 6802  df-ov 6844  df-oprab 6845  df-mpt2 6846  df-om 7263  df-1st 7365  df-2nd 7366  df-wrecs 7609  df-recs 7671  df-rdg 7709  df-1o 7763  df-2o 7764  df-oadd 7767  df-er 7946  df-map 8061  df-pm 8062  df-en 8160  df-dom 8161  df-sdom 8162  df-fin 8163  df-card 9015  df-cda 9242  df-pnf 10329  df-mnf 10330  df-xr 10331  df-ltxr 10332  df-le 10333  df-sub 10521  df-neg 10522  df-nn 11274  df-2 11334  df-n0 11538  df-xnn0 11610  df-z 11624  df-uz 11886  df-rp 12028  df-fz 12533  df-fzo 12673  df-hash 13321  df-word 13486  df-lsw 13533  df-concat 13541  df-s1 13566  df-substr 13616  df-edg 26216  df-uhgr 26229  df-upgr 26253  df-uspgr 26322  df-wlks 26785  df-clwlks 26957  df-clwwlk 27187
This theorem is referenced by:  clwlkclwwlkfo  27214  clwlksfoclwwlkOLD  27299
  Copyright terms: Public domain W3C validator