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

Theorem eupa0 25694
Description: There is an Eulerian path on the empty graph. (Contributed by Mario Carneiro, 7-Apr-2015.)
Assertion
Ref Expression
eupa0  |-  ( ( V  e.  W  /\  A  e.  V )  -> 
(/) ( V EulPaths  (/) ) {
<. 0 ,  A >. } )

Proof of Theorem eupa0
Dummy variables  k  n are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 umgra0 25044 . . 3  |-  ( V  e.  W  ->  V UMGrph  (/) )
21adantr 467 . 2  |-  ( ( V  e.  W  /\  A  e.  V )  ->  V UMGrph  (/) )
3 0nn0 10886 . . . 4  |-  0  e.  NN0
43a1i 11 . . 3  |-  ( ( V  e.  W  /\  A  e.  V )  ->  0  e.  NN0 )
5 f1o0 5863 . . . 4  |-  (/) : (/) -1-1-onto-> (/)
65a1i 11 . . 3  |-  ( ( V  e.  W  /\  A  e.  V )  -> 
(/) : (/) -1-1-onto-> (/) )
7 simpr 463 . . . . . 6  |-  ( ( V  e.  W  /\  A  e.  V )  ->  A  e.  V )
8 f1osng 5867 . . . . . 6  |-  ( ( 0  e.  NN0  /\  A  e.  V )  ->  { <. 0 ,  A >. } : { 0 } -1-1-onto-> { A } )
93, 7, 8sylancr 668 . . . . 5  |-  ( ( V  e.  W  /\  A  e.  V )  ->  { <. 0 ,  A >. } : { 0 } -1-1-onto-> { A } )
10 f1of 5829 . . . . 5  |-  ( {
<. 0 ,  A >. } : { 0 } -1-1-onto-> { A }  ->  {
<. 0 ,  A >. } : { 0 } --> { A }
)
119, 10syl 17 . . . 4  |-  ( ( V  e.  W  /\  A  e.  V )  ->  { <. 0 ,  A >. } : { 0 } --> { A }
)
127snssd 4143 . . . 4  |-  ( ( V  e.  W  /\  A  e.  V )  ->  { A }  C_  V )
1311, 12fssd 5753 . . 3  |-  ( ( V  e.  W  /\  A  e.  V )  ->  { <. 0 ,  A >. } : { 0 } --> V )
14 ral0 3903 . . . 4  |-  A. k  e.  (/)  ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) }
1514a1i 11 . . 3  |-  ( ( V  e.  W  /\  A  e.  V )  ->  A. k  e.  (/)  ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) } )
16 oveq2 6311 . . . . . . 7  |-  ( n  =  0  ->  (
1 ... n )  =  ( 1 ... 0
) )
17 fz10 11822 . . . . . . 7  |-  ( 1 ... 0 )  =  (/)
1816, 17syl6eq 2480 . . . . . 6  |-  ( n  =  0  ->  (
1 ... n )  =  (/) )
19 f1oeq2 5821 . . . . . 6  |-  ( ( 1 ... n )  =  (/)  ->  ( (/) : ( 1 ... n
)
-1-1-onto-> (/)  <->  (/) :
(/)
-1-1-onto-> (/) ) )
2018, 19syl 17 . . . . 5  |-  ( n  =  0  ->  ( (/)
: ( 1 ... n ) -1-1-onto-> (/)  <->  (/) : (/) -1-1-onto-> (/) ) )
21 oveq2 6311 . . . . . . 7  |-  ( n  =  0  ->  (
0 ... n )  =  ( 0 ... 0
) )
22 0z 10950 . . . . . . . 8  |-  0  e.  ZZ
23 fzsn 11842 . . . . . . . 8  |-  ( 0  e.  ZZ  ->  (
0 ... 0 )  =  { 0 } )
2422, 23ax-mp 5 . . . . . . 7  |-  ( 0 ... 0 )  =  { 0 }
2521, 24syl6eq 2480 . . . . . 6  |-  ( n  =  0  ->  (
0 ... n )  =  { 0 } )
2625feq2d 5731 . . . . 5  |-  ( n  =  0  ->  ( { <. 0 ,  A >. } : ( 0 ... n ) --> V  <->  { <. 0 ,  A >. } : { 0 } --> V ) )
2718raleqdv 3032 . . . . 5  |-  ( n  =  0  ->  ( A. k  e.  (
1 ... n ) (
(/) `  ( (/) `  k
) )  =  {
( { <. 0 ,  A >. } `  (
k  -  1 ) ) ,  ( {
<. 0 ,  A >. } `  k ) }  <->  A. k  e.  (/)  ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) } ) )
2820, 26, 273anbi123d 1336 . . . 4  |-  ( n  =  0  ->  (
( (/) : ( 1 ... n ) -1-1-onto-> (/)  /\  { <. 0 ,  A >. } : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) (
(/) `  ( (/) `  k
) )  =  {
( { <. 0 ,  A >. } `  (
k  -  1 ) ) ,  ( {
<. 0 ,  A >. } `  k ) } )  <->  ( (/) : (/) -1-1-onto-> (/)  /\  { <. 0 ,  A >. } : { 0 } --> V  /\  A. k  e.  (/)  ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) } ) ) )
2928rspcev 3183 . . 3  |-  ( ( 0  e.  NN0  /\  ( (/) : (/) -1-1-onto-> (/)  /\  { <. 0 ,  A >. } : { 0 } --> V  /\  A. k  e.  (/)  ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) } ) )  ->  E. n  e.  NN0  ( (/) : ( 1 ... n ) -1-1-onto-> (/)  /\  { <. 0 ,  A >. } : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) (
(/) `  ( (/) `  k
) )  =  {
( { <. 0 ,  A >. } `  (
k  -  1 ) ) ,  ( {
<. 0 ,  A >. } `  k ) } ) )
304, 6, 13, 15, 29syl13anc 1267 . 2  |-  ( ( V  e.  W  /\  A  e.  V )  ->  E. n  e.  NN0  ( (/) : ( 1 ... n ) -1-1-onto-> (/)  /\  { <. 0 ,  A >. } : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n ) (
(/) `  ( (/) `  k
) )  =  {
( { <. 0 ,  A >. } `  (
k  -  1 ) ) ,  ( {
<. 0 ,  A >. } `  k ) } ) )
31 dm0 5065 . . 3  |-  dom  (/)  =  (/)
32 iseupa 25685 . . 3  |-  ( dom  (/)  =  (/)  ->  ( (/) ( V EulPaths  (/) ) { <. 0 ,  A >. }  <-> 
( V UMGrph  (/)  /\  E. n  e.  NN0  ( (/) : ( 1 ... n
)
-1-1-onto-> (/) 
/\  { <. 0 ,  A >. } : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) } ) ) ) )
3331, 32ax-mp 5 . 2  |-  ( (/) ( V EulPaths  (/) ) { <. 0 ,  A >. }  <-> 
( V UMGrph  (/)  /\  E. n  e.  NN0  ( (/) : ( 1 ... n
)
-1-1-onto-> (/) 
/\  { <. 0 ,  A >. } : ( 0 ... n ) --> V  /\  A. k  e.  ( 1 ... n
) ( (/) `  ( (/) `  k ) )  =  { ( { <. 0 ,  A >. } `
 ( k  - 
1 ) ) ,  ( { <. 0 ,  A >. } `  k
) } ) ) )
342, 30, 33sylanbrc 669 1  |-  ( ( V  e.  W  /\  A  e.  V )  -> 
(/) ( V EulPaths  (/) ) {
<. 0 ,  A >. } )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 188    /\ wa 371    /\ w3a 983    = wceq 1438    e. wcel 1869   A.wral 2776   E.wrex 2777   (/)c0 3762   {csn 3997   {cpr 3999   <.cop 4003   class class class wbr 4421   dom cdm 4851   -->wf 5595   -1-1-onto->wf1o 5598   ` cfv 5599  (class class class)co 6303   0cc0 9541   1c1 9542    - cmin 9862   NN0cn0 10871   ZZcz 10939   ...cfz 11786   UMGrph cumg 25031   EulPaths ceup 25682
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1666  ax-4 1679  ax-5 1749  ax-6 1795  ax-7 1840  ax-8 1871  ax-9 1873  ax-10 1888  ax-11 1893  ax-12 1906  ax-13 2054  ax-ext 2401  ax-rep 4534  ax-sep 4544  ax-nul 4553  ax-pow 4600  ax-pr 4658  ax-un 6595  ax-cnex 9597  ax-resscn 9598  ax-1cn 9599  ax-icn 9600  ax-addcl 9601  ax-addrcl 9602  ax-mulcl 9603  ax-mulrcl 9604  ax-mulcom 9605  ax-addass 9606  ax-mulass 9607  ax-distr 9608  ax-i2m1 9609  ax-1ne0 9610  ax-1rid 9611  ax-rnegex 9612  ax-rrecex 9613  ax-cnre 9614  ax-pre-lttri 9615  ax-pre-lttrn 9616  ax-pre-ltadd 9617  ax-pre-mulgt0 9618
This theorem depends on definitions:  df-bi 189  df-or 372  df-an 373  df-3or 984  df-3an 985  df-tru 1441  df-ex 1661  df-nf 1665  df-sb 1788  df-eu 2270  df-mo 2271  df-clab 2409  df-cleq 2415  df-clel 2418  df-nfc 2573  df-ne 2621  df-nel 2622  df-ral 2781  df-rex 2782  df-reu 2783  df-rab 2785  df-v 3084  df-sbc 3301  df-csb 3397  df-dif 3440  df-un 3442  df-in 3444  df-ss 3451  df-pss 3453  df-nul 3763  df-if 3911  df-pw 3982  df-sn 3998  df-pr 4000  df-tp 4002  df-op 4004  df-uni 4218  df-iun 4299  df-br 4422  df-opab 4481  df-mpt 4482  df-tr 4517  df-eprel 4762  df-id 4766  df-po 4772  df-so 4773  df-fr 4810  df-we 4812  df-xp 4857  df-rel 4858  df-cnv 4859  df-co 4860  df-dm 4861  df-rn 4862  df-res 4863  df-ima 4864  df-pred 5397  df-ord 5443  df-on 5444  df-lim 5445  df-suc 5446  df-iota 5563  df-fun 5601  df-fn 5602  df-f 5603  df-f1 5604  df-fo 5605  df-f1o 5606  df-fv 5607  df-riota 6265  df-ov 6306  df-oprab 6307  df-mpt2 6308  df-om 6705  df-1st 6805  df-2nd 6806  df-wrecs 7034  df-recs 7096  df-rdg 7134  df-er 7369  df-pm 7481  df-en 7576  df-dom 7577  df-sdom 7578  df-pnf 9679  df-mnf 9680  df-xr 9681  df-ltxr 9682  df-le 9683  df-sub 9864  df-neg 9865  df-nn 10612  df-n0 10872  df-z 10940  df-uz 11162  df-fz 11787  df-umgra 25032  df-eupa 25683
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator