Metamath Proof Explorer


Theorem 3pthd

Description: A path of length 3 from one vertex to another vertex via a third vertex. (Contributed by Alexander van der Vekens, 6-Dec-2017) (Revised by AV, 10-Feb-2021) (Revised by AV, 24-Mar-2021)

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

Proof

Step Hyp Ref Expression
1 3wlkd.p
 |-  P = <" A B C D ">
2 3wlkd.f
 |-  F = <" J K L ">
3 3wlkd.s
 |-  ( ph -> ( ( A e. V /\ B e. V ) /\ ( C e. V /\ D e. V ) ) )
4 3wlkd.n
 |-  ( ph -> ( ( A =/= B /\ A =/= C ) /\ ( B =/= C /\ B =/= D ) /\ C =/= D ) )
5 3wlkd.e
 |-  ( ph -> ( { A , B } C_ ( I ` J ) /\ { B , C } C_ ( I ` K ) /\ { C , D } C_ ( I ` L ) ) )
6 3wlkd.v
 |-  V = ( Vtx ` G )
7 3wlkd.i
 |-  I = ( iEdg ` G )
8 3trld.n
 |-  ( ph -> ( J =/= K /\ J =/= L /\ K =/= L ) )
9 s4cli
 |-  <" A B C D "> e. Word _V
10 1 9 eqeltri
 |-  P e. Word _V
11 10 a1i
 |-  ( ph -> P e. Word _V )
12 2 fveq2i
 |-  ( # ` F ) = ( # ` <" J K L "> )
13 s3len
 |-  ( # ` <" J K L "> ) = 3
14 12 13 eqtri
 |-  ( # ` F ) = 3
15 4m1e3
 |-  ( 4 - 1 ) = 3
16 1 fveq2i
 |-  ( # ` P ) = ( # ` <" A B C D "> )
17 s4len
 |-  ( # ` <" A B C D "> ) = 4
18 16 17 eqtr2i
 |-  4 = ( # ` P )
19 18 oveq1i
 |-  ( 4 - 1 ) = ( ( # ` P ) - 1 )
20 14 15 19 3eqtr2i
 |-  ( # ` F ) = ( ( # ` P ) - 1 )
21 1 2 3 4 3pthdlem1
 |-  ( ph -> A. k e. ( 0 ..^ ( # ` P ) ) A. j e. ( 1 ..^ ( # ` F ) ) ( k =/= j -> ( P ` k ) =/= ( P ` j ) ) )
22 eqid
 |-  ( # ` F ) = ( # ` F )
23 1 2 3 4 5 6 7 8 3trld
 |-  ( ph -> F ( Trails ` G ) P )
24 11 20 21 22 23 pthd
 |-  ( ph -> F ( Paths ` G ) P )