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

Theorem isspthonpth 30098
Description: A pair of functions is a simple path between two given vertices iff it is a simple path starting and ending at the two vertices. (Contributed by Alexander van der Vekens, 9-Mar-2018.) (Revised by AV, 17-Jan-2021.)
Hypothesis
Ref Expression
isspthonpth.v 𝑉 = (Vtx‘𝐺)
Assertion
Ref Expression
isspthonpth (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))

Proof of Theorem isspthonpth
StepHypRef Expression
1 isspthonpth.v . . 3 𝑉 = (Vtx‘𝐺)
21isspthson 30092 . 2 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃𝐹(SPaths‘𝐺)𝑃)))
31istrlson 30054 . . . . . . 7 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(Trails‘𝐺)𝑃)))
43adantr 485 . . . . . 6 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(Trails‘𝐺)𝑃)))
5 spthispth 30073 . . . . . . . . 9 (𝐹(SPaths‘𝐺)𝑃𝐹(Paths‘𝐺)𝑃)
6 pthistrl 30072 . . . . . . . . 9 (𝐹(Paths‘𝐺)𝑃𝐹(Trails‘𝐺)𝑃)
75, 6syl 18 . . . . . . . 8 (𝐹(SPaths‘𝐺)𝑃𝐹(Trails‘𝐺)𝑃)
87adantl 486 . . . . . . 7 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → 𝐹(Trails‘𝐺)𝑃)
98biantrud 540 . . . . . 6 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 ↔ (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃𝐹(Trails‘𝐺)𝑃)))
10 spthiswlk 30075 . . . . . . . 8 (𝐹(SPaths‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
1110adantl 486 . . . . . . 7 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → 𝐹(Walks‘𝐺)𝑃)
121iswlkon 30005 . . . . . . . . 9 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
13 3anass 1111 . . . . . . . . 9 ((𝐹(Walks‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ↔ (𝐹(Walks‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
1412, 13bitrdi 290 . . . . . . . 8 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))))
1514adantr 485 . . . . . . 7 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 ↔ (𝐹(Walks‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))))
1611, 15mpbirand 719 . . . . . 6 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → (𝐹(𝐴(WalksOn‘𝐺)𝐵)𝑃 ↔ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
174, 9, 163bitr2d 310 . . . . 5 ((((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) ∧ 𝐹(SPaths‘𝐺)𝑃) → (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃 ↔ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
1817ex 417 . . . 4 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(SPaths‘𝐺)𝑃 → (𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃 ↔ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))))
1918pm5.32rd 588 . . 3 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → ((𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃𝐹(SPaths‘𝐺)𝑃) ↔ (((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ∧ 𝐹(SPaths‘𝐺)𝑃)))
20 3anass 1111 . . . 4 ((𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
21 ancom 465 . . . 4 ((𝐹(SPaths‘𝐺)𝑃 ∧ ((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)) ↔ (((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ∧ 𝐹(SPaths‘𝐺)𝑃))
2220, 21bitr2i 279 . . 3 ((((𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵) ∧ 𝐹(SPaths‘𝐺)𝑃) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵))
2319, 22bitrdi 290 . 2 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → ((𝐹(𝐴(TrailsOn‘𝐺)𝐵)𝑃𝐹(SPaths‘𝐺)𝑃) ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
242, 23bitrd 282 1 (((𝐴𝑉𝐵𝑉) ∧ (𝐹𝑊𝑃𝑍)) → (𝐹(𝐴(SPathsOn‘𝐺)𝐵)𝑃 ↔ (𝐹(SPaths‘𝐺)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(♯‘𝐹)) = 𝐵)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400  w3a 1103   = wceq 1570  wcel 2143   class class class wbr 5109  cfv 6536  (class class class)co 7410  0cc0 11095  chash 14362  Vtxcvtx 29346  Walkscwlks 29946  WalksOncwlkson 29947  Trailsctrls 30038  TrailsOnctrlson 30039  Pathscpths 30059  SPathscspths 30060  SPathsOncspthson 30062
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5257  ax-nul 5269  ax-pow 5336  ax-pr 5404  ax-un 7732  ax-cnex 11151  ax-resscn 11152  ax-1cn 11153  ax-icn 11154  ax-addcl 11155  ax-addrcl 11156  ax-mulcl 11157  ax-mulrcl 11158  ax-mulcom 11159  ax-addass 11160  ax-mulass 11161  ax-distr 11162  ax-i2m1 11163  ax-1ne0 11164  ax-1rid 11165  ax-rnegex 11166  ax-rrecex 11167  ax-cnre 11168  ax-pre-lttri 11169  ax-pre-lttrn 11170  ax-pre-ltadd 11171  ax-pre-mulgt0 11172
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-nel 3065  df-ral 3080  df-rex 3090  df-reu 3370  df-rab 3417  df-v 3457  df-sbc 3745  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-pss 3925  df-nul 4287  df-if 4488  df-pw 4564  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4873  df-iun 4958  df-br 5110  df-opab 5174  df-mpt 5193  df-tr 5219  df-id 5556  df-eprel 5561  df-po 5569  df-so 5570  df-fr 5614  df-we 5616  df-xp 5667  df-rel 5668  df-cnv 5669  df-co 5670  df-dm 5671  df-rn 5672  df-res 5673  df-ima 5674  df-pred 6302  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7367  df-ov 7413  df-oprab 7414  df-mpo 7415  df-om 7859  df-1st 7982  df-2nd 7983  df-frecs 8274  df-wrecs 8305  df-recs 8354  df-rdg 8393  df-er 8690  df-en 8940  df-dom 8941  df-sdom 8942  df-pnf 11240  df-mnf 11241  df-xr 11242  df-ltxr 11243  df-le 11244  df-sub 11438  df-neg 11439  df-nn 12229  df-n0 12500  df-z 12587  df-uz 12858  df-fz 13531  df-fzo 13679  df-wlks 29949  df-wlkson 29950  df-trls 30040  df-trlson 30041  df-pths 30063  df-spths 30064  df-spthson 30066
This theorem is referenced by:  uhgrwkspth  30104  usgr2wlkspth  30108  wspthsnwspthsnon  30265  elwspths2spth  30319
  Copyright terms: Public domain W3C validator