This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A walk consisting of different vertices is a simple path. Notice that this theorem would not hold for arbitrary hypergraphs, see the counterexample given in the comment of upgrspthswlk . (Contributed by Alexander van der Vekens, 27-Oct-2017) (Revised by AV, 17-Jan-2021)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | upgrwlkdvspth | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> F ( SPaths ` G ) P ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | 3simpc | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> ( F ( Walks ` G ) P /\ Fun `' P ) ) |
|
| 2 | upgrspthswlk | |- ( G e. UPGraph -> ( SPaths ` G ) = { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } ) |
|
| 3 | 2 | 3ad2ant1 | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> ( SPaths ` G ) = { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } ) |
| 4 | 3 | breqd | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> ( F ( SPaths ` G ) P <-> F { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } P ) ) |
| 5 | wlkv | |- ( F ( Walks ` G ) P -> ( G e. _V /\ F e. _V /\ P e. _V ) ) |
|
| 6 | 3simpc | |- ( ( G e. _V /\ F e. _V /\ P e. _V ) -> ( F e. _V /\ P e. _V ) ) |
|
| 7 | 5 6 | syl | |- ( F ( Walks ` G ) P -> ( F e. _V /\ P e. _V ) ) |
| 8 | 7 | 3ad2ant2 | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> ( F e. _V /\ P e. _V ) ) |
| 9 | breq12 | |- ( ( f = F /\ p = P ) -> ( f ( Walks ` G ) p <-> F ( Walks ` G ) P ) ) |
|
| 10 | cnveq | |- ( p = P -> `' p = `' P ) |
|
| 11 | 10 | funeqd | |- ( p = P -> ( Fun `' p <-> Fun `' P ) ) |
| 12 | 11 | adantl | |- ( ( f = F /\ p = P ) -> ( Fun `' p <-> Fun `' P ) ) |
| 13 | 9 12 | anbi12d | |- ( ( f = F /\ p = P ) -> ( ( f ( Walks ` G ) p /\ Fun `' p ) <-> ( F ( Walks ` G ) P /\ Fun `' P ) ) ) |
| 14 | eqid | |- { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } = { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } |
|
| 15 | 13 14 | brabga | |- ( ( F e. _V /\ P e. _V ) -> ( F { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } P <-> ( F ( Walks ` G ) P /\ Fun `' P ) ) ) |
| 16 | 8 15 | syl | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> ( F { <. f , p >. | ( f ( Walks ` G ) p /\ Fun `' p ) } P <-> ( F ( Walks ` G ) P /\ Fun `' P ) ) ) |
| 17 | 4 16 | bitrd | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> ( F ( SPaths ` G ) P <-> ( F ( Walks ` G ) P /\ Fun `' P ) ) ) |
| 18 | 1 17 | mpbird | |- ( ( G e. UPGraph /\ F ( Walks ` G ) P /\ Fun `' P ) -> F ( SPaths ` G ) P ) |