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

Theorem umgr2wlkon 27070
 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 27069 . 2 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))))
3 simp1 1131 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(Walks‘𝐺)𝑝)
4 eqcom 2767 . . . . . . . . . 10 (𝐴 = (𝑝‘0) ↔ (𝑝‘0) = 𝐴)
54biimpi 206 . . . . . . . . 9 (𝐴 = (𝑝‘0) → (𝑝‘0) = 𝐴)
653ad2ant1 1128 . . . . . . . 8 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘0) = 𝐴)
763ad2ant3 1130 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘0) = 𝐴)
8 fveq2 6352 . . . . . . . . . . . . . . 15 (2 = (♯‘𝑓) → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
98eqcoms 2768 . . . . . . . . . . . . . 14 ((♯‘𝑓) = 2 → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
109eqeq1d 2762 . . . . . . . . . . . . 13 ((♯‘𝑓) = 2 → ((𝑝‘2) = 𝐶 ↔ (𝑝‘(♯‘𝑓)) = 𝐶))
1110biimpcd 239 . . . . . . . . . . . 12 ((𝑝‘2) = 𝐶 → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1211eqcoms 2768 . . . . . . . . . . 11 (𝐶 = (𝑝‘2) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
13123ad2ant3 1130 . . . . . . . . . 10 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1413com12 32 . . . . . . . . 9 ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶))
1514a1i 11 . . . . . . . 8 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶)))
16153imp 1102 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘(♯‘𝑓)) = 𝐶)
173, 7, 163jca 1123 . . . . . 6 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
1817adantl 473 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
191umgr2adedgwlklem 27064 . . . . . . 7 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺))))
20 simprr1 1273 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐴 ∈ (Vtx‘𝐺))
21 simprr3 1277 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐶 ∈ (Vtx‘𝐺))
2220, 21jca 555 . . . . . . 7 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
2319, 22mpdan 705 . . . . . 6 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
24 vex 3343 . . . . . . . 8 𝑓 ∈ V
25 vex 3343 . . . . . . . 8 𝑝 ∈ V
2624, 25pm3.2i 470 . . . . . . 7 (𝑓 ∈ V ∧ 𝑝 ∈ V)
2726a1i 11 . . . . . 6 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓 ∈ V ∧ 𝑝 ∈ V))
28 eqid 2760 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
2928iswlkon 26763 . . . . . 6 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)) ∧ (𝑓 ∈ V ∧ 𝑝 ∈ V)) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3023, 27, 29syl2an2r 911 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3118, 30mpbird 247 . . . 4 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝)
3231ex 449 . . 3 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝))
33322eximdv 1997 . 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 196   ∧ wa 383   ∧ w3a 1072   = wceq 1632  ∃wex 1853   ∈ wcel 2139   ≠ wne 2932  Vcvv 3340  {cpr 4323   class class class wbr 4804  ‘cfv 6049  (class class class)co 6813  0cc0 10128  1c1 10129  2c2 11262  ♯chash 13311  Vtxcvtx 26073  Edgcedg 26138  UMGraphcumgr 26175  Walkscwlks 26702  WalksOncwlkson 26703 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-8 2141  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740  ax-rep 4923  ax-sep 4933  ax-nul 4941  ax-pow 4992  ax-pr 5055  ax-un 7114  ax-cnex 10184  ax-resscn 10185  ax-1cn 10186  ax-icn 10187  ax-addcl 10188  ax-addrcl 10189  ax-mulcl 10190  ax-mulrcl 10191  ax-mulcom 10192  ax-addass 10193  ax-mulass 10194  ax-distr 10195  ax-i2m1 10196  ax-1ne0 10197  ax-1rid 10198  ax-rnegex 10199  ax-rrecex 10200  ax-cnre 10201  ax-pre-lttri 10202  ax-pre-lttrn 10203  ax-pre-ltadd 10204  ax-pre-mulgt0 10205 This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-ifp 1051  df-3or 1073  df-3an 1074  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-mo 2612  df-clab 2747  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ne 2933  df-nel 3036  df-ral 3055  df-rex 3056  df-reu 3057  df-rmo 3058  df-rab 3059  df-v 3342  df-sbc 3577  df-csb 3675  df-dif 3718  df-un 3720  df-in 3722  df-ss 3729  df-pss 3731  df-nul 4059  df-if 4231  df-pw 4304  df-sn 4322  df-pr 4324  df-tp 4326  df-op 4328  df-uni 4589  df-int 4628  df-iun 4674  df-br 4805  df-opab 4865  df-mpt 4882  df-tr 4905  df-id 5174  df-eprel 5179  df-po 5187  df-so 5188  df-fr 5225  df-we 5227  df-xp 5272  df-rel 5273  df-cnv 5274  df-co 5275  df-dm 5276  df-rn 5277  df-res 5278  df-ima 5279  df-pred 5841  df-ord 5887  df-on 5888  df-lim 5889  df-suc 5890  df-iota 6012  df-fun 6051  df-fn 6052  df-f 6053  df-f1 6054  df-fo 6055  df-f1o 6056  df-fv 6057  df-riota 6774  df-ov 6816  df-oprab 6817  df-mpt2 6818  df-om 7231  df-1st 7333  df-2nd 7334  df-wrecs 7576  df-recs 7637  df-rdg 7675  df-1o 7729  df-oadd 7733  df-er 7911  df-map 8025  df-pm 8026  df-en 8122  df-dom 8123  df-sdom 8124  df-fin 8125  df-card 8955  df-cda 9182  df-pnf 10268  df-mnf 10269  df-xr 10270  df-ltxr 10271  df-le 10272  df-sub 10460  df-neg 10461  df-nn 11213  df-2 11271  df-3 11272  df-n0 11485  df-z 11570  df-uz 11880  df-fz 12520  df-fzo 12660  df-hash 13312  df-word 13485  df-concat 13487  df-s1 13488  df-s2 13793  df-s3 13794  df-edg 26139  df-uhgr 26152  df-upgr 26176  df-umgr 26177  df-wlks 26705  df-wlkson 26706 This theorem is referenced by: (None)
 Copyright terms: Public domain W3C validator