This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: In a multigraph, two adjacent edges with different endvertices form a simple path of length 2. (Contributed by Alexander van der Vekens, 1-Feb-2018) (Revised by AV, 29-Jan-2021)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | umgr2adedgwlk.e | |- E = ( Edg ` G ) |
|
| umgr2adedgwlk.i | |- I = ( iEdg ` G ) |
||
| umgr2adedgwlk.f | |- F = <" J K "> |
||
| umgr2adedgwlk.p | |- P = <" A B C "> |
||
| umgr2adedgwlk.g | |- ( ph -> G e. UMGraph ) |
||
| umgr2adedgwlk.a | |- ( ph -> ( { A , B } e. E /\ { B , C } e. E ) ) |
||
| umgr2adedgwlk.j | |- ( ph -> ( I ` J ) = { A , B } ) |
||
| umgr2adedgwlk.k | |- ( ph -> ( I ` K ) = { B , C } ) |
||
| umgr2adedgspth.n | |- ( ph -> A =/= C ) |
||
| Assertion | umgr2adedgspth | |- ( ph -> F ( SPaths ` G ) P ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | umgr2adedgwlk.e | |- E = ( Edg ` G ) |
|
| 2 | umgr2adedgwlk.i | |- I = ( iEdg ` G ) |
|
| 3 | umgr2adedgwlk.f | |- F = <" J K "> |
|
| 4 | umgr2adedgwlk.p | |- P = <" A B C "> |
|
| 5 | umgr2adedgwlk.g | |- ( ph -> G e. UMGraph ) |
|
| 6 | umgr2adedgwlk.a | |- ( ph -> ( { A , B } e. E /\ { B , C } e. E ) ) |
|
| 7 | umgr2adedgwlk.j | |- ( ph -> ( I ` J ) = { A , B } ) |
|
| 8 | umgr2adedgwlk.k | |- ( ph -> ( I ` K ) = { B , C } ) |
|
| 9 | umgr2adedgspth.n | |- ( ph -> A =/= C ) |
|
| 10 | 3anass | |- ( ( G e. UMGraph /\ { A , B } e. E /\ { B , C } e. E ) <-> ( G e. UMGraph /\ ( { A , B } e. E /\ { B , C } e. E ) ) ) |
|
| 11 | 5 6 10 | sylanbrc | |- ( ph -> ( G e. UMGraph /\ { A , B } e. E /\ { B , C } e. E ) ) |
| 12 | 1 | umgr2adedgwlklem | |- ( ( G e. UMGraph /\ { A , B } e. E /\ { B , C } e. E ) -> ( ( A =/= B /\ B =/= C ) /\ ( A e. ( Vtx ` G ) /\ B e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) ) ) |
| 13 | 11 12 | syl | |- ( ph -> ( ( A =/= B /\ B =/= C ) /\ ( A e. ( Vtx ` G ) /\ B e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) ) ) |
| 14 | 13 | simprd | |- ( ph -> ( A e. ( Vtx ` G ) /\ B e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) ) |
| 15 | 13 | simpld | |- ( ph -> ( A =/= B /\ B =/= C ) ) |
| 16 | ssid | |- { A , B } C_ { A , B } |
|
| 17 | 16 7 | sseqtrrid | |- ( ph -> { A , B } C_ ( I ` J ) ) |
| 18 | ssid | |- { B , C } C_ { B , C } |
|
| 19 | 18 8 | sseqtrrid | |- ( ph -> { B , C } C_ ( I ` K ) ) |
| 20 | 17 19 | jca | |- ( ph -> ( { A , B } C_ ( I ` J ) /\ { B , C } C_ ( I ` K ) ) ) |
| 21 | eqid | |- ( Vtx ` G ) = ( Vtx ` G ) |
|
| 22 | fveq2 | |- ( K = J -> ( I ` K ) = ( I ` J ) ) |
|
| 23 | 22 | eqcoms | |- ( J = K -> ( I ` K ) = ( I ` J ) ) |
| 24 | 23 | eqeq1d | |- ( J = K -> ( ( I ` K ) = { B , C } <-> ( I ` J ) = { B , C } ) ) |
| 25 | eqtr2 | |- ( ( ( I ` J ) = { B , C } /\ ( I ` J ) = { A , B } ) -> { B , C } = { A , B } ) |
|
| 26 | 25 | ex | |- ( ( I ` J ) = { B , C } -> ( ( I ` J ) = { A , B } -> { B , C } = { A , B } ) ) |
| 27 | 24 26 | biimtrdi | |- ( J = K -> ( ( I ` K ) = { B , C } -> ( ( I ` J ) = { A , B } -> { B , C } = { A , B } ) ) ) |
| 28 | 27 | com13 | |- ( ( I ` J ) = { A , B } -> ( ( I ` K ) = { B , C } -> ( J = K -> { B , C } = { A , B } ) ) ) |
| 29 | 7 8 28 | sylc | |- ( ph -> ( J = K -> { B , C } = { A , B } ) ) |
| 30 | eqcom | |- ( { B , C } = { A , B } <-> { A , B } = { B , C } ) |
|
| 31 | prcom | |- { B , C } = { C , B } |
|
| 32 | 31 | eqeq2i | |- ( { A , B } = { B , C } <-> { A , B } = { C , B } ) |
| 33 | 30 32 | bitri | |- ( { B , C } = { A , B } <-> { A , B } = { C , B } ) |
| 34 | 21 1 | umgrpredgv | |- ( ( G e. UMGraph /\ { A , B } e. E ) -> ( A e. ( Vtx ` G ) /\ B e. ( Vtx ` G ) ) ) |
| 35 | 34 | simpld | |- ( ( G e. UMGraph /\ { A , B } e. E ) -> A e. ( Vtx ` G ) ) |
| 36 | 35 | ex | |- ( G e. UMGraph -> ( { A , B } e. E -> A e. ( Vtx ` G ) ) ) |
| 37 | 21 1 | umgrpredgv | |- ( ( G e. UMGraph /\ { B , C } e. E ) -> ( B e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) ) |
| 38 | 37 | simprd | |- ( ( G e. UMGraph /\ { B , C } e. E ) -> C e. ( Vtx ` G ) ) |
| 39 | 38 | ex | |- ( G e. UMGraph -> ( { B , C } e. E -> C e. ( Vtx ` G ) ) ) |
| 40 | 36 39 | anim12d | |- ( G e. UMGraph -> ( ( { A , B } e. E /\ { B , C } e. E ) -> ( A e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) ) ) |
| 41 | 5 6 40 | sylc | |- ( ph -> ( A e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) ) |
| 42 | preqr1g | |- ( ( A e. ( Vtx ` G ) /\ C e. ( Vtx ` G ) ) -> ( { A , B } = { C , B } -> A = C ) ) |
|
| 43 | 41 42 | syl | |- ( ph -> ( { A , B } = { C , B } -> A = C ) ) |
| 44 | eqneqall | |- ( A = C -> ( A =/= C -> J =/= K ) ) |
|
| 45 | 43 9 44 | syl6ci | |- ( ph -> ( { A , B } = { C , B } -> J =/= K ) ) |
| 46 | 33 45 | biimtrid | |- ( ph -> ( { B , C } = { A , B } -> J =/= K ) ) |
| 47 | 29 46 | syld | |- ( ph -> ( J = K -> J =/= K ) ) |
| 48 | neqne | |- ( -. J = K -> J =/= K ) |
|
| 49 | 47 48 | pm2.61d1 | |- ( ph -> J =/= K ) |
| 50 | 4 3 14 15 20 21 2 49 9 | 2spthd | |- ( ph -> F ( SPaths ` G ) P ) |