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

Theorem umgr2wlkon 29748
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 29747 . 2 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ∃𝑓𝑝(𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))))
3 simp1 1134 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → 𝑓(Walks‘𝐺)𝑝)
4 eqcom 2734 . . . . . . . . . 10 (𝐴 = (𝑝‘0) ↔ (𝑝‘0) = 𝐴)
54biimpi 215 . . . . . . . . 9 (𝐴 = (𝑝‘0) → (𝑝‘0) = 𝐴)
653ad2ant1 1131 . . . . . . . 8 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘0) = 𝐴)
763ad2ant3 1133 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘0) = 𝐴)
8 fveq2 6891 . . . . . . . . . . . . . . 15 (2 = (♯‘𝑓) → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
98eqcoms 2735 . . . . . . . . . . . . . 14 ((♯‘𝑓) = 2 → (𝑝‘2) = (𝑝‘(♯‘𝑓)))
109eqeq1d 2729 . . . . . . . . . . . . 13 ((♯‘𝑓) = 2 → ((𝑝‘2) = 𝐶 ↔ (𝑝‘(♯‘𝑓)) = 𝐶))
1110biimpcd 248 . . . . . . . . . . . 12 ((𝑝‘2) = 𝐶 → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1211eqcoms 2735 . . . . . . . . . . 11 (𝐶 = (𝑝‘2) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
13123ad2ant3 1133 . . . . . . . . . 10 ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → ((♯‘𝑓) = 2 → (𝑝‘(♯‘𝑓)) = 𝐶))
1413com12 32 . . . . . . . . 9 ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶))
1514a1i 11 . . . . . . . 8 (𝑓(Walks‘𝐺)𝑝 → ((♯‘𝑓) = 2 → ((𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)) → (𝑝‘(♯‘𝑓)) = 𝐶)))
16153imp 1109 . . . . . . 7 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑝‘(♯‘𝑓)) = 𝐶)
173, 7, 163jca 1126 . . . . . 6 ((𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
1817adantl 481 . . . . 5 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶))
191umgr2adedgwlklem 29742 . . . . . . 7 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺))))
20 simprr1 1219 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐴 ∈ (Vtx‘𝐺))
21 simprr3 1221 . . . . . . . 8 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → 𝐶 ∈ (Vtx‘𝐺))
2220, 21jca 511 . . . . . . 7 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ ((𝐴𝐵𝐵𝐶) ∧ (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
2319, 22mpdan 686 . . . . . 6 ((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)))
24 vex 3473 . . . . . . . 8 𝑓 ∈ V
25 vex 3473 . . . . . . . 8 𝑝 ∈ V
2624, 25pm3.2i 470 . . . . . . 7 (𝑓 ∈ V ∧ 𝑝 ∈ V)
2726a1i 11 . . . . . 6 (((𝐺 ∈ UMGraph ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸) ∧ (𝑓(Walks‘𝐺)𝑝 ∧ (♯‘𝑓) = 2 ∧ (𝐴 = (𝑝‘0) ∧ 𝐵 = (𝑝‘1) ∧ 𝐶 = (𝑝‘2)))) → (𝑓 ∈ V ∧ 𝑝 ∈ V))
28 eqid 2727 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
2928iswlkon 29458 . . . . . 6 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐶 ∈ (Vtx‘𝐺)) ∧ (𝑓 ∈ V ∧ 𝑝 ∈ V)) → (𝑓(𝐴(WalksOn‘𝐺)𝐶)𝑝 ↔ (𝑓(Walks‘𝐺)𝑝 ∧ (𝑝‘0) = 𝐴 ∧ (𝑝‘(♯‘𝑓)) = 𝐶)))
3023, 27, 29syl2an2r 684 . . . . 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 1915 . 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 205  wa 395  w3a 1085   = wceq 1534  wex 1774  wcel 2099  wne 2935  Vcvv 3469  {cpr 4626   class class class wbr 5142  cfv 6542  (class class class)co 7414  0cc0 11130  1c1 11131  2c2 12289  chash 14313  Vtxcvtx 28796  Edgcedg 28847  UMGraphcumgr 28881  Walkscwlks 29397  WalksOncwlkson 29398
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1906  ax-6 1964  ax-7 2004  ax-8 2101  ax-9 2109  ax-10 2130  ax-11 2147  ax-12 2164  ax-ext 2698  ax-rep 5279  ax-sep 5293  ax-nul 5300  ax-pow 5359  ax-pr 5423  ax-un 7734  ax-cnex 11186  ax-resscn 11187  ax-1cn 11188  ax-icn 11189  ax-addcl 11190  ax-addrcl 11191  ax-mulcl 11192  ax-mulrcl 11193  ax-mulcom 11194  ax-addass 11195  ax-mulass 11196  ax-distr 11197  ax-i2m1 11198  ax-1ne0 11199  ax-1rid 11200  ax-rnegex 11201  ax-rrecex 11202  ax-cnre 11203  ax-pre-lttri 11204  ax-pre-lttrn 11205  ax-pre-ltadd 11206  ax-pre-mulgt0 11207
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 847  df-ifp 1062  df-3or 1086  df-3an 1087  df-tru 1537  df-fal 1547  df-ex 1775  df-nf 1779  df-sb 2061  df-mo 2529  df-eu 2558  df-clab 2705  df-cleq 2719  df-clel 2805  df-nfc 2880  df-ne 2936  df-nel 3042  df-ral 3057  df-rex 3066  df-reu 3372  df-rab 3428  df-v 3471  df-sbc 3775  df-csb 3890  df-dif 3947  df-un 3949  df-in 3951  df-ss 3961  df-pss 3963  df-nul 4319  df-if 4525  df-pw 4600  df-sn 4625  df-pr 4627  df-tp 4629  df-op 4631  df-uni 4904  df-int 4945  df-iun 4993  df-br 5143  df-opab 5205  df-mpt 5226  df-tr 5260  df-id 5570  df-eprel 5576  df-po 5584  df-so 5585  df-fr 5627  df-we 5629  df-xp 5678  df-rel 5679  df-cnv 5680  df-co 5681  df-dm 5682  df-rn 5683  df-res 5684  df-ima 5685  df-pred 6299  df-ord 6366  df-on 6367  df-lim 6368  df-suc 6369  df-iota 6494  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-riota 7370  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7865  df-1st 7987  df-2nd 7988  df-frecs 8280  df-wrecs 8311  df-recs 8385  df-rdg 8424  df-1o 8480  df-oadd 8484  df-er 8718  df-map 8838  df-en 8956  df-dom 8957  df-sdom 8958  df-fin 8959  df-dju 9916  df-card 9954  df-pnf 11272  df-mnf 11273  df-xr 11274  df-ltxr 11275  df-le 11276  df-sub 11468  df-neg 11469  df-nn 12235  df-2 12297  df-3 12298  df-n0 12495  df-z 12581  df-uz 12845  df-fz 13509  df-fzo 13652  df-hash 14314  df-word 14489  df-concat 14545  df-s1 14570  df-s2 14823  df-s3 14824  df-edg 28848  df-uhgr 28858  df-upgr 28882  df-umgr 28883  df-wlks 29400  df-wlkson 29401
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator