MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  eulerpath Structured version   Visualization version   GIF version

Theorem eulerpath 30283
Description: A pseudograph 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.)
Hypothesis
Ref Expression
eulerpathpr.v 𝑉 = (Vtx‘𝐺)
Assertion
Ref Expression
eulerpath ((𝐺 ∈ UPGraph ∧ (EulerPaths‘𝐺) ≠ ∅) → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2})
Distinct variable groups:   𝑥,𝐺   𝑥,𝑉

Proof of Theorem eulerpath
Dummy variables 𝑓 𝑝 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 releupth 30241 . . . . . 6 Rel (EulerPaths‘𝐺)
2 reldm0 5942 . . . . . 6 (Rel (EulerPaths‘𝐺) → ((EulerPaths‘𝐺) = ∅ ↔ dom (EulerPaths‘𝐺) = ∅))
31, 2ax-mp 5 . . . . 5 ((EulerPaths‘𝐺) = ∅ ↔ dom (EulerPaths‘𝐺) = ∅)
43necon3bii 2992 . . . 4 ((EulerPaths‘𝐺) ≠ ∅ ↔ dom (EulerPaths‘𝐺) ≠ ∅)
5 n0 4360 . . . 4 (dom (EulerPaths‘𝐺) ≠ ∅ ↔ ∃𝑓 𝑓 ∈ dom (EulerPaths‘𝐺))
64, 5bitri 275 . . 3 ((EulerPaths‘𝐺) ≠ ∅ ↔ ∃𝑓 𝑓 ∈ dom (EulerPaths‘𝐺))
7 vex 3483 . . . . . 6 𝑓 ∈ V
87eldm 5915 . . . . 5 (𝑓 ∈ dom (EulerPaths‘𝐺) ↔ ∃𝑝 𝑓(EulerPaths‘𝐺)𝑝)
9 eulerpathpr.v . . . . . . . 8 𝑉 = (Vtx‘𝐺)
109eulerpathpr 30282 . . . . . . 7 ((𝐺 ∈ UPGraph ∧ 𝑓(EulerPaths‘𝐺)𝑝) → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2})
1110expcom 413 . . . . . 6 (𝑓(EulerPaths‘𝐺)𝑝 → (𝐺 ∈ UPGraph → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2}))
1211exlimiv 1929 . . . . 5 (∃𝑝 𝑓(EulerPaths‘𝐺)𝑝 → (𝐺 ∈ UPGraph → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2}))
138, 12sylbi 217 . . . 4 (𝑓 ∈ dom (EulerPaths‘𝐺) → (𝐺 ∈ UPGraph → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2}))
1413exlimiv 1929 . . 3 (∃𝑓 𝑓 ∈ dom (EulerPaths‘𝐺) → (𝐺 ∈ UPGraph → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2}))
156, 14sylbi 217 . 2 ((EulerPaths‘𝐺) ≠ ∅ → (𝐺 ∈ UPGraph → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2}))
1615impcom 407 1 ((𝐺 ∈ UPGraph ∧ (EulerPaths‘𝐺) ≠ ∅) → (♯‘{𝑥𝑉 ∣ ¬ 2 ∥ ((VtxDeg‘𝐺)‘𝑥)}) ∈ {0, 2})
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395   = wceq 1538  wex 1777  wcel 2107  wne 2939  {crab 3434  c0 4340  {cpr 4634   class class class wbr 5149  dom cdm 5690  Rel wrel 5695  cfv 6566  0cc0 11159  2c2 12325  chash 14372  cdvds 16293  Vtxcvtx 29036  UPGraphcupgr 29120  VtxDegcvtxdg 29506  EulerPathsceupth 30239
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1966  ax-7 2006  ax-8 2109  ax-9 2117  ax-10 2140  ax-11 2156  ax-12 2176  ax-ext 2707  ax-rep 5286  ax-sep 5303  ax-nul 5313  ax-pow 5372  ax-pr 5439  ax-un 7758  ax-cnex 11215  ax-resscn 11216  ax-1cn 11217  ax-icn 11218  ax-addcl 11219  ax-addrcl 11220  ax-mulcl 11221  ax-mulrcl 11222  ax-mulcom 11223  ax-addass 11224  ax-mulass 11225  ax-distr 11226  ax-i2m1 11227  ax-1ne0 11228  ax-1rid 11229  ax-rnegex 11230  ax-rrecex 11231  ax-cnre 11232  ax-pre-lttri 11233  ax-pre-lttrn 11234  ax-pre-ltadd 11235  ax-pre-mulgt0 11236  ax-pre-sup 11237
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-ifp 1063  df-3or 1087  df-3an 1088  df-tru 1541  df-fal 1551  df-ex 1778  df-nf 1782  df-sb 2064  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2728  df-clel 2815  df-nfc 2891  df-ne 2940  df-nel 3046  df-ral 3061  df-rex 3070  df-rmo 3379  df-reu 3380  df-rab 3435  df-v 3481  df-sbc 3793  df-csb 3910  df-dif 3967  df-un 3969  df-in 3971  df-ss 3981  df-pss 3984  df-nul 4341  df-if 4533  df-pw 4608  df-sn 4633  df-pr 4635  df-op 4639  df-uni 4914  df-int 4953  df-iun 4999  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5584  df-eprel 5590  df-po 5598  df-so 5599  df-fr 5642  df-we 5644  df-xp 5696  df-rel 5697  df-cnv 5698  df-co 5699  df-dm 5700  df-rn 5701  df-res 5702  df-ima 5703  df-pred 6326  df-ord 6392  df-on 6393  df-lim 6394  df-suc 6395  df-iota 6519  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-riota 7392  df-ov 7438  df-oprab 7439  df-mpo 7440  df-om 7892  df-1st 8019  df-2nd 8020  df-frecs 8311  df-wrecs 8342  df-recs 8416  df-rdg 8455  df-1o 8511  df-2o 8512  df-oadd 8515  df-er 8750  df-map 8873  df-pm 8874  df-en 8991  df-dom 8992  df-sdom 8993  df-fin 8994  df-sup 9486  df-inf 9487  df-dju 9945  df-card 9983  df-pnf 11301  df-mnf 11302  df-xr 11303  df-ltxr 11304  df-le 11305  df-sub 11498  df-neg 11499  df-div 11925  df-nn 12271  df-2 12333  df-3 12334  df-n0 12531  df-xnn0 12604  df-z 12618  df-uz 12883  df-rp 13039  df-xadd 13159  df-fz 13551  df-fzo 13698  df-seq 14046  df-exp 14106  df-hash 14373  df-word 14556  df-cj 15141  df-re 15142  df-im 15143  df-sqrt 15277  df-abs 15278  df-dvds 16294  df-vtx 29038  df-iedg 29039  df-edg 29088  df-uhgr 29098  df-ushgr 29099  df-upgr 29122  df-uspgr 29190  df-vtxdg 29507  df-wlks 29640  df-trls 29733  df-eupth 30240
This theorem is referenced by:  konigsberg  30299
  Copyright terms: Public domain W3C validator