This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The restriction <. H , Q >. of an Eulerian path <. F , P >. to an initial segment of the path (of length N ) forms an Eulerian path on the subgraph S consisting of the edges in the initial segment. (Contributed by Mario Carneiro, 12-Mar-2015) (Revised by Mario Carneiro, 3-May-2015) (Revised by AV, 6-Mar-2021) Hypothesis revised using the prefix operation. (Revised by AV, 30-Nov-2022)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | eupth0.v | |- V = ( Vtx ` G ) |
|
| eupth0.i | |- I = ( iEdg ` G ) |
||
| eupthres.d | |- ( ph -> F ( EulerPaths ` G ) P ) |
||
| eupthres.n | |- ( ph -> N e. ( 0 ..^ ( # ` F ) ) ) |
||
| eupthres.e | |- ( ph -> ( iEdg ` S ) = ( I |` ( F " ( 0 ..^ N ) ) ) ) |
||
| eupthres.h | |- H = ( F prefix N ) |
||
| eupthres.q | |- Q = ( P |` ( 0 ... N ) ) |
||
| eupthres.s | |- ( Vtx ` S ) = V |
||
| Assertion | eupthres | |- ( ph -> H ( EulerPaths ` S ) Q ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | eupth0.v | |- V = ( Vtx ` G ) |
|
| 2 | eupth0.i | |- I = ( iEdg ` G ) |
|
| 3 | eupthres.d | |- ( ph -> F ( EulerPaths ` G ) P ) |
|
| 4 | eupthres.n | |- ( ph -> N e. ( 0 ..^ ( # ` F ) ) ) |
|
| 5 | eupthres.e | |- ( ph -> ( iEdg ` S ) = ( I |` ( F " ( 0 ..^ N ) ) ) ) |
|
| 6 | eupthres.h | |- H = ( F prefix N ) |
|
| 7 | eupthres.q | |- Q = ( P |` ( 0 ... N ) ) |
|
| 8 | eupthres.s | |- ( Vtx ` S ) = V |
|
| 9 | eupthistrl | |- ( F ( EulerPaths ` G ) P -> F ( Trails ` G ) P ) |
|
| 10 | trliswlk | |- ( F ( Trails ` G ) P -> F ( Walks ` G ) P ) |
|
| 11 | 3 9 10 | 3syl | |- ( ph -> F ( Walks ` G ) P ) |
| 12 | 8 | a1i | |- ( ph -> ( Vtx ` S ) = V ) |
| 13 | 1 2 11 4 12 5 6 7 | wlkres | |- ( ph -> H ( Walks ` S ) Q ) |
| 14 | 3 9 | syl | |- ( ph -> F ( Trails ` G ) P ) |
| 15 | 1 2 14 4 6 | trlreslem | |- ( ph -> H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( I |` ( F " ( 0 ..^ N ) ) ) ) |
| 16 | eqid | |- ( iEdg ` S ) = ( iEdg ` S ) |
|
| 17 | 16 | iseupthf1o | |- ( H ( EulerPaths ` S ) Q <-> ( H ( Walks ` S ) Q /\ H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( iEdg ` S ) ) ) |
| 18 | 5 | dmeqd | |- ( ph -> dom ( iEdg ` S ) = dom ( I |` ( F " ( 0 ..^ N ) ) ) ) |
| 19 | 18 | f1oeq3d | |- ( ph -> ( H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( iEdg ` S ) <-> H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( I |` ( F " ( 0 ..^ N ) ) ) ) ) |
| 20 | 19 | anbi2d | |- ( ph -> ( ( H ( Walks ` S ) Q /\ H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( iEdg ` S ) ) <-> ( H ( Walks ` S ) Q /\ H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( I |` ( F " ( 0 ..^ N ) ) ) ) ) ) |
| 21 | 17 20 | bitrid | |- ( ph -> ( H ( EulerPaths ` S ) Q <-> ( H ( Walks ` S ) Q /\ H : ( 0 ..^ ( # ` H ) ) -1-1-onto-> dom ( I |` ( F " ( 0 ..^ N ) ) ) ) ) ) |
| 22 | 13 15 21 | mpbir2and | |- ( ph -> H ( EulerPaths ` S ) Q ) |