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

Theorem iseupa 23589
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 23587 . . . 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 6744 . . 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 23251 . . . . 5  |-  Rel UMGrph
5 brrelex12 4879 . . . . 5  |-  ( ( Rel UMGrph  /\  V UMGrph  E )  ->  ( V  e.  _V  /\  E  e.  _V )
)
64, 5mpan 670 . . . 4  |-  ( V UMGrph  E  ->  ( V  e. 
_V  /\  E  e.  _V ) )
7 f1of 5644 . . . . . . . 8  |-  ( F : ( 1 ... n ) -1-1-onto-> A  ->  F :
( 1 ... n
) --> A )
8 ovex 6119 . . . . . . . 8  |-  ( 1 ... n )  e. 
_V
9 fex 5953 . . . . . . . 8  |-  ( ( F : ( 1 ... n ) --> A  /\  ( 1 ... n )  e.  _V )  ->  F  e.  _V )
107, 8, 9sylancl 662 . . . . . . 7  |-  ( F : ( 1 ... n ) -1-1-onto-> A  ->  F  e.  _V )
11 ovex 6119 . . . . . . . 8  |-  ( 0 ... n )  e. 
_V
12 fex 5953 . . . . . . . 8  |-  ( ( P : ( 0 ... n ) --> V  /\  ( 0 ... n )  e.  _V )  ->  P  e.  _V )
1311, 12mpan2 671 . . . . . . 7  |-  ( P : ( 0 ... n ) --> V  ->  P  e.  _V )
1410, 13anim12i 566 . . . . . 6  |-  ( ( F : ( 1 ... n ) -1-1-onto-> A  /\  P : ( 0 ... n ) --> V )  ->  ( F  e. 
_V  /\  P  e.  _V ) )
15143adant3 1008 . . . . 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 2840 . . . 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 566 . . 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 4300 . . . . . . . . 9  |-  ( ( v  =  V  /\  e  =  E )  ->  ( v UMGrph  e  <->  V UMGrph  E ) )
2120adantl 466 . . . . . . . 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 756 . . . . . . . . . . . . 13  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  /\  ( v  =  V  /\  e  =  E ) )  -> 
e  =  E )
2322dmeqd 5045 . . . . . . . . . . . 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 754 . . . . . . . . . . . 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 2475 . . . . . . . . . . 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 5637 . . . . . . . . . . 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 5547 . . . . . . . . . . 11  |-  ( v  =  V  ->  (
p : ( 0 ... n ) --> v  <-> 
p : ( 0 ... n ) --> V ) )
2928ad2antrl 727 . . . . . . . . . 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 5696 . . . . . . . . . . . 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 2451 . . . . . . . . . . 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 2738 . . . . . . . . . 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 1289 . . . . . . . . 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 2739 . . . . . . . 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 710 . . . . . . 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 4358 . . . . . 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 757 . . . . . 6  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  V  e.  _V )
38 simpllr 758 . . . . . 6  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  E  e.  _V )
39 simpr 461 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  dom  E  =  A )
40 dmexg 6512 . . . . . . . . . . . . . . . 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 2518 . . . . . . . . . . . . . 14  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( F  e.  _V  /\  P  e.  _V ) )  /\  dom  E  =  A )  ->  A  e.  _V )
4342adantr 465 . . . . . . . . . . . . 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 10331 . . . . . . . . . . . . . 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 994 . . . . . . . . . . . . . 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 5644 . . . . . . . . . . . . . 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 11481 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( 1 ... n )  ->  k  e.  NN )
5049ssriv 3363 . . . . . . . . . . . . . 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 7233 . . . . . . . . . . . . 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 1219 . . . . . . . . . . . 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 465 . . . . . . . . . . . . 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 10588 . . . . . . . . . . . . . 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 995 . . . . . . . . . . . . 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 11484 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( 0 ... n )  ->  k  e.  NN0 )
5958ssriv 3363 . . . . . . . . . . . . . 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 7233 . . . . . . . . . . . . 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 1219 . . . . . . . . . . . 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 532 . . . . . . . . . . 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 434 . . . . . . . . . 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 2847 . . . . . . . . 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 467 . . . . . . . 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 4620 . . . . . . 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 4849 . . . . . . . 8  |-  ( ( A  ^pm  NN )  X.  ( V  ^pm  NN0 )
)  =  { <. f ,  p >.  |  ( f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }
69 ovex 6119 . . . . . . . . 9  |-  ( A 
^pm  NN )  e.  _V
70 ovex 6119 . . . . . . . . 9  |-  ( V 
^pm  NN0 )  e.  _V
7169, 70xpex 6511 . . . . . . . 8  |-  ( ( A  ^pm  NN )  X.  ( V  ^pm  NN0 )
)  e.  _V
7268, 71eqeltrri 2514 . . . . . . 7  |-  { <. f ,  p >.  |  ( f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }  e.  _V
73 ssexg 4441 . . . . . . 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 662 . . . . . 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 6221 . . . . 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 4306 . . . 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 5635 . . . . . . . . . 10  |-  ( f  =  F  ->  (
f : ( 1 ... n ) -1-1-onto-> A  <->  F :
( 1 ... n
)
-1-1-onto-> A ) )
7877adantr 465 . . . . . . . . 9  |-  ( ( f  =  F  /\  p  =  P )  ->  ( f : ( 1 ... n ) -1-1-onto-> A  <-> 
F : ( 1 ... n ) -1-1-onto-> A ) )
79 feq1 5545 . . . . . . . . . 10  |-  ( p  =  P  ->  (
p : ( 0 ... n ) --> V  <-> 
P : ( 0 ... n ) --> V ) )
8079adantl 466 . . . . . . . . 9  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p : ( 0 ... n ) --> V  <->  P : ( 0 ... n ) --> V ) )
81 fveq1 5693 . . . . . . . . . . . . 13  |-  ( f  =  F  ->  (
f `  k )  =  ( F `  k ) )
8281fveq2d 5698 . . . . . . . . . . . 12  |-  ( f  =  F  ->  ( E `  ( f `  k ) )  =  ( E `  ( F `  k )
) )
8382adantr 465 . . . . . . . . . . 11  |-  ( ( f  =  F  /\  p  =  P )  ->  ( E `  (
f `  k )
)  =  ( E `
 ( F `  k ) ) )
