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

Theorem iseupth 16297
Description: The property "𝐹, 𝑃 is an Eulerian path on the graph 𝐺". An Eulerian path is defined as bijection 𝐹 from the edges to a set 0...(𝑁 − 1) and a function 𝑃:(0...𝑁)⟶𝑉 into the vertices such that for each 0 ≤ 𝑘 < 𝑁, 𝐹(𝑘) is an edge from 𝑃(𝑘) to 𝑃(𝑘 + 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 𝐼 = (iEdg‘𝐺)
Assertion
Ref Expression
iseupth (𝐹(EulerPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼))

Proof of Theorem iseupth
Dummy variables 𝑓 𝑝 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eupthv 16296 . 2 (𝐹(EulerPaths‘𝐺)𝑃 → (𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V))
2 trlsv 16234 . . 3 (𝐹(Trails‘𝐺)𝑃 → (𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V))
32adantr 276 . 2 ((𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼) → (𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V))
4 df-br 4089 . . . 4 (𝐹(EulerPaths‘𝐺)𝑃 ↔ ⟨𝐹, 𝑃⟩ ∈ (EulerPaths‘𝐺))
5 iseupth.i . . . . . . 7 𝐼 = (iEdg‘𝐺)
65eupthsg 16295 . . . . . 6 (𝐺 ∈ V → (EulerPaths‘𝐺) = {⟨𝑓, 𝑝⟩ ∣ (𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼)})
763ad2ant1 1044 . . . . 5 ((𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V) → (EulerPaths‘𝐺) = {⟨𝑓, 𝑝⟩ ∣ (𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼)})
87eleq2d 2301 . . . 4 ((𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V) → (⟨𝐹, 𝑃⟩ ∈ (EulerPaths‘𝐺) ↔ ⟨𝐹, 𝑃⟩ ∈ {⟨𝑓, 𝑝⟩ ∣ (𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼)}))
94, 8bitrid 192 . . 3 ((𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V) → (𝐹(EulerPaths‘𝐺)𝑃 ↔ ⟨𝐹, 𝑃⟩ ∈ {⟨𝑓, 𝑝⟩ ∣ (𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼)}))
10 breq1 4091 . . . . . 6 (𝑓 = 𝐹 → (𝑓(Trails‘𝐺)𝑝𝐹(Trails‘𝐺)𝑝))
11 id 19 . . . . . . 7 (𝑓 = 𝐹𝑓 = 𝐹)
12 fveq2 5639 . . . . . . . 8 (𝑓 = 𝐹 → (♯‘𝑓) = (♯‘𝐹))
1312oveq2d 6033 . . . . . . 7 (𝑓 = 𝐹 → (0..^(♯‘𝑓)) = (0..^(♯‘𝐹)))
14 eqidd 2232 . . . . . . 7 (𝑓 = 𝐹 → dom 𝐼 = dom 𝐼)
1511, 13, 14foeq123d 5576 . . . . . 6 (𝑓 = 𝐹 → (𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼))
1610, 15anbi12d 473 . . . . 5 (𝑓 = 𝐹 → ((𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼) ↔ (𝐹(Trails‘𝐺)𝑝𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼)))
17 breq2 4092 . . . . . 6 (𝑝 = 𝑃 → (𝐹(Trails‘𝐺)𝑝𝐹(Trails‘𝐺)𝑃))
1817anbi1d 465 . . . . 5 (𝑝 = 𝑃 → ((𝐹(Trails‘𝐺)𝑝𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼) ↔ (𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼)))
1916, 18opelopabg 4362 . . . 4 ((𝐹 ∈ V ∧ 𝑃 ∈ V) → (⟨𝐹, 𝑃⟩ ∈ {⟨𝑓, 𝑝⟩ ∣ (𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼)} ↔ (𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼)))
20193adant1 1041 . . 3 ((𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V) → (⟨𝐹, 𝑃⟩ ∈ {⟨𝑓, 𝑝⟩ ∣ (𝑓(Trails‘𝐺)𝑝𝑓:(0..^(♯‘𝑓))–onto→dom 𝐼)} ↔ (𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼)))
219, 20bitrd 188 . 2 ((𝐺 ∈ V ∧ 𝐹 ∈ V ∧ 𝑃 ∈ V) → (𝐹(EulerPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼)))
221, 3, 21pm5.21nii 711 1 (𝐹(EulerPaths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼))
Colors of variables: wff set class
Syntax hints:  wa 104  wb 105  w3a 1004   = wceq 1397  wcel 2202  Vcvv 2802  cop 3672   class class class wbr 4088  {copab 4149  dom cdm 4725  ontowfo 5324  cfv 5326  (class class class)co 6017  0cc0 8031  ..^cfzo 10376  chash 11036  iEdgciedg 15863  Trailsctrls 16230  EulerPathsceupth 16292
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2204  ax-14 2205  ax-ext 2213  ax-coll 4204  ax-sep 4207  ax-nul 4215  ax-pow 4264  ax-pr 4299  ax-un 4530  ax-setind 4635  ax-iinf 4686  ax-cnex 8122  ax-resscn 8123  ax-1cn 8124  ax-1re 8125  ax-icn 8126  ax-addcl 8127  ax-addrcl 8128  ax-mulcl 8129  ax-addcom 8131  ax-mulcom 8132  ax-addass 8133  ax-mulass 8134  ax-distr 8135  ax-i2m1 8136  ax-0lt1 8137  ax-1rid 8138  ax-0id 8139  ax-rnegex 8140  ax-cnre 8142  ax-pre-ltirr 8143  ax-pre-ltwlin 8144  ax-pre-lttrn 8145  ax-pre-apti 8146  ax-pre-ltadd 8147
This theorem depends on definitions:  df-bi 117  df-dc 842  df-ifp 986  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ne 2403  df-nel 2498  df-ral 2515  df-rex 2516  df-reu 2517  df-rab 2519  df-v 2804  df-sbc 3032  df-csb 3128  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-if 3606  df-pw 3654  df-sn 3675  df-pr 3676  df-op 3678  df-uni 3894  df-int 3929  df-iun 3972  df-br 4089  df-opab 4151  df-mpt 4152  df-tr 4188  df-id 4390  df-iord 4463  df-on 4465  df-ilim 4466  df-suc 4468  df-iom 4689  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-f1 5331  df-fo 5332  df-f1o 5333  df-fv 5334  df-riota 5970  df-ov 6020  df-oprab 6021  df-mpo 6022  df-1st 6302  df-2nd 6303  df-recs 6470  df-frec 6556  df-1o 6581  df-er 6701  df-map 6818  df-en 6909  df-dom 6910  df-fin 6911  df-pnf 8215  df-mnf 8216  df-xr 8217  df-ltxr 8218  df-le 8219  df-sub 8351  df-neg 8352  df-inn 9143  df-2 9201  df-3 9202  df-4 9203  df-5 9204  df-6 9205  df-7 9206  df-8 9207  df-9 9208  df-n0 9402  df-z 9479  df-dec 9611  df-uz 9755  df-fz 10243  df-fzo 10377  df-ihash 11037  df-word 11113  df-ndx 13084  df-slot 13085  df-base 13087  df-edgf 15855  df-vtx 15864  df-iedg 15865  df-wlks 16168  df-trls 16231  df-eupth 16293
This theorem is referenced by:  iseupthf1o  16298  eupthfi  16301  eupthistrl  16304
  Copyright terms: Public domain W3C validator