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

Theorem usgr2wlkspth 29846
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 1256 . . . . . . . 8 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(Walks‘𝐺)𝑃)
2 simp2 1138 . . . . . . . . . . . . . 14 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝑃‘0) = 𝐴)
3 simp3 1139 . . . . . . . . . . . . . 14 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝑃‘(♯‘𝐹)) = 𝐵)
42, 3neeq12d 2994 . . . . . . . . . . . . 13 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝑃‘0) ≠ (𝑃‘(♯‘𝐹)) ↔ 𝐴𝐵))
54bicomd 223 . . . . . . . . . . . 12 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → (𝐴𝐵 ↔ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))))
653anbi3d 1445 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) ↔ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))))
7 usgr2wlkspthlem1 29844 . . . . . . . . . . . . 13 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))) → Fun 𝐹)
87ex 412 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝐹))
983ad2ant1 1134 . . . . . . . . . . 11 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝐹))
106, 9sylbid 240 . . . . . . . . . 10 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝐹))
11103ad2ant3 1136 . . . . . . . . 9 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝐹))
1211imp 406 . . . . . . . 8 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → Fun 𝐹)
13 istrl 29782 . . . . . . . 8 (𝐹(Trails‘𝐺)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ Fun 𝐹))
141, 12, 13sylanbrc 584 . . . . . . 7 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(Trails‘𝐺)𝑃)
15 usgr2wlkspthlem2 29845 . . . . . . . . . . . 12 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹)))) → Fun 𝑃)
1615ex 412 . . . . . . . . . . 11 (𝐹(Walks‘𝐺)𝑃 → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝑃))
17163ad2ant1 1134 . . . . . . . . . 10 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ (𝑃‘0) ≠ (𝑃‘(♯‘𝐹))) → Fun 𝑃))
186, 17sylbid 240 . . . . . . . . 9 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝑃))
19183ad2ant3 1136 . . . . . . . 8 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → Fun 𝑃))
2019imp 406 . . . . . . 7 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → Fun 𝑃)
21 isspth 29809 . . . . . . 7 (𝐹(SPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun 𝑃))
2214, 20, 21sylanbrc 584 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(SPaths‘𝐺)𝑃)
23 3simpc 1151 . . . . . . . 8 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
24233ad2ant3 1136 . . . . . . 7 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
2524adantr 480 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
26 3anass 1095 . . . . . 6 ((𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
2722, 25, 26sylanbrc 584 . . . . 5 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
28 3simpa 1149 . . . . . . 7 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
2928adantr 480 . . . . . 6 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → ((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
30 eqid 2737 . . . . . . 7 (Vtx‘𝐺) = (Vtx‘𝐺)
3130isspthonpth 29836 . . . . . 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 257 . . . 4 ((((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ∧ (𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵)) → 𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃)
3433ex 412 . . 3 (((𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) → ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → 𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))
3530wlkonprop 29744 . . . 4 (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 → ((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
36 3simpc 1151 . . . . 5 ((𝐺 ∈ V ∧ 𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)) → (𝐴 ∈ (Vtx‘𝐺) ∧ 𝐵 ∈ (Vtx‘𝐺)))
37363anim1i 1153 . . . 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 29838 . . 3 (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(PathsOn‘𝐺)𝐵)𝑃)
41 pthontrlon 29834 . . 3 (𝐹(𝐴(PathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃)
42 trlsonwlkon 29795 . . 3 (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃)
4340, 41, 423syl 18 . 2 (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃)
4439, 43impbid1 225 1 ((𝐺 ∈ USGraph ∧ (♯‘𝐹) = 2 ∧ 𝐴𝐵) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1542  wcel 2114  wne 2933  Vcvv 3430   class class class wbr 5086  ccnv 5625  Fun wfun 6488  cfv 6494  (class class class)co 7362  0cc0 11033  2c2 12231  chash 14287  Vtxcvtx 29083  USGraphcusgr 29236  Walkscwlks 29684  WalksOncwlkson 29685  Trailsctrls 29776  TrailsOnctrlson 29777  SPathscspths 29798  PathsOncpthson 29799  SPathsOncspthson 29800
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 5213  ax-sep 5232  ax-nul 5242  ax-pow 5304  ax-pr 5372  ax-un 7684  ax-cnex 11089  ax-resscn 11090  ax-1cn 11091  ax-icn 11092  ax-addcl 11093  ax-addrcl 11094  ax-mulcl 11095  ax-mulrcl 11096  ax-mulcom 11097  ax-addass 11098  ax-mulass 11099  ax-distr 11100  ax-i2m1 11101  ax-1ne0 11102  ax-1rid 11103  ax-rnegex 11104  ax-rrecex 11105  ax-cnre 11106  ax-pre-lttri 11107  ax-pre-lttrn 11108  ax-pre-ltadd 11109  ax-pre-mulgt0 11110
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 3063  df-reu 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-tp 4573  df-op 4575  df-uni 4852  df-int 4891  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-tr 5194  df-id 5521  df-eprel 5526  df-po 5534  df-so 5535  df-fr 5579  df-we 5581  df-xp 5632  df-rel 5633  df-cnv 5634  df-co 5635  df-dm 5636  df-rn 5637  df-res 5638  df-ima 5639  df-pred 6261  df-ord 6322  df-on 6323  df-lim 6324  df-suc 6325  df-iota 6450  df-fun 6496  df-fn 6497  df-f 6498  df-f1 6499  df-fo 6500  df-f1o 6501  df-fv 6502  df-riota 7319  df-ov 7365  df-oprab 7366  df-mpo 7367  df-om 7813  df-1st 7937  df-2nd 7938  df-frecs 8226  df-wrecs 8257  df-recs 8306  df-rdg 8344  df-1o 8400  df-2o 8401  df-oadd 8404  df-er 8638  df-map 8770  df-pm 8771  df-en 8889  df-dom 8890  df-sdom 8891  df-fin 8892  df-dju 9820  df-card 9858  df-pnf 11176  df-mnf 11177  df-xr 11178  df-ltxr 11179  df-le 11180  df-sub 11374  df-neg 11375  df-nn 12170  df-2 12239  df-3 12240  df-n0 12433  df-xnn0 12506  df-z 12520  df-uz 12784  df-fz 13457  df-fzo 13604  df-hash 14288  df-word 14471  df-concat 14528  df-s1 14554  df-s2 14805  df-s3 14806  df-edg 29135  df-uhgr 29145  df-upgr 29169  df-umgr 29170  df-uspgr 29237  df-usgr 29238  df-wlks 29687  df-wlkson 29688  df-trls 29778  df-trlson 29779  df-pths 29801  df-spths 29802  df-pthson 29803  df-spthson 29804
This theorem is referenced by:  usgr2trlspth  29848  wpthswwlks2on  30051
  Copyright terms: Public domain W3C validator