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

Theorem umgr2wlkon 27239
Description: For each pair of adjacent edges in a multigraph, there is a walk of length 2 between the not common vertices of the edges. (Contributed by Alexander van der Vekens, 18-Feb-2018.) (Revised by AV, 30-Jan-2021.)
Hypothesis
Ref Expression
umgr2wlk.e 𝐸 = (Edg‘𝐺)
Assertion
Ref Expression
umgr2wlkon ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ∃𝑓𝑝 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝)
Distinct variable groups:   𝐴,𝑓,𝑝   𝐵,𝑓,𝑝   𝐶,𝑓,𝑝   𝑓,𝐺,𝑝   𝑓,𝐸,𝑝

Proof of Theorem umgr2wlkon
StepHypRef Expression
1 umgr2wlk.e . . 3 𝐸 = (Edg‘𝐺)
21umgr2wlk 27238 . 2 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))))
3 simp1 1167 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(Walks‘𝐺)𝑝)
4 eqcom 2806 . . . . . . . . . 10 (𝐴 = (𝑝‘0) ↔ (𝑝‘0) = 𝐴)
54biimpi 208 . . . . . . . . 9 (𝐴 = (𝑝‘0) → (𝑝‘0) = 𝐴)
653ad2ant1 1164 . . . . . . . 8 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘0) = 𝐴)
763ad2ant3 1166 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘0) = 𝐴)
8 fveq2 6411 . . . . . . . . . . . . . . 15 (2 = (♯‘𝑓) → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
98eqcoms 2807 . . . . . . . . . . . . . 14 ((♯‘𝑓) = 2 → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
109eqeq1d 2801 . . . . . . . . . . . . 13 ((♯‘𝑓) = 2 → ((𝑝‘2) = 𝐶 ↔ (𝑝‘(♯‘𝑓)) = 𝐶))
1110biimpcd 241 . . . . . . . . . . . 12 ((𝑝‘2) = 𝐶 → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1211eqcoms 2807 . . . . . . . . . . 11 (𝐶 = (𝑝‘2) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
13123ad2ant3 1166 . . . . . . . . . 10 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1413com12 32 . . . . . . . . 9 ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶))
1514a1i 11 . . . . . . . 8 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶)))
16153imp 1138 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘(♯‘𝑓)) = 𝐶)
173, 7, 163jca 1159 . . . . . 6 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
1817adantl 474 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
191umgr2adedgwlklem 27233 . . . . . . 7 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺))))
20 simprr1 1288 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐴 ∈ (Vtx‘𝐺))
21 simprr3 1292 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐶 ∈ (Vtx‘𝐺))
2220, 21jca 508 . . . . . . 7 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
2319, 22mpdan 679 . . . . . 6 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
24 vex 3388 . . . . . . . 8 𝑓 ∈ V
25 vex 3388 . . . . . . . 8 𝑝 ∈ V
2624, 25pm3.2i 463 . . . . . . 7 (𝑓 ∈ V ∧ 𝑝 ∈ V)
2726a1i 11 . . . . . 6 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓 ∈ V ∧ 𝑝 ∈ V))
28 eqid 2799 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
2928iswlkon 26906 . . . . . 6 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)) ∧ (𝑓 ∈ V ∧ 𝑝 ∈ V)) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3023, 27, 29syl2an2r 676 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3118, 30mpbird 249 . . . 4 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝)
3231ex 402 . . 3 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝))
33322eximdv 2015 . 2 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → (∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → ∃𝑓𝑝 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝))
342, 33mpd 15 1 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ∃𝑓𝑝 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 385  w3a 1108   = wceq 1653  wex 1875  wcel 2157  wne 2971  Vcvv 3385  {cpr 4370   class class class wbr 4843  cfv 6101  (class class class)co 6878  0cc0 10224  1c1 10225  2c2 11368  chash 13370  Vtxcvtx 26231  Edgcedg 26282  UMGraphcumgr 26316  Walkscwlks 26846  WalksOncwlkson 26847
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1891  ax-4 1905  ax-5 2006  ax-6 2072  ax-7 2107  ax-8 2159  ax-9 2166  ax-10 2185  ax-11 2200  ax-12 2213  ax-13 2377  ax-ext 2777  ax-rep 4964  ax-sep 4975  ax-nul 4983  ax-pow 5035  ax-pr 5097  ax-un 7183  ax-cnex 10280  ax-resscn 10281  ax-1cn 10282  ax-icn 10283  ax-addcl 10284  ax-addrcl 10285  ax-mulcl 10286  ax-mulrcl 10287  ax-mulcom 10288  ax-addass 10289  ax-mulass 10290  ax-distr 10291  ax-i2m1 10292  ax-1ne0 10293  ax-1rid 10294  ax-rnegex 10295  ax-rrecex 10296  ax-cnre 10297  ax-pre-lttri 10298  ax-pre-lttrn 10299  ax-pre-ltadd 10300  ax-pre-mulgt0 10301
This theorem depends on definitions:  df-bi 199  df-an 386  df-or 875  df-ifp 1087  df-3or 1109  df-3an 1110  df-tru 1657  df-ex 1876  df-nf 1880  df-sb 2065  df-mo 2591  df-eu 2609  df-clab 2786  df-cleq 2792  df-clel 2795  df-nfc 2930  df-ne 2972  df-nel 3075  df-ral 3094  df-rex 3095  df-reu 3096  df-rmo 3097  df-rab 3098  df-v 3387  df-sbc 3634  df-csb 3729  df-dif 3772  df-un 3774  df-in 3776  df-ss 3783  df-pss 3785  df-nul 4116  df-if 4278  df-pw 4351  df-sn 4369  df-pr 4371  df-tp 4373  df-op 4375  df-uni 4629  df-int 4668  df-iun 4712  df-br 4844  df-opab 4906  df-mpt 4923  df-tr 4946  df-id 5220  df-eprel 5225  df-po 5233  df-so 5234  df-fr 5271  df-we 5273  df-xp 5318  df-rel 5319  df-cnv 5320  df-co 5321  df-dm 5322  df-rn 5323  df-res 5324  df-ima 5325  df-pred 5898  df-ord 5944  df-on 5945  df-lim 5946  df-suc 5947  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 6839  df-ov 6881  df-oprab 6882  df-mpt2 6883  df-om 7300  df-1st 7401  df-2nd 7402  df-wrecs 7645  df-recs 7707  df-rdg 7745  df-1o 7799  df-oadd 7803  df-er 7982  df-map 8097  df-pm 8098  df-en 8196  df-dom 8197  df-sdom 8198  df-fin 8199  df-card 9051  df-cda 9278  df-pnf 10365  df-mnf 10366  df-xr 10367  df-ltxr 10368  df-le 10369  df-sub 10558  df-neg 10559  df-nn 11313  df-2 11376  df-3 11377  df-n0 11581  df-z 11667  df-uz 11931  df-fz 12581  df-fzo 12721  df-hash 13371  df-word 13535  df-concat 13591  df-s1 13616  df-s2 13933  df-s3 13934  df-edg 26283  df-uhgr 26293  df-upgr 26317  df-umgr 26318  df-wlks 26849  df-wlkson 26850
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator