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

Theorem usgr2wlkspth 27542
Description: In a simple graph, any walk of length 2 between two different vertices is a simple path. (Contributed by Alexander van der Vekens, 2-Mar-2018.) (Revised by AV, 27-Jan-2021.) (Proof shortened by AV, 31-Oct-2021.)
Assertion
Ref Expression
usgr2wlkspth ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))

Proof of Theorem usgr2wlkspth
StepHypRef Expression
1 simpl31 1250 . . . . . . . 8 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(Walks‘𝐺)𝑃)
2 simp2 1133 . . . . . . . . . . . . . 14 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝑃‘0) = 𝐴)
3 simp3 1134 . . . . . . . . . . . . . 14 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝑃‘(♯‘𝐹)) = 𝐵)
42, 3neeq12d 3079 . . . . . . . . . . . . 13 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝑃‘0) ≠ (𝑃‘(♯‘𝐹)) ↔ 𝐴𝐵))
54bicomd 225 . . . . . . . . . . . 12 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝐴𝐵 ↔ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))))
653anbi3d 1438 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) ↔ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))))
7 usgr2wlkspthlem1 27540 . . . . . . . . . . . . 13 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))) → Fun 𝐹)
87ex 415 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝐹))
983ad2ant1 1129 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝐹))
106, 9sylbid 242 . . . . . . . . . 10 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝐹))
11103ad2ant3 1131 . . . . . . . . 9 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝐹))
1211imp 409 . . . . . . . 8 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → Fun 𝐹)
13 istrl 27480 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
141, 12, 13sylanbrc 585 . . . . . . 7 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(Trails‘𝐺)𝑃)
15 usgr2wlkspthlem2 27541 . . . . . . . . . . . 12 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))) → Fun 𝑃)
1615ex 415 . . . . . . . . . . 11 (𝐹(Walks‘𝐺)𝑃 → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝑃))
17163ad2ant1 1129 . . . . . . . . . 10 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝑃))
186, 17sylbid 242 . . . . . . . . 9 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝑃))
19183ad2ant3 1131 . . . . . . . 8 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝑃))
2019imp 409 . . . . . . 7 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → Fun 𝑃)
21 isspth 27507 . . . . . . 7 (𝐹(SPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun 𝑃))
2214, 20, 21sylanbrc 585 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(SPaths‘𝐺)𝑃)
23 3simpc 1146 . . . . . . . 8 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
24233ad2ant3 1131 . . . . . . 7 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
2524adantr 483 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
26 3anass 1091 . . . . . 6 ((𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
2722, 25, 26sylanbrc 585 . . . . 5 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
28 3simpa 1144 . . . . . . 7 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
2928adantr 483 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
30 eqid 2823 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
3130isspthonpth 27532 . . . . . 6 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) → (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
3229, 31syl 17 . . . . 5 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
3327, 32mpbird 259 . . . 4 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃)
3433ex 415 . . 3 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → 𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))
3530wlkonprop 27442 . . . 4 (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 → ((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
36 3simpc 1146 . . . . 5 ((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)))
37363anim1i 1148 . . . 4 (((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
3835, 37syl 17 . . 3 (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
3934, 38syl11 33 . 2 ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))
40 spthonpthon 27534 . . 3 (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(PathsOn‘𝐺)𝐵)𝑃)
41 pthontrlon 27530 . . 3 (𝐹(𝐴(PathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃)
42 trlsonwlkon 27493 . . 3 (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃)
4340, 41, 423syl 18 . 2 (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃)
4439, 43impbid1 227 1 ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398  w3a 1083   = wceq 1537  wcel 2114  wne 3018  Vcvv 3496   class class class wbr 5068  ccnv 5556  Fun wfun 6351  cfv 6357  (class class class)co 7158  0cc0 10539  2c2 11695  chash 13693  Vtxcvtx 26783  USGraphcusgr 26936  Walkscwlks 27380  WalksOncwlkson 27381  Trailsctrls 27474  TrailsOnctrlson 27475  SPathscspths 27496  PathsOncpthson 27497  SPathsOncspthson 27498
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2795  ax-rep 5192  ax-sep 5205  ax-nul 5212  ax-pow 5268  ax-pr 5332  ax-un 7463  ax-cnex 10595  ax-resscn 10596  ax-1cn 10597  ax-icn 10598  ax-addcl 10599  ax-addrcl 10600  ax-mulcl 10601  ax-mulrcl 10602  ax-mulcom 10603  ax-addass 10604  ax-mulass 10605  ax-distr 10606  ax-i2m1 10607  ax-1ne0 10608  ax-1rid 10609  ax-rnegex 10610  ax-rrecex 10611  ax-cnre 10612  ax-pre-lttri 10613  ax-pre-lttrn 10614  ax-pre-ltadd 10615  ax-pre-mulgt0 10616
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-ifp 1058  df-3or 1084  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2802  df-cleq 2816  df-clel 2895  df-nfc 2965  df-ne 3019  df-nel 3126  df-ral 3145  df-rex 3146  df-reu 3147  df-rmo 3148  df-rab 3149  df-v 3498  df-sbc 3775  df-csb 3886  df-dif 3941  df-un 3943  df-in 3945  df-ss 3954  df-pss 3956  df-nul 4294  df-if 4470  df-pw 4543  df-sn 4570  df-pr 4572  df-tp 4574  df-op 4576  df-uni 4841  df-int 4879  df-iun 4923  df-br 5069  df-opab 5131  df-mpt 5149  df-tr 5175  df-id 5462  df-eprel 5467  df-po 5476  df-so 5477  df-fr 5516  df-we 5518  df-xp 5563  df-rel 5564  df-cnv 5565  df-co 5566  df-dm 5567  df-rn 5568  df-res 5569  df-ima 5570  df-pred 6150  df-ord 6196  df-on 6197  df-lim 6198  df-suc 6199  df-iota 6316  df-fun 6359  df-fn 6360  df-f 6361  df-f1 6362  df-fo 6363  df-f1o 6364  df-fv 6365  df-riota 7116  df-ov 7161  df-oprab 7162  df-mpo 7163  df-om 7583  df-1st 7691  df-2nd 7692  df-wrecs 7949  df-recs 8010  df-rdg 8048  df-1o 8104  df-2o 8105  df-oadd 8108  df-er 8291  df-map 8410  df-pm 8411  df-en 8512  df-dom 8513  df-sdom 8514  df-fin 8515  df-dju 9332  df-card 9370  df-pnf 10679  df-mnf 10680  df-xr 10681  df-ltxr 10682  df-le 10683  df-sub 10874  df-neg 10875  df-nn 11641  df-2 11703  df-3 11704  df-n0 11901  df-xnn0 11971  df-z 11985  df-uz 12247  df-fz 12896  df-fzo 13037  df-hash 13694  df-word 13865  df-concat 13925  df-s1 13952  df-s2 14212  df-s3 14213  df-edg 26835  df-uhgr 26845  df-upgr 26869  df-umgr 26870  df-uspgr 26937  df-usgr 26938  df-wlks 27383  df-wlkson 27384  df-trls 27476  df-trlson 27477  df-pths 27499  df-spths 27500  df-pthson 27501  df-spthson 27502
This theorem is referenced by:  usgr2trlspth  27544  wpthswwlks2on  27742
  Copyright terms: Public domain W3C validator