84 simpr 461 . . . . . . . . . . . . 13  |-  ( ( f  =  F  /\  p  =  P )  ->  p  =  P )
8584fveq1d 5696 . . . . . . . . . . . 12  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p `  (
k  -  1 ) )  =  ( P `
 ( k  - 
1 ) ) )
8684fveq1d 5696 . . . . . . . . . . . 12  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p `  k
)  =  ( P `
 k ) )
8785, 86preq12d 3965 . . . . . . . . . . 11  |-  ( ( f  =  F  /\  p  =  P )  ->  { ( p `  ( k  -  1 ) ) ,  ( p `  k ) }  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } )
8883, 87eqeq12d 2457 . . . . . . . . . 10  |-  ( ( f  =  F  /\  p  =  P )  ->  ( ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) }  <-> 
( E `  ( F `  k )
)  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) )
8988ralbidv 2738 . . . . . . . . 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 1289 . . . . . . . 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 2739 . . . . . . 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 703 . . . . . 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 2443 . . . . . 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 4606 . . . . 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 726 . . . 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 253 . . 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 435 . 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 354 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 setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 965    = wceq 1369    e. wcel 1756   A.wral 2718   E.wrex 2719   _Vcvv 2975    C_ wss 3331   {cpr 3882   class class class wbr 4295   {copab 4352    X. cxp 4841   dom cdm 4843   Rel wrel 4848   -->wf 5417   -1-1-onto->wf1o 5420   ` cfv 5421  (class class class)co 6094    e. cmpt2 6096    ^pm cpm 7218   0cc0 9285   1c1 9286    - cmin 9598   NNcn 10325   NN0cn0 10582   ...cfz 11440   UMGrph cumg 23249   EulPaths ceup 23586
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-rep 4406  ax-sep 4416  ax-nul 4424  ax-pow 4473  ax-pr 4534  ax-un 6375  ax-cnex 9341  ax-resscn 9342  ax-1cn 9343  ax-icn 9344  ax-addcl 9345  ax-addrcl 9346  ax-mulcl 9347  ax-mulrcl 9348  ax-mulcom 9349  ax-addass 9350  ax-mulass 9351  ax-distr 9352  ax-i2m1 9353  ax-1ne0 9354  ax-1rid 9355  ax-rnegex 9356  ax-rrecex 9357  ax-cnre 9358  ax-pre-lttri 9359  ax-pre-lttrn 9360  ax-pre-ltadd 9361  ax-pre-mulgt0 9362
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2571  df-ne 2611  df-nel 2612  df-ral 2723  df-rex 2724  df-reu 2725  df-rab 2727  df-v 2977  df-sbc 3190  df-csb 3292  df-dif 3334  df-un 3336  df-in 3338  df-ss 3345  df-pss 3347  df-nul 3641  df-if 3795  df-pw 3865  df-sn 3881  df-pr 3883  df-tp 3885  df-op 3887  df-uni 4095  df-iun 4176  df-br 4296  df-opab 4354  df-mpt 4355  df-tr 4389  df-eprel 4635  df-id 4639  df-po 4644  df-so 4645  df-fr 4682  df-we 4684  df-ord 4725  df-on 4726  df-lim 4727  df-suc 4728  df-xp 4849  df-rel 4850  df-cnv 4851  df-co 4852  df-dm 4853  df-rn 4854  df-res 4855  df-ima 4856  df-iota 5384  df-fun 5423  df-fn 5424  df-f 5425  df-f1 5426  df-fo 5427  df-f1o 5428  df-fv 5429  df-riota 6055  df-ov 6097  df-oprab 6098  df-mpt2 6099  df-om 6480  df-1st 6580  df-2nd 6581  df-recs 6835  df-rdg 6869  df-er 7104  df-pm 7220  df-en 7314  df-dom 7315  df-sdom 7316  df-pnf 9423  df-mnf 9424  df-xr 9425  df-ltxr 9426  df-le 9427  df-sub 9600  df-neg 9601  df-nn 10326  df-n0 10583  df-z 10650  df-uz 10865  df-fz 11441  df-umgra 23250  df-eupa 23587
This theorem is referenced by:  eupagra  23590  eupai  23591  eupatrl  23592  eupa0  23598  eupares  23599  eupap1  23600
  Copyright terms: Public domain W3C validator