This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A simple path of length 2 between two vertices (in a graph) as length 3 string. (Contributed by Alexander van der Vekens, 9-Mar-2018) (Revised by AV, 12-May-2021) (Proof shortened by AV, 16-Mar-2022)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | elwwlks2on.v | |- V = ( Vtx ` G ) |
|
| Assertion | elwspths2on | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) <-> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elwwlks2on.v | |- V = ( Vtx ` G ) |
|
| 2 | wspthnon | |- ( W e. ( A ( 2 WSPathsNOn G ) C ) <-> ( W e. ( A ( 2 WWalksNOn G ) C ) /\ E. f f ( A ( SPathsOn ` G ) C ) W ) ) |
|
| 3 | 2 | biimpi | |- ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( W e. ( A ( 2 WWalksNOn G ) C ) /\ E. f f ( A ( SPathsOn ` G ) C ) W ) ) |
| 4 | 1 | elwwlks2on | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WWalksNOn G ) C ) <-> E. b e. V ( W = <" A b C "> /\ E. f ( f ( Walks ` G ) W /\ ( # ` f ) = 2 ) ) ) ) |
| 5 | simpl | |- ( ( W = <" A b C "> /\ W e. ( A ( 2 WSPathsNOn G ) C ) ) -> W = <" A b C "> ) |
|
| 6 | eleq1 | |- ( W = <" A b C "> -> ( W e. ( A ( 2 WSPathsNOn G ) C ) <-> <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) |
|
| 7 | 6 | biimpa | |- ( ( W = <" A b C "> /\ W e. ( A ( 2 WSPathsNOn G ) C ) ) -> <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) |
| 8 | 5 7 | jca | |- ( ( W = <" A b C "> /\ W e. ( A ( 2 WSPathsNOn G ) C ) ) -> ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) |
| 9 | 8 | ex | |- ( W = <" A b C "> -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |
| 10 | 9 | adantr | |- ( ( W = <" A b C "> /\ E. f ( f ( Walks ` G ) W /\ ( # ` f ) = 2 ) ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |
| 11 | 10 | com12 | |- ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( ( W = <" A b C "> /\ E. f ( f ( Walks ` G ) W /\ ( # ` f ) = 2 ) ) -> ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |
| 12 | 11 | reximdv | |- ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( E. b e. V ( W = <" A b C "> /\ E. f ( f ( Walks ` G ) W /\ ( # ` f ) = 2 ) ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |
| 13 | 12 | a1i13 | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( E. f f ( A ( SPathsOn ` G ) C ) W -> ( E. b e. V ( W = <" A b C "> /\ E. f ( f ( Walks ` G ) W /\ ( # ` f ) = 2 ) ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) ) ) |
| 14 | 13 | com24 | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( E. b e. V ( W = <" A b C "> /\ E. f ( f ( Walks ` G ) W /\ ( # ` f ) = 2 ) ) -> ( E. f f ( A ( SPathsOn ` G ) C ) W -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) ) ) |
| 15 | 4 14 | sylbid | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WWalksNOn G ) C ) -> ( E. f f ( A ( SPathsOn ` G ) C ) W -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) ) ) |
| 16 | 15 | impd | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( ( W e. ( A ( 2 WWalksNOn G ) C ) /\ E. f f ( A ( SPathsOn ` G ) C ) W ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) ) |
| 17 | 16 | com23 | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> ( ( W e. ( A ( 2 WWalksNOn G ) C ) /\ E. f f ( A ( SPathsOn ` G ) C ) W ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) ) |
| 18 | 3 17 | mpdi | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) -> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |
| 19 | 6 | biimpar | |- ( ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) -> W e. ( A ( 2 WSPathsNOn G ) C ) ) |
| 20 | 19 | a1i | |- ( ( ( G e. UPGraph /\ A e. V /\ C e. V ) /\ b e. V ) -> ( ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) -> W e. ( A ( 2 WSPathsNOn G ) C ) ) ) |
| 21 | 20 | rexlimdva | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) -> W e. ( A ( 2 WSPathsNOn G ) C ) ) ) |
| 22 | 18 21 | impbid | |- ( ( G e. UPGraph /\ A e. V /\ C e. V ) -> ( W e. ( A ( 2 WSPathsNOn G ) C ) <-> E. b e. V ( W = <" A b C "> /\ <" A b C "> e. ( A ( 2 WSPathsNOn G ) C ) ) ) ) |