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

Theorem iseupa 24641
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 24639 . . . 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 6948 . . 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 23990 . . . . 5  |-  Rel UMGrph
5 brrelex12 5036 . . . . 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 5814 . . . . . . . 8  |-  ( F : ( 1 ... n ) -1-1-onto-> A  ->  F :
( 1 ... n
) --> A )
8 ovex 6307 . . . . . . . 8  |-  ( 1 ... n )  e. 
_V
9 fex 6131 . . . . . . . 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 6307 . . . . . . . 8  |-  ( 0 ... n )  e. 
_V
12 fex 6131 . . . . . . . 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 1016 . . . . 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 2952 . . . 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 4452 . . . . . . . . 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 5203 . . . . . . . . . . . 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 2508 . . . . . . . . . . 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 5807 . . . . . . . . . . 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 5713 . . . . . . . . . . 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 5866 . . . . . . . . . . . 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 2469 . . . . . . . . . . 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 2903 . . . . . . . . . 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 1299 . . . . . . . . 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 2973 . . . . . . . 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 4510 . . . . . 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 6712 . . . . . . . . . . . . . . . 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 2556 . . . . . . . . . . . . . 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 10538 . . . . . . . . . . . . . 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 1002 . . . . . . . . . . . . . 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 5814 . . . . . . . . . . . . . 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 11710 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( 1 ... n )  ->  k  e.  NN )
5049ssriv 3508 . . . . . . . . . . . . . 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 7433 . . . . . . . . . . . . 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 1229 . . . . . . . . . . . 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 10797 . . . . . . . . . . . . . 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 1003 . . . . . . . . . . . . 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 11766 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( 0 ... n )  ->  k  e.  NN0 )
5958ssriv 3508 . . . . . . . . . . . . . 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 7433 . . . . . . . . . . . . 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 1229 . . . . . . . . . . . 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 2958 . . . . . . . . 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 4776 . . . . . . 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 5005 . . . . . . . 8  |-  ( ( A  ^pm  NN )  X.  ( V  ^pm  NN0 )
)  =  { <. f ,  p >.  |  ( f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }
69 ovex 6307 . . . . . . . . 9  |-  ( A 
^pm  NN )  e.  _V
70 ovex 6307 . . . . . . . . 9  |-  ( V 
^pm  NN0 )  e.  _V
7169, 70xpex 6711 . . . . . . . 8  |-  ( ( A  ^pm  NN )  X.  ( V  ^pm  NN0 )
)  e.  _V
7268, 71eqeltrri 2552 . . . . . . 7  |-  { <. f ,  p >.  |  ( f  e.  ( A 
^pm  NN )  /\  p  e.  ( V  ^pm  NN0 )
) }  e.  _V
73 ssexg 4593 . . . . . . 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 6412 . . . . 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 4458 . . . 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 5805 . . . . . . . . . 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 5711 . . . . . . . . . 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 5863 . . . . . . . . . . . . 13  |-  ( f  =  F  ->  (
f `  k )  =  ( F `  k ) )
8281fveq2d 5868 . . . . . . . . . . . 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 5866 . . . . . . . . . . . 12  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p `  (
k  -  1 ) )  =  ( P `
 ( k  - 
1 ) ) )
8684fveq1d 5866 . . . . . . . . . . . 12  |-  ( ( f  =  F  /\  p  =  P )  ->  ( p `  k
)  =  ( P `
 k ) )
8785, 86preq12d 4114 . . . . . . . . . . 11  |-  ( ( f  =  F  /\  p  =  P )  ->  { ( p `  ( k  -  1 ) ) ,  ( p `  k ) }  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } )
8883, 87eqeq12d 2489 . . . . . . . . . 10  |-  ( ( f  =  F  /\  p  =  P )  ->  ( ( E `  ( f `  k
) )  =  {
( p `  (
k  -  1 ) ) ,  ( p `
 k ) }  <-> 
( E `  ( F `  k )
)  =  { ( P `  ( k  -  1 ) ) ,  ( P `  k ) } ) )
8988ralbidv 2903 . . . . . . . . 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 1299 . . . . . . . 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 2973 . . . . . . 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 2467 . . . . . 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 4761 . . . . 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 973    = wceq 1379    e. wcel 1767   A.wral 2814   E.wrex 2815   _Vcvv 3113    C_ wss 3476   {cpr 4029   class class class wbr 4447   {copab 4504    X. cxp 4997   dom cdm 4999   Rel wrel 5004   -->wf 5582   -1-1-onto->wf1o 5585   ` cfv 5586  (class class class)co 6282    |-> cmpt2 6284    ^pm cpm 7418   0cc0 9488   1c1 9489    - cmin 9801   NNcn 10532   NN0cn0 10791   ...cfz 11668   UMGrph cumg 23988   EulPaths ceup 24638
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6574  ax-cnex 9544  ax-resscn 9545  ax-1cn 9546  ax-icn 9547  ax-addcl 9548  ax-addrcl 9549  ax-mulcl 9550  ax-mulrcl 9551  ax-mulcom 9552  ax-addass 9553  ax-mulass 9554  ax-distr 9555  ax-i2m1 9556  ax-1ne0 9557  ax-1rid 9558  ax-rnegex 9559  ax-rrecex 9560  ax-cnre 9561  ax-pre-lttri 9562  ax-pre-lttrn 9563  ax-pre-ltadd 9564  ax-pre-mulgt0 9565
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5549  df-fun 5588  df-fn 5589  df-f 5590  df-f1 5591  df-fo 5592  df-f1o 5593  df-fv 5594  df-riota 6243  df-ov 6285  df-oprab 6286  df-mpt2 6287  df-om 6679  df-1st 6781  df-2nd 6782  df-recs 7039  df-rdg 7073  df-er 7308  df-pm 7420  df-en 7514  df-dom 7515  df-sdom 7516  df-pnf 9626  df-mnf 9627  df-xr 9628  df-ltxr 9629  df-le 9630  df-sub 9803  df-neg 9804  df-nn 10533  df-n0 10792  df-z 10861  df-uz 11079  df-fz 11669  df-umgra 23989  df-eupa 24639
This theorem is referenced by:  eupagra  24642  eupai  24643  eupatrl  24644  eupa0  24650  eupares  24651  eupap1  24652
  Copyright terms: Public domain W3C validator