MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  iseupa Structured version   Unicode version

Theorem iseupa 21689
Description: The property " <. F ,  P >. is an Eulerian path on the graph  <. V ,  E >.". An Eulerian path is defined as bijection  F from the edges to a set  1 ... N a function  P :
( 0 ... N
) --> V into the vertices such that for each 
1  <_  k  <_  N,  F ( k ) is an edge from  P ( k  -  1 ) to  P
( k ). (Since the edges are undirected and there are possibly many edges between any two given vertices, we need to list both the edges and the vertices of the path separately.) (Contributed by Mario Carneiro, 12-Mar-2015.) (Revised by Mario Carneiro, 3-May-2015.)
Assertion
Ref Expression
iseupa  |-  ( dom 
E  =  A  -> 
( F ( V EulPaths  E ) P  <->  ( V UMGrph  E  /\  E. n  e. 
NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) )
Distinct variable groups:    k, n, A    k, E, n    k, F, n    P, k, n   
k, V, n

Proof of Theorem iseupa
Dummy variables  e 
f  p  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-eupa 21687 . . . 4  |- EulPaths  =  ( v  e.  _V , 
e  e.  _V  |->  {
<. f ,  p >.  |  ( v UMGrph  e  /\  E. n  e.  NN0  (
f : ( 1 ... n ) -1-1-onto-> dom  e  /\  p : ( 0 ... n ) --> v  /\  A. k  e.  ( 1 ... n
) ( e `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) } )
21brovmpt2ex 6477 . . 3  |-  ( F ( V EulPaths  E ) P  ->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) ) )
32a1i 11 . 2  |-  ( dom 
E  =  A  -> 
( F ( V EulPaths  E ) P  -> 
( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) ) ) )
4 relumgra 21351 . . . . 5  |-  Rel UMGrph
5 brrelex12 4917 . . . . 5  |-  ( ( Rel UMGrph  /\  V UMGrph  E )  ->  ( V  e.  _V  /\  E  e.  _V )
)
64, 5mpan 653 . . . 4  |-  ( V UMGrph  E  ->  ( V  e. 
_V  /\  E  e.  _V ) )
7 f1of 5676 . . . . . . . 8  |-  ( F : ( 1 ... n ) -1-1-onto-> A  ->  F :
( 1 ... n
) --> A )
8 ovex 6108 . . . . . . . 8  |-  ( 1 ... n )  e. 
_V
9 fex 5971 . . . . . . . 8  |-  ( ( F : ( 1 ... n ) --> A  /\  ( 1 ... n )  e.  _V )  ->  F  e.  _V )
107, 8, 9sylancl 645 . . . . . . 7  |-  ( F : ( 1 ... n ) -1-1-onto-> A  ->  F  e.  _V )
11 ovex 6108 . . . . . . . 8  |-  ( 0 ... n )  e. 
_V
12 fex 5971 . . . . . . . 8  |-  ( ( P : ( 0 ... n ) --> V  /\  ( 0 ... n )  e.  _V )  ->  P  e.  _V )
1311, 12mpan2 654 . . . . . . 7  |-  ( P : ( 0 ... n ) --> V  ->  P  e.  _V )
1410, 13anim12i 551 . . . . . 6  |-  ( ( F : ( 1 ... n ) -1-1-onto-> A  /\  P : ( 0 ... n ) --> V )  ->  ( F  e. 
_V  /\  P  e.  _V ) )
15143adant3 978 . . . . 5  |-  ( ( F : ( 1 ... n ) -1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( F `
 k ) )  =  { ( P `
 ( k  - 
1 ) ) ,  ( P `  k
) } )  -> 
( F  e.  _V  /\  P  e.  _V )
)
1615rexlimivw 2828 . . . 4  |-  ( E. n  e.  NN0  ( F : ( 1 ... n ) -1-1-onto-> A  /\  P :
( 0 ... n
) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( F `
 k ) )  =  { ( P `
 ( k  - 
1 ) ) ,  ( P `  k
) } )  -> 
( F  e.  _V  /\  P  e.  _V )
)
176, 16anim12i 551 . . 3  |-  ( ( V UMGrph  E  /\  E. n  e.  NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) )  ->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) ) )
1817a1i 11 . 2  |-  ( dom 
E  =  A  -> 
( ( V UMGrph  E  /\  E. n  e.  NN0  ( F : ( 1 ... n ) -1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( F `
 k ) )  =  { ( P `
 ( k  - 
1 ) ) ,  ( P `  k
) } ) )  ->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) ) ) )
191a1i 11 . . . . . 6  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  -> EulPaths  =  ( v  e. 
_V ,  e  e. 
_V  |->  { <. f ,  p >.  |  (
v UMGrph  e  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> dom  e  /\  p : ( 0 ... n ) --> v  /\  A. k  e.  ( 1 ... n ) ( e `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) ) } ) )
20 breq12 4219 . . . . . . . . 9  |-  ( ( v  =  V  /\  e  =  E )  ->  ( v UMGrph  e  <->  V UMGrph  E ) )
2120adantl 454 . . . . . . . 8  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( v UMGrph  e  <->  V UMGrph  E ) )
22 simprr 735 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
e  =  E )
2322dmeqd 5074 . . . . . . . . . . . 12  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  ->  dom  e  =  dom  E )
24 simplr 733 . . . . . . . . . . . 12  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  ->  dom  E  =  A )
2523, 24eqtrd 2470 . . . . . . . . . . 11  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  ->  dom  e  =  A
)
26 f1oeq3 5669 . . . . . . . . . . 11  |-  ( dom  e  =  A  -> 
( f : ( 1 ... n ) -1-1-onto-> dom  e  <->  f : ( 1 ... n ) -1-1-onto-> A ) )
2725, 26syl 16 . . . . . . . . . 10  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( f : ( 1 ... n ) -1-1-onto-> dom  e  <->  f : ( 1 ... n ) -1-1-onto-> A ) )
28 feq3 5580 . . . . . . . . . . 11  |-  ( v  =  V  ->  (
p : ( 0 ... n ) --> v  <-> 
p : ( 0 ... n ) --> V ) )
2928ad2antrl 710 . . . . . . . . . 10  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( p : ( 0 ... n ) --> v  <->  p : ( 0 ... n ) --> V ) )
3022fveq1d 5732 . . . . . . . . . . . 12  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( e `  (
f `  k )
)  =  ( E `
 ( f `  k ) ) )
3130eqeq1d 2446 . . . . . . . . . . 11  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( ( e `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) }  <-> 
( E `  (
f `  k )
)  =  { ( p `  ( k  -  1 ) ) ,  ( p `  k ) } ) )
3231ralbidv 2727 . . . . . . . . . 10  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( A. k  e.  ( 1 ... n
) ( e `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) }  <->  A. k  e.  (
1 ... n ) ( E `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) )
3327, 29, 323anbi123d 1255 . . . . . . . . 9  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( ( f : ( 1 ... n
)
-1-1-onto-> dom  e  /\  p : ( 0 ... n ) --> v  /\  A. k  e.  ( 1 ... n ) ( e `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } )  <->  ( f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n
) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) ) )
3433rexbidv 2728 . . . . . . . 8  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( E. n  e. 
NN0  ( f : ( 1 ... n
)
-1-1-onto-> dom  e  /\  p : ( 0 ... n ) --> v  /\  A. k  e.  ( 1 ... n ) ( e `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } )  <->  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) )
3521, 34anbi12d 693 . . . . . . 7  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
( ( v UMGrph  e  /\  E. n  e.  NN0  ( f : ( 1 ... n ) -1-1-onto-> dom  e  /\  p : ( 0 ... n
) --> v  /\  A. k  e.  ( 1 ... n ) ( e `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) )  <-> 
( V UMGrph  E  /\  E. n  e.  NN0  (
f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) ) ) )
3635opabbidv 4273 . . . . . 6  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  ->  { <. f ,  p >.  |  ( v UMGrph  e  /\  E. n  e.  NN0  ( f : ( 1 ... n ) -1-1-onto-> dom  e  /\  p : ( 0 ... n
) --> v  /\  A. k  e.  ( 1 ... n ) ( e `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) ) }  =  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) } )
37 simplll 736 . . . . . 6  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  V  e.  _V )
38 simpllr 737 . . . . . 6  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  E  e.  _V )
39 simpr 449 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  dom  E  =  A )
40 dmexg 5132 . . . . . . . . . . . . . . . 16  |-  ( E  e.  _V  ->  dom  E  e.  _V )
4138, 40syl 16 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  dom  E  e.  _V )
4239, 41eqeltrrd 2513 . . . . . . . . . . . . . 14  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  A  e.  _V )
4342adantr 453 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  A  e.  _V )
44 nnex 10008 . . . . . . . . . . . . . 14  |-  NN  e.  _V
4544a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  NN  e.  _V )
46 simpr1 964 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  f : ( 1 ... n ) -1-1-onto-> A )
47 f1of 5676 . . . . . . . . . . . . . 14  |-  ( f : ( 1 ... n ) -1-1-onto-> A  ->  f :
( 1 ... n
) --> A )
4846, 47syl 16 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  f : ( 1 ... n ) --> A )
49 elfznn 11082 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( 1 ... n )  ->  k  e.  NN )
5049ssriv 3354 . . . . . . . . . . . . . 14  |-  ( 1 ... n )  C_  NN
5150a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  (
1 ... n )  C_  NN )
52 elpm2r 7036 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  _V  /\  NN  e.  _V )  /\  ( f : ( 1 ... n ) --> A  /\  ( 1 ... n )  C_  NN ) )  ->  f  e.  ( A  ^pm  NN ) )
5343, 45, 48, 51, 52syl22anc 1186 . . . . . . . . . . . 12  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  f  e.  ( A  ^pm  NN ) )
5437adantr 453 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  V  e.  _V )
55 nn0ex 10229 . . . . . . . . . . . . . 14  |-  NN0  e.  _V
5655a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  NN0  e.  _V )
57 simpr2 965 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  p : ( 0 ... n ) --> V )
58 elfznn0 11085 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( 0 ... n )  ->  k  e.  NN0 )
5958ssriv 3354 . . . . . . . . . . . . . 14  |-  ( 0 ... n )  C_  NN0
6059a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  (
0 ... n )  C_  NN0 )
61 elpm2r 7036 . . . . . . . . . . . . 13  |-  ( ( ( V  e.  _V  /\ 
NN0  e.  _V )  /\  ( p : ( 0 ... n ) --> V  /\  ( 0 ... n )  C_  NN0 ) )  ->  p  e.  ( V  ^pm  NN0 )
)
6254, 56, 57, 60, 61syl22anc 1186 . . . . . . . . . . . 12  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  p  e.  ( V  ^pm  NN0 )
)
6353, 62jca 520 . . . . . . . . . . 11  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  (
f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) )
6463ex 425 . . . . . . . . . 10  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( ( f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n
) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } )  -> 
( f  e.  ( A  ^pm  NN )  /\  p  e.  ( V  ^pm  NN0 ) ) ) )
6564rexlimdvw 2835 . . . . . . . . 9  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } )  ->  ( f  e.  ( A  ^pm  NN )  /\  p  e.  ( V  ^pm  NN0 ) ) ) )
6665adantld 455 . . . . . . . 8  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( ( V UMGrph  E  /\  E. n  e. 
NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  ->  (
f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) ) )
6766ssopab2dv 4485 . . . . . . 7  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) }  C_  {
<. f ,  p >.  |  ( f  e.  ( A  ^pm  NN )  /\  p  e.  ( V  ^pm  NN0 ) ) } )
68 df-xp 4886 . . . . . . . 8  |-  ( ( A  ^pm  NN )  X.  ( V  ^pm  NN0 )
)  =  { <. f ,  p >.  |  ( f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }
69 ovex 6108 . . . . . . . . 9  |-  ( A 
^pm  NN )  e.  _V
70 ovex 6108 . . . . . . . . 9  |-  ( V 
^pm  NN0 )  e.  _V
7169, 70xpex 4992 . . . . . . . 8  |-  ( ( A  ^pm  NN )  X.  ( V  ^pm  NN0 )
)  e.  _V
7268, 71eqeltrri 2509 . . . . . . 7  |-  { <. f ,  p >.  |  ( f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }  e.  _V
73 ssexg 4351 . . . . . . 7  |-  ( ( { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) }  C_  {
<. f ,  p >.  |  ( f  e.  ( A  ^pm  NN )  /\  p  e.  ( V  ^pm  NN0 ) ) }  /\  { <. f ,  p >.  |  (
f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }  e.  _V )  ->  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) }  e.  _V )
7467, 72, 73sylancl 645 . . . . . 6  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) }  e.  _V )
7519, 36, 37, 38, 74ovmpt2d 6203 . . . . 5  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( V EulPaths  E )  =  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) } )
7675breqd 4225 . . . 4  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( F ( V EulPaths  E ) P  <->  F { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  (
f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) ) } P ) )
77 f1oeq1 5667 . . . . . . . . . 10  |-  ( f  =  F  ->  (
f : ( 1 ... n ) -1-1-onto-> A  <->  F :
( 1 ... n
)
-1-1-onto-> A ) )
7877adantr 453 . . . . . . . . 9  |-  ( ( f  =  F  /\  p  =  P )  ->  ( f : ( 1 ... n ) -1-1-onto-> A  <-> 
F : ( 1 ... n ) -1-1-onto-> A ) )
79 feq1 5578 . . . . . . . . . 10  |-  ( p  =  P  ->  (
p : ( 0 ... n ) --> V  <-> 
P : ( 0 ... n ) --> V ) )
8079adantl 454 . . . . . . . . 9  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p : ( 0 ... n ) --> V  <->  P : ( 0 ... n ) --> V ) )
81 fveq1 5729 . . . . . . . . . . . . 13  |-  ( f  =  F  ->  (
f `  k )  =  ( F `  k ) )
8281fveq2d 5734 . . . . . . . . . . . 12  |-  ( f  =  F  ->  ( E `  ( f `  k ) )  =  ( E `  ( F `  k )
) )
8382adantr 453 . . . . . . . . . . 11  |-  ( ( f  =  F  /\  p  =  P )  ->  ( E `  (
f `  k )
)  =  ( E `
 ( F `  k ) ) )
