Metamath Proof Explorer


Theorem 2pthond

Description: A simple path of length 2 from one vertex to another, different vertex via a third vertex. (Contributed by Alexander van der Vekens, 6-Dec-2017) (Revised by AV, 24-Jan-2021) (Proof shortened by AV, 30-Jan-2021) (Revised by AV, 24-Mar-2021)

Ref Expression
Hypotheses 2wlkd.p
|- P = <" A B C ">
2wlkd.f
|- F = <" J K ">
2wlkd.s
|- ( ph -> ( A e. V /\ B e. V /\ C e. V ) )
2wlkd.n
|- ( ph -> ( A =/= B /\ B =/= C ) )
2wlkd.e
|- ( ph -> ( { A , B } C_ ( I ` J ) /\ { B , C } C_ ( I ` K ) ) )
2wlkd.v
|- V = ( Vtx ` G )
2wlkd.i
|- I = ( iEdg ` G )
2trld.n
|- ( ph -> J =/= K )
2spthd.n
|- ( ph -> A =/= C )
Assertion 2pthond
|- ( ph -> F ( A ( SPathsOn ` G ) C ) P )

Proof

Step Hyp Ref Expression
1 2wlkd.p
 |-  P = <" A B C ">
2 2wlkd.f
 |-  F = <" J K ">
3 2wlkd.s
 |-  ( ph -> ( A e. V /\ B e. V /\ C e. V ) )
4 2wlkd.n
 |-  ( ph -> ( A =/= B /\ B =/= C ) )
5 2wlkd.e
 |-  ( ph -> ( { A , B } C_ ( I ` J ) /\ { B , C } C_ ( I ` K ) ) )
6 2wlkd.v
 |-  V = ( Vtx ` G )
7 2wlkd.i
 |-  I = ( iEdg ` G )
8 2trld.n
 |-  ( ph -> J =/= K )
9 2spthd.n
 |-  ( ph -> A =/= C )
10 1 2 3 4 5 6 7 8 2trlond
 |-  ( ph -> F ( A ( TrailsOn ` G ) C ) P )
11 1 2 3 4 5 6 7 8 9 2spthd
 |-  ( ph -> F ( SPaths ` G ) P )
12 3simpb
 |-  ( ( A e. V /\ B e. V /\ C e. V ) -> ( A e. V /\ C e. V ) )
13 3 12 syl
 |-  ( ph -> ( A e. V /\ C e. V ) )
14 s2cli
 |-  <" J K "> e. Word _V
15 2 14 eqeltri
 |-  F e. Word _V
16 s3cli
 |-  <" A B C "> e. Word _V
17 1 16 eqeltri
 |-  P e. Word _V
18 15 17 pm3.2i
 |-  ( F e. Word _V /\ P e. Word _V )
19 6 isspthson
 |-  ( ( ( A e. V /\ C e. V ) /\ ( F e. Word _V /\ P e. Word _V ) ) -> ( F ( A ( SPathsOn ` G ) C ) P <-> ( F ( A ( TrailsOn ` G ) C ) P /\ F ( SPaths ` G ) P ) ) )
20 13 18 19 sylancl
 |-  ( ph -> ( F ( A ( SPathsOn ` G ) C ) P <-> ( F ( A ( TrailsOn ` G ) C ) P /\ F ( SPaths ` G ) P ) ) )
21 10 11 20 mpbir2and
 |-  ( ph -> F ( A ( SPathsOn ` G ) C ) P )