This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Construction of a 3-cycle from three given edges in a graph. (Contributed by Alexander van der Vekens, 13-Nov-2017) (Revised by AV, 10-Feb-2021) (Revised by AV, 24-Mar-2021) (Proof shortened by AV, 30-Oct-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 ) ) |
||
| 3cycld.e | |- ( ph -> A = D ) |
||
| Assertion | 3cycld | |- ( ph -> F ( Cycles ` G ) P ) |
| 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 | 3cycld.e | |- ( ph -> A = D ) |
|
| 10 | 1 2 3 4 5 6 7 8 | 3pthd | |- ( ph -> F ( Paths ` G ) P ) |
| 11 | 1 | fveq1i | |- ( P ` 0 ) = ( <" A B C D "> ` 0 ) |
| 12 | s4fv0 | |- ( A e. V -> ( <" A B C D "> ` 0 ) = A ) |
|
| 13 | 11 12 | eqtrid | |- ( A e. V -> ( P ` 0 ) = A ) |
| 14 | 13 | ad3antrrr | |- ( ( ( ( A e. V /\ B e. V ) /\ ( C e. V /\ D e. V ) ) /\ A = D ) -> ( P ` 0 ) = A ) |
| 15 | simpr | |- ( ( ( ( A e. V /\ B e. V ) /\ ( C e. V /\ D e. V ) ) /\ A = D ) -> A = D ) |
|
| 16 | 2 | fveq2i | |- ( # ` F ) = ( # ` <" J K L "> ) |
| 17 | s3len | |- ( # ` <" J K L "> ) = 3 |
|
| 18 | 16 17 | eqtri | |- ( # ` F ) = 3 |
| 19 | 1 18 | fveq12i | |- ( P ` ( # ` F ) ) = ( <" A B C D "> ` 3 ) |
| 20 | s4fv3 | |- ( D e. V -> ( <" A B C D "> ` 3 ) = D ) |
|
| 21 | 19 20 | eqtr2id | |- ( D e. V -> D = ( P ` ( # ` F ) ) ) |
| 22 | 21 | adantl | |- ( ( C e. V /\ D e. V ) -> D = ( P ` ( # ` F ) ) ) |
| 23 | 22 | ad2antlr | |- ( ( ( ( A e. V /\ B e. V ) /\ ( C e. V /\ D e. V ) ) /\ A = D ) -> D = ( P ` ( # ` F ) ) ) |
| 24 | 14 15 23 | 3eqtrd | |- ( ( ( ( A e. V /\ B e. V ) /\ ( C e. V /\ D e. V ) ) /\ A = D ) -> ( P ` 0 ) = ( P ` ( # ` F ) ) ) |
| 25 | 3 9 24 | syl2anc | |- ( ph -> ( P ` 0 ) = ( P ` ( # ` F ) ) ) |
| 26 | iscycl | |- ( F ( Cycles ` G ) P <-> ( F ( Paths ` G ) P /\ ( P ` 0 ) = ( P ` ( # ` F ) ) ) ) |
|
| 27 | 10 25 26 | sylanbrc | |- ( ph -> F ( Cycles ` G ) P ) |