84 simpr 449 . . . . . . . . . . . . 13  |-  ( ( f  =  F  /\  p  =  P )  ->  p  =  P )
8584fveq1d 5732 . . . . . . . . . . . 12  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p `  (
k  -  1 ) )  =  ( P `
 ( k  - 
1 ) ) )
8684fveq1d 5732 . . . . . . . . . . . 12  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p `  k
)  =  ( P `
 k ) )
8785, 86preq12d 3893 . . . . . . . . . . 11  |-  ( ( f  =  F  /\  p  =  P )  ->  { ( p `  ( k  -  1 ) ) ,  ( p `  k ) }  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } )
8883, 87eqeq12d 2452 . . . . . . . . . 10  |-  ( ( f  =  F  /\  p  =  P )  ->  ( ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) }  <-> 
( E `  ( F `  k )
)  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) )
8988ralbidv 2727 . . . . . . . . 9  |-  ( ( f  =  F  /\  p  =  P )  ->  ( A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) }  <->  A. k  e.  (
1 ... n ) ( E `  ( F `
 k ) )  =  { ( P `
 ( k  - 
1 ) ) ,  ( P `  k
) } ) )
9078, 80, 893anbi123d 1255 . . . . . . . 8  |-  ( ( f  =  F  /\  p  =  P )  ->  ( ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } )  <->  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) )
9190rexbidv 2728 . . . . . . 7  |-  ( ( f  =  F  /\  p  =  P )  ->  ( E. n  e. 
NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } )  <->  E. n  e.  NN0  ( F : ( 1 ... n ) -1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( F `
 k ) )  =  { ( P `
 ( k  - 
1 ) ) ,  ( P `  k
) } ) ) )
9291anbi2d 686 . . . . . 6  |-  ( ( f  =  F  /\  p  =  P )  ->  ( ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) )  <->  ( V UMGrph  E  /\  E. n  e. 
NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) )
93 eqid 2438 . . . . . 6  |-  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) }  =  { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) }
9492, 93brabga 4471 . . . . 5  |-  ( ( F  e.  _V  /\  P  e.  _V )  ->  ( F { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  ( f : ( 1 ... n
)
-1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) } ) ) } P  <->  ( V UMGrph  E  /\  E. n  e.  NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) )
9594ad2antlr 709 . . . 4  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( F { <. f ,  p >.  |  ( V UMGrph  E  /\  E. n  e.  NN0  (
f : ( 1 ... n ) -1-1-onto-> A  /\  p : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) ( E `  ( f `
 k ) )  =  { ( p `
 ( k  - 
1 ) ) ,  ( p `  k
) } ) ) } P  <->  ( V UMGrph  E  /\  E. n  e. 
NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) )
9676, 95bitrd 246 . . 3  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  ( F ( V EulPaths  E ) P  <->  ( V UMGrph  E  /\  E. n  e. 
NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) )
9796expcom 426 . 2  |-  ( dom 
E  =  A  -> 
( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  -> 
( F ( V EulPaths  E ) P  <->  ( V UMGrph  E  /\  E. n  e. 
NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) ) )
983, 18, 97pm5.21ndd 345 1  |-  ( dom 
E  =  A  -> 
( F ( V EulPaths  E ) P  <->  ( V UMGrph  E  /\  E. n  e. 
NN0  ( F :
( 1 ... n
)
-1-1-onto-> A  /\  P : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( E `  ( F `  k ) )  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 178    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   A.wral 2707   E.wrex 2708   _Vcvv 2958    C_ wss 3322   {cpr 3817   class class class wbr 4214   {copab 4267    X. cxp 4878   dom cdm 4880   Rel wrel 4885   -->wf 5452   -1-1-onto->wf1o 5455   ` cfv 5456  (class class class)co 6083    e. cmpt2 6085    ^pm cpm 7021   0cc0 8992   1c1 8993    - cmin 9293   NNcn 10002   NN0cn0 10223   ...cfz 11045   UMGrph cumg 21349   EulPaths ceup 21686
This theorem is referenced by:  eupagra  21690  eupai  21691  eupatrl  21692  eupa0  21698  eupares  21699  eupap1  21700
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-rep 4322  ax-sep 4332  ax-nul 4340  ax-pow 4379  ax-pr 4405  ax-un 4703  ax-cnex 9048  ax-resscn 9049  ax-1cn 9050  ax-icn 9051  ax-addcl 9052  ax-addrcl 9053  ax-mulcl 9054  ax-mulrcl 9055  ax-mulcom 9056  ax-addass 9057  ax-mulass 9058  ax-distr 9059  ax-i2m1 9060  ax-1ne0 9061  ax-1rid 9062  ax-rnegex 9063  ax-rrecex 9064  ax-cnre 9065  ax-pre-lttri 9066  ax-pre-lttrn 9067  ax-pre-ltadd 9068  ax-pre-mulgt0 9069
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-reu 2714  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-iun 4097  df-br 4215  df-opab 4269  df-mpt 4270  df-tr 4305  df-eprel 4496  df-id 4500  df-po 4505  df-so 4506  df-fr 4543  df-we 4545  df-ord 4586  df-on 4587  df-lim 4588  df-suc 4589  df-om 4848  df-xp 4886  df-rel 4887  df-cnv 4888  df-co 4889  df-dm 4890  df-rn 4891  df-res 4892  df-ima 4893  df-iota 5420  df-fun 5458  df-fn 5459  df-f 5460  df-f1 5461  df-fo 5462  df-f1o 5463  df-fv 5464  df-ov 6086  df-oprab 6087  df-mpt2 6088  df-1st 6351  df-2nd 6352  df-riota 6551  df-recs 6635  df-rdg 6670  df-er 6907  df-pm 7023  df-en 7112  df-dom 7113  df-sdom 7114  df-pnf 9124  df-mnf 9125  df-xr 9126  df-ltxr 9127  df-le 9128  df-sub 9295  df-neg 9296  df-nn 10003  df-n0 10224  df-z 10285  df-uz 10491  df-fz 11046  df-umgra 21350  df-eupa 21687
  Copyright terms: Public domain W3C validator