ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  iseupth Unicode version

Theorem iseupth 16893
Description: The property " <. F ,  P >. is an Eulerian path on the graph  G". An Eulerian path is defined as bijection  F from the edges to a set  0 ... ( N  -  1 ) and a function  P : ( 0 ... N ) --> V into the vertices such that for each  0  <_  k  <  N,  F ( k ) is an edge from  P ( k ) to  P ( k  +  1 ). (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.) (Revised by AV, 18-Feb-2021.) (Revised by AV, 30-Oct-2021.)
Hypothesis
Ref Expression
iseupth.i  |-  I  =  (iEdg `  G )
Assertion
Ref Expression
iseupth  |-  ( F (EulerPaths `  G ) P  <-> 
( F (Trails `  G ) P  /\  F : ( 0..^ (♯ `  F ) ) -onto-> dom  I ) )

Proof of Theorem iseupth
Dummy variables  f  p are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eupthv 16892 . 2  |-  ( F (EulerPaths `  G ) P  ->  ( G  e. 
_V  /\  F  e.  _V  /\  P  e.  _V ) )
2 trlsv 16830 . . 3  |-  ( F (Trails `  G ) P  ->  ( G  e. 
_V  /\  F  e.  _V  /\  P  e.  _V ) )
32adantr 276 . 2  |-  ( ( F (Trails `  G
) P  /\  F : ( 0..^ (♯ `  F ) ) -onto-> dom  I )  ->  ( G  e.  _V  /\  F  e.  _V  /\  P  e. 
_V ) )
4 df-br 4132 . . . 4  |-  ( F (EulerPaths `  G ) P  <->  <. F ,  P >.  e.  (EulerPaths `  G ) )
5 iseupth.i . . . . . . 7  |-  I  =  (iEdg `  G )
65eupthsg 16891 . . . . . 6  |-  ( G  e.  _V  ->  (EulerPaths `  G )  =  { <. f ,  p >.  |  ( f (Trails `  G ) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I ) } )
763ad2ant1 1049 . . . . 5  |-  ( ( G  e.  _V  /\  F  e.  _V  /\  P  e.  _V )  ->  (EulerPaths `  G )  =  { <. f ,  p >.  |  ( f (Trails `  G ) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I ) } )
87eleq2d 2308 . . . 4  |-  ( ( G  e.  _V  /\  F  e.  _V  /\  P  e.  _V )  ->  ( <. F ,  P >.  e.  (EulerPaths `  G )  <->  <. F ,  P >.  e.  { <. f ,  p >.  |  ( f (Trails `  G
) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I ) } ) )
94, 8bitrid 192 . . 3  |-  ( ( G  e.  _V  /\  F  e.  _V  /\  P  e.  _V )  ->  ( F (EulerPaths `  G ) P  <->  <. F ,  P >.  e. 
{ <. f ,  p >.  |  ( f (Trails `  G ) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I ) } ) )
10 breq1 4134 . . . . . 6  |-  ( f  =  F  ->  (
f (Trails `  G
) p  <->  F (Trails `  G ) p ) )
11 id 19 . . . . . . 7  |-  ( f  =  F  ->  f  =  F )
12 fveq2 5698 . . . . . . . 8  |-  ( f  =  F  ->  (♯ `  f )  =  (♯ `  F ) )
1312oveq2d 6104 . . . . . . 7  |-  ( f  =  F  ->  (
0..^ (♯ `  f )
)  =  ( 0..^ (♯ `  F )
) )
14 eqidd 2239 . . . . . . 7  |-  ( f  =  F  ->  dom  I  =  dom  I )
1511, 13, 14foeq123d 5635 . . . . . 6  |-  ( f  =  F  ->  (
f : ( 0..^ (♯ `  f )
) -onto-> dom  I  <->  F :
( 0..^ (♯ `  F
) ) -onto-> dom  I
) )
1610, 15anbi12d 477 . . . . 5  |-  ( f  =  F  ->  (
( f (Trails `  G ) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I )  <->  ( F
(Trails `  G )
p  /\  F :
( 0..^ (♯ `  F
) ) -onto-> dom  I
) ) )
17 breq2 4135 . . . . . 6  |-  ( p  =  P  ->  ( F (Trails `  G )
p  <->  F (Trails `  G
) P ) )
1817anbi1d 469 . . . . 5  |-  ( p  =  P  ->  (
( F (Trails `  G ) p  /\  F : ( 0..^ (♯ `  F ) ) -onto-> dom  I )  <->  ( F
(Trails `  G ) P  /\  F : ( 0..^ (♯ `  F
) ) -onto-> dom  I
) ) )
1916, 18opelopabg 4412 . . . 4  |-  ( ( F  e.  _V  /\  P  e.  _V )  ->  ( <. F ,  P >.  e.  { <. f ,  p >.  |  (
f (Trails `  G
) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I ) }  <->  ( F
(Trails `  G ) P  /\  F : ( 0..^ (♯ `  F
) ) -onto-> dom  I
) ) )
20193adant1 1046 . . 3  |-  ( ( G  e.  _V  /\  F  e.  _V  /\  P  e.  _V )  ->  ( <. F ,  P >.  e. 
{ <. f ,  p >.  |  ( f (Trails `  G ) p  /\  f : ( 0..^ (♯ `  f ) ) -onto-> dom  I ) }  <->  ( F
(Trails `  G ) P  /\  F : ( 0..^ (♯ `  F
) ) -onto-> dom  I
) ) )
219, 20bitrd 188 . 2  |-  ( ( G  e.  _V  /\  F  e.  _V  /\  P  e.  _V )  ->  ( F (EulerPaths `  G ) P  <-> 
( F (Trails `  G ) P  /\  F : ( 0..^ (♯ `  F ) ) -onto-> dom  I ) ) )
221, 3, 21pm5.21nii 716 1  |-  ( F (EulerPaths `  G ) P  <-> 
( F (Trails `  G ) P  /\  F : ( 0..^ (♯ `  F ) ) -onto-> dom  I ) )
Colors of variables:    wff set class
This proof depends on syntax axioms:    /\ wa 104    <-> wb 105    /\ w3a 1009    = wceq 1402    e. wcel 2209   _Vcvv 2821   <.cop 3712   class class class wbr 4131   {copab 4192   dom cdm 4776   -onto->wfo 5378   ` cfv 5380  (class class class)co 6088   0cc0 8185  ..^cfzo 10566  ♯chash 11236  iEdgciedg 16459  Trailsctrls 16826  EulerPathsceupth 16888
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4248  ax-sep 4251  ax-nul 4261  ax-pow 4313  ax-pr 4348  ax-un 4580  ax-setind 4686  ax-iinf 4737  ax-cnex 8276  ax-resscn 8277  ax-1cn 8278  ax-1re 8279  ax-icn 8280  ax-addcl 8281  ax-addrcl 8282  ax-mulcl 8283  ax-addcom 8285  ax-mulcom 8286  ax-addass 8287  ax-mulass 8288  ax-distr 8289  ax-i2m1 8290  ax-0lt1 8291  ax-1rid 8292  ax-0id 8293  ax-rnegex 8294  ax-cnre 8296  ax-pre-ltirr 8297  ax-pre-ltwlin 8298  ax-pre-lttrn 8299  ax-pre-apti 8300  ax-pre-ltadd 8301
This proof depends on definitions:  df-bi 117  df-dc 847  df-ifp 991  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4132  df-opab 4194  df-mpt 4195  df-tr 4232  df-id 4440  df-iord 4513  df-on 4515  df-ilim 4516  df-suc 4518  df-iom 4740  df-xp 4782  df-rel 4783  df-cnv 4784  df-co 4785  df-dm 4786  df-rn 4787  df-res 4788  df-ima 4789  df-iota 5340  df-fun 5382  df-fn 5383  df-f 5384  df-f1 5385  df-fo 5386  df-f1o 5387  df-fv 5388  df-riota 6041  df-ov 6091  df-oprab 6092  df-mpo 6093  df-1st 6378  df-2nd 6379  df-recs 6580  df-frec 6666  df-1o 6691  df-er 6811  df-map 6928  df-en 7027  df-dom 7028  df-fin 7029  df-pnf 8368  df-mnf 8369  df-xr 8370  df-ltxr 8371  df-le 8372  df-sub 8506  df-neg 8507  df-inn 9314  df-2 9372  df-3 9373  df-4 9374  df-5 9375  df-6 9376  df-7 9377  df-8 9378  df-9 9379  df-n0 9575  df-z 9656  df-dec 9789  df-uz 9938  df-fz 10429  df-fzo 10567  df-ihash 11237  df-word 11327  df-ndx 13413  df-slot 13414  df-base 13416  df-edgf 16451  df-vtx 16460  df-iedg 16461  df-wlks 16764  df-trls 16827  df-eupth 16889
This theorem is used by:  iseupthf1o  16894  eupthfi  16897  eupthistrl  16900
  Copyright terms: Public domain W3C validator