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

Theorem usgr2wlkspth 29961
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 1269 . . . . . . . 8 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(Walks‘𝐺)𝑃)
2 simp2 1151 . . . . . . . . . . . . . 14 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝑃‘0) = 𝐴)
3 simp3 1152 . . . . . . . . . . . . . 14 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝑃‘(♯‘𝐹)) = 𝐵)
42, 3neeq12d 3020 . . . . . . . . . . . . 13 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝑃‘0) ≠ (𝑃‘(♯‘𝐹)) ↔ 𝐴𝐵))
54bicomd 225 . . . . . . . . . . . 12 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝐴𝐵 ↔ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))))
653anbi3d 1465 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) ↔ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))))
7 usgr2wlkspthlem1 29959 . . . . . . . . . . . . 13 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))) → Fun 𝐹)
87ex 416 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝐹))
983ad2ant1 1147 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝐹))
106, 9sylbid 242 . . . . . . . . . 10 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝐹))
11103ad2ant3 1149 . . . . . . . . 9 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝐹))
1211imp 410 . . . . . . . 8 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → Fun 𝐹)
13 istrl 29897 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
141, 12, 13sylanbrc 592 . . . . . . 7 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(Trails‘𝐺)𝑃)
15 usgr2wlkspthlem2 29960 . . . . . . . . . . . 12 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))) → Fun 𝑃)
1615ex 416 . . . . . . . . . . 11 (𝐹(Walks‘𝐺)𝑃 → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝑃))
17163ad2ant1 1147 . . . . . . . . . 10 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝑃))
186, 17sylbid 242 . . . . . . . . 9 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝑃))
19183ad2ant3 1149 . . . . . . . 8 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝑃))
2019imp 410 . . . . . . 7 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → Fun 𝑃)
21 isspth 29924 . . . . . . 7 (𝐹(SPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun 𝑃))
2214, 20, 21sylanbrc 592 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(SPaths‘𝐺)𝑃)
23 3simpc 1164 . . . . . . . 8 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
24233ad2ant3 1149 . . . . . . 7 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
2524adantr 484 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
26 3anass 1107 . . . . . 6 ((𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
2722, 25, 26sylanbrc 592 . . . . 5 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
28 3simpa 1162 . . . . . . 7 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
2928adantr 484 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
30 eqid 2764 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
3130isspthonpth 29951 . . . . . 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 416 . . 3 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → 𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))
3530wlkonprop 29859 . . . 4 (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 → ((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
36 3simpc 1164 . . . . 5 ((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)))
37363anim1i 1166 . . . 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 29953 . . 3 (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(PathsOn‘𝐺)𝐵)𝑃)
41 pthontrlon 29949 . . 3 (𝐹(𝐴(PathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃)
42 trlsonwlkon 29910 . . 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 399  w3a 1099   = wceq 1562  wcel 2144  wne 2959  Vcvv 3456   class class class wbr 5102  ccnv 5648  Fun wfun 6517  cfv 6523  (class class class)co 7398  0cc0 11075  2c2 12274  chash 14345  Vtxcvtx 29199  USGraphcusgr 29352  Walkscwlks 29799  WalksOncwlkson 29800  Trailsctrls 29891  TrailsOnctrlson 29892  SPathscspths 29913  PathsOncpthson 29914  SPathsOncspthson 29915
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1817  ax-4 1831  ax-5 1932  ax-6 1989  ax-7 2030  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2214  ax-ext 2736  ax-rep 5229  ax-sep 5248  ax-nul 5258  ax-pow 5324  ax-pr 5392  ax-un 7720  ax-cnex 11131  ax-resscn 11132  ax-1cn 11133  ax-icn 11134  ax-addcl 11135  ax-addrcl 11136  ax-mulcl 11137  ax-mulrcl 11138  ax-mulcom 11139  ax-addass 11140  ax-mulass 11141  ax-distr 11142  ax-i2m1 11143  ax-1ne0 11144  ax-1rid 11145  ax-rnegex 11146  ax-rrecex 11147  ax-cnre 11148  ax-pre-lttri 11149  ax-pre-lttrn 11150  ax-pre-ltadd 11151  ax-pre-mulgt0 11152
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-ifp 1075  df-3or 1100  df-3an 1101  df-tru 1565  df-fal 1575  df-ex 1802  df-nf 1806  df-sb 2093  df-mo 2568  df-eu 2598  df-clab 2743  df-cleq 2756  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3064  df-ral 3079  df-rex 3089  df-reu 3370  df-rab 3417  df-v 3458  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5103  df-opab 5165  df-mpt 5184  df-tr 5210  df-id 5544  df-eprel 5549  df-po 5557  df-so 5558  df-fr 5602  df-we 5604  df-xp 5655  df-rel 5656  df-cnv 5657  df-co 5658  df-dm 5659  df-rn 5660  df-res 5661  df-ima 5662  df-pred 6290  df-ord 6351  df-on 6352  df-lim 6353  df-suc 6354  df-iota 6479  df-fun 6525  df-fn 6526  df-f 6527  df-f1 6528  df-fo 6529  df-f1o 6530  df-fv 6531  df-riota 7355  df-ov 7401  df-oprab 7402  df-mpo 7403  df-om 7849  df-1st 7972  df-2nd 7973  df-frecs 8264  df-wrecs 8295  df-recs 8344  df-rdg 8383  df-1o 8439  df-2o 8440  df-oadd 8443  df-er 8680  df-map 8812  df-pm 8813  df-en 8930  df-dom 8931  df-sdom 8932  df-fin 8933  df-dju 9861  df-card 9899  df-pnf 11220  df-mnf 11221  df-xr 11222  df-ltxr 11223  df-le 11224  df-sub 11418  df-neg 11419  df-nn 12213  df-2 12282  df-3 12283  df-n0 12484  df-xnn0 12557  df-z 12571  df-uz 12842  df-fz 13515  df-fzo 13662  df-hash 14346  df-word 14529  df-concat 14586  df-s1 14612  df-s2 14863  df-s3 14864  df-edg 29251  df-uhgr 29261  df-upgr 29285  df-umgr 29286  df-uspgr 29353  df-usgr 29354  df-wlks 29802  df-wlkson 29803  df-trls 29893  df-trlson 29894  df-pths 29916  df-spths 29917  df-pthson 29918  df-spthson 29919
This theorem is referenced by:  usgr2trlspth  29963  wpthswwlks2on  30166
  Copyright terms: Public domain W3C validator