Metamath Proof Explorer


Theorem eulerpathpr

Description: A graph with an Eulerian path has either zero or two vertices of odd degree. (Contributed by Mario Carneiro, 7-Apr-2015) (Revised by AV, 26-Feb-2021)

Ref Expression
Hypothesis eulerpathpr.v V=VtxG
Assertion eulerpathpr GUPGraphFEulerPathsGPxV|¬2VtxDegGx02

Proof

Step Hyp Ref Expression
1 eulerpathpr.v V=VtxG
2 eqid iEdgG=iEdgG
3 simpl GUPGraphFEulerPathsGPGUPGraph
4 upgruhgr GUPGraphGUHGraph
5 2 uhgrfun GUHGraphFuniEdgG
6 4 5 syl GUPGraphFuniEdgG
7 6 adantr GUPGraphFEulerPathsGPFuniEdgG
8 simpr GUPGraphFEulerPathsGPFEulerPathsGP
9 1 2 3 7 8 eupth2 GUPGraphFEulerPathsGPxV|¬2VtxDegGx=ifP0=PFP0PF
10 9 fveq2d GUPGraphFEulerPathsGPxV|¬2VtxDegGx=ifP0=PFP0PF
11 fveq2 =ifP0=PFP0PF=ifP0=PFP0PF
12 11 eleq1d =ifP0=PFP0PF02ifP0=PFP0PF02
13 fveq2 P0PF=ifP0=PFP0PFP0PF=ifP0=PFP0PF
14 13 eleq1d P0PF=ifP0=PFP0PFP0PF02ifP0=PFP0PF02
15 hash0 =0
16 c0ex 0V
17 16 prid1 002
18 15 17 eqeltri 02
19 18 a1i GUPGraphFEulerPathsGPP0=PF02
20 simpr GUPGraphFEulerPathsGP¬P0=PF¬P0=PF
21 20 neqned GUPGraphFEulerPathsGP¬P0=PFP0PF
22 fvex P0V
23 fvex PFV
24 hashprg P0VPFVP0PFP0PF=2
25 22 23 24 mp2an P0PFP0PF=2
26 21 25 sylib GUPGraphFEulerPathsGP¬P0=PFP0PF=2
27 2ex 2V
28 27 prid2 202
29 26 28 eqeltrdi GUPGraphFEulerPathsGP¬P0=PFP0PF02
30 12 14 19 29 ifbothda GUPGraphFEulerPathsGPifP0=PFP0PF02
31 10 30 eqeltrd GUPGraphFEulerPathsGPxV|¬2VtxDegGx02