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

Theorem umgr2wlkon 30006
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 30005 . 2 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))))
3 simp1 1137 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(Walks‘𝐺)𝑝)
4 eqcom 2744 . . . . . . . . . 10 (𝐴 = (𝑝‘0) ↔ (𝑝‘0) = 𝐴)
54biimpi 216 . . . . . . . . 9 (𝐴 = (𝑝‘0) → (𝑝‘0) = 𝐴)
653ad2ant1 1134 . . . . . . . 8 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘0) = 𝐴)
763ad2ant3 1136 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘0) = 𝐴)
8 fveq2 6835 . . . . . . . . . . . . . . 15 (2 = (♯‘𝑓) → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
98eqcoms 2745 . . . . . . . . . . . . . 14 ((♯‘𝑓) = 2 → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
109eqeq1d 2739 . . . . . . . . . . . . 13 ((♯‘𝑓) = 2 → ((𝑝‘2) = 𝐶 ↔ (𝑝‘(♯‘𝑓)) = 𝐶))
1110biimpcd 249 . . . . . . . . . . . 12 ((𝑝‘2) = 𝐶 → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1211eqcoms 2745 . . . . . . . . . . 11 (𝐶 = (𝑝‘2) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
13123ad2ant3 1136 . . . . . . . . . 10 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1413com12 32 . . . . . . . . 9 ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶))
1514a1i 11 . . . . . . . 8 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶)))
16153imp 1111 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘(♯‘𝑓)) = 𝐶)
173, 7, 163jca 1129 . . . . . 6 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
1817adantl 481 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
191umgr2adedgwlklem 30000 . . . . . . 7 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺))))
20 simprr1 1223 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐴 ∈ (Vtx‘𝐺))
21 simprr3 1225 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐶 ∈ (Vtx‘𝐺))
2220, 21jca 511 . . . . . . 7 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
2319, 22mpdan 688 . . . . . 6 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
24 vex 3445 . . . . . . . 8 𝑓 ∈ V
25 vex 3445 . . . . . . . 8 𝑝 ∈ V
2624, 25pm3.2i 470 . . . . . . 7 (𝑓 ∈ V ∧ 𝑝 ∈ V)
2726a1i 11 . . . . . 6 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓 ∈ V ∧ 𝑝 ∈ V))
28 eqid 2737 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
2928iswlkon 29712 . . . . . 6 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)) ∧ (𝑓 ∈ V ∧ 𝑝 ∈ V)) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3023, 27, 29syl2an2r 686 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3118, 30mpbird 257 . . . 4 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝)
3231ex 412 . . 3 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝))
33322eximdv 1921 . 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 206  wa 395  w3a 1087   = wceq 1542  wex 1781  wcel 2114  wne 2933  Vcvv 3441  {cpr 4583   class class class wbr 5099  cfv 6493  (class class class)co 7360  0cc0 11030  1c1 11031  2c2 12204  chash 14257  Vtxcvtx 29052  Edgcedg 29103  UMGraphcumgr 29137  Walkscwlks 29653  WalksOncwlkson 29654
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5225  ax-sep 5242  ax-nul 5252  ax-pow 5311  ax-pr 5378  ax-un 7682  ax-cnex 11086  ax-resscn 11087  ax-1cn 11088  ax-icn 11089  ax-addcl 11090  ax-addrcl 11091  ax-mulcl 11092  ax-mulrcl 11093  ax-mulcom 11094  ax-addass 11095  ax-mulass 11096  ax-distr 11097  ax-i2m1 11098  ax-1ne0 11099  ax-1rid 11100  ax-rnegex 11101  ax-rrecex 11102  ax-cnre 11103  ax-pre-lttri 11104  ax-pre-lttrn 11105  ax-pre-ltadd 11106  ax-pre-mulgt0 11107
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-ifp 1064  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3062  df-reu 3352  df-rab 3401  df-v 3443  df-sbc 3742  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4287  df-if 4481  df-pw 4557  df-sn 4582  df-pr 4584  df-tp 4586  df-op 4588  df-uni 4865  df-int 4904  df-iun 4949  df-br 5100  df-opab 5162  df-mpt 5181  df-tr 5207  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6260  df-ord 6321  df-on 6322  df-lim 6323  df-suc 6324  df-iota 6449  df-fun 6495  df-fn 6496  df-f 6497  df-f1 6498  df-fo 6499  df-f1o 6500  df-fv 6501  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-om 7811  df-1st 7935  df-2nd 7936  df-frecs 8225  df-wrecs 8256  df-recs 8305  df-rdg 8343  df-1o 8399  df-oadd 8403  df-er 8637  df-map 8769  df-en 8888  df-dom 8889  df-sdom 8890  df-fin 8891  df-dju 9817  df-card 9855  df-pnf 11172  df-mnf 11173  df-xr 11174  df-ltxr 11175  df-le 11176  df-sub 11370  df-neg 11371  df-nn 12150  df-2 12212  df-3 12213  df-n0 12406  df-z 12493  df-uz 12756  df-fz 13428  df-fzo 13575  df-hash 14258  df-word 14441  df-concat 14498  df-s1 14524  df-s2 14775  df-s3 14776  df-edg 29104  df-uhgr 29114  df-upgr 29138  df-umgr 29139  df-wlks 29656  df-wlkson 29657
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator