Metamath Proof Explorer


Theorem eupthp1

Description: Append one path segment to an Eulerian path <. F , P >. to become an Eulerian path <. H , Q >. of the supergraph S obtained by adding the new edge to the graph G . (Contributed by Mario Carneiro, 7-Apr-2015) (Revised by AV, 7-Mar-2021) (Proof shortened by AV, 30-Oct-2021) (Revised by AV, 8-Apr-2024)

Ref Expression
Hypotheses eupthp1.v ⊢ V = Vtx ⁡ G
eupthp1.i ⊢ I = iEdg ⁡ G
eupthp1.f ⊢ φ → Fun ⁡ I
eupthp1.a ⊢ φ → I ∈ Fin
eupthp1.b ⊢ φ → B ∈ W
eupthp1.c ⊢ φ → C ∈ V
eupthp1.d ⊢ φ → ¬ B ∈ dom ⁡ I
eupthp1.p ⊢ φ → F EulerPaths ⁡ G P
eupthp1.n ⊢ N = F
eupthp1.e ⊢ φ → E ∈ Edg ⁡ G
eupthp1.x ⊢ φ → P ⁡ N C ⊆ E
eupthp1.u ⊢ iEdg ⁡ S = I ∪ B E
eupthp1.h ⊢ H = F ∪ N B
eupthp1.q ⊢ Q = P ∪ N + 1 C
eupthp1.s ⊢ Vtx ⁡ S = V
eupthp1.l ⊢ φ ∧ C = P ⁡ N → E = C
Assertion eupthp1 ⊢ φ → H EulerPaths ⁡ S Q

Proof

Step Hyp Ref Expression
1 eupthp1.v ⊢ V = Vtx ⁡ G
2 eupthp1.i ⊢ I = iEdg ⁡ G
3 eupthp1.f ⊢ φ → Fun ⁡ I
4 eupthp1.a ⊢ φ → I ∈ Fin
5 eupthp1.b ⊢ φ → B ∈ W
6 eupthp1.c ⊢ φ → C ∈ V
7 eupthp1.d ⊢ φ → ¬ B ∈ dom ⁡ I
8 eupthp1.p ⊢ φ → F EulerPaths ⁡ G P
9 eupthp1.n ⊢ N = F
10 eupthp1.e ⊢ φ → E ∈ Edg ⁡ G
11 eupthp1.x ⊢ φ → P ⁡ N C ⊆ E
12 eupthp1.u ⊢ iEdg ⁡ S = I ∪ B E
13 eupthp1.h ⊢ H = F ∪ N B
14 eupthp1.q ⊢ Q = P ∪ N + 1 C
15 eupthp1.s ⊢ Vtx ⁡ S = V
16 eupthp1.l ⊢ φ ∧ C = P ⁡ N → E = C
17 eupthiswlk ⊢ F EulerPaths ⁡ G P → F Walks ⁡ G P
18 8 17 syl ⊢ φ → F Walks ⁡ G P
19 12 a1i ⊢ φ → iEdg ⁡ S = I ∪ B E
20 15 a1i ⊢ φ → Vtx ⁡ S = V
21 1 2 3 4 5 6 7 18 9 10 11 19 13 14 20 16 wlkp1 ⊢ φ → H Walks ⁡ S Q
22 2 eupthi ⊢ F EulerPaths ⁡ G P → F Walks ⁡ G P ∧ F : 0 ..^ F ⟶ 1-1 onto dom ⁡ I
23 9 eqcomi ⊢ F = N
24 23 oveq2i ⊢ 0 ..^ F = 0 ..^ N
25 f1oeq2 ⊢ 0 ..^ F = 0 ..^ N → F : 0 ..^ F ⟶ 1-1 onto dom ⁡ I ↔ F : 0 ..^ N ⟶ 1-1 onto dom ⁡ I
26 24 25 ax-mp ⊢ F : 0 ..^ F ⟶ 1-1 onto dom ⁡ I ↔ F : 0 ..^ N ⟶ 1-1 onto dom ⁡ I
27 26 bilani ⊢ F Walks ⁡ G P ∧ F : 0 ..^ F ⟶ 1-1 onto dom ⁡ I → F : 0 ..^ N ⟶ 1-1 onto dom ⁡ I
28 8 22 27 3syl ⊢ φ → F : 0 ..^ N ⟶ 1-1 onto dom ⁡ I
29 9 fvexi ⊢ N ∈ V
30 f1osng ⊢ N ∈ V ∧ B ∈ W → N B : N ⟶ 1-1 onto B
31 29 5 30 sylancr ⊢ φ → N B : N ⟶ 1-1 onto B
32 dmsnopg ⊢ E ∈ Edg ⁡ G → dom ⁡ B E = B
33 10 32 syl ⊢ φ → dom ⁡ B E = B
34 33 f1oeq3d ⊢ φ → N B : N ⟶ 1-1 onto dom ⁡ B E ↔ N B : N ⟶ 1-1 onto B
35 31 34 mpbird ⊢ φ → N B : N ⟶ 1-1 onto dom ⁡ B E
36 fzodisjsn ⊢ 0 ..^ N ∩ N = ∅
37 36 a1i ⊢ φ → 0 ..^ N ∩ N = ∅
38 33 ineq2d ⊢ φ → dom ⁡ I ∩ dom ⁡ B E = dom ⁡ I ∩ B
39 disjsn ⊢ dom ⁡ I ∩ B = ∅ ↔ ¬ B ∈ dom ⁡ I
40 7 39 sylibr ⊢ φ → dom ⁡ I ∩ B = ∅
41 38 40 eqtrd ⊢ φ → dom ⁡ I ∩ dom ⁡ B E = ∅
42 f1oun ⊢ F : 0 ..^ N ⟶ 1-1 onto dom ⁡ I ∧ N B : N ⟶ 1-1 onto dom ⁡ B E ∧ 0 ..^ N ∩ N = ∅ ∧ dom ⁡ I ∩ dom ⁡ B E = ∅ → F ∪ N B : 0 ..^ N ∪ N ⟶ 1-1 onto dom ⁡ I ∪ dom ⁡ B E
43 28 35 37 41 42 syl22anc ⊢ φ → F ∪ N B : 0 ..^ N ∪ N ⟶ 1-1 onto dom ⁡ I ∪ dom ⁡ B E
44 13 a1i ⊢ φ → H = F ∪ N B
45 1 2 3 4 5 6 7 18 9 10 11 19 13 wlkp1lem2 ⊢ φ → H = N + 1
46 45 oveq2d ⊢ φ → 0 ..^ H = 0 ..^ N + 1
47 wlkcl ⊢ F Walks ⁡ G P → F ∈ ℕ 0
48 9 eleq1i ⊢ N ∈ ℕ 0 ↔ F ∈ ℕ 0
49 elnn0uz ⊢ N ∈ ℕ 0 ↔ N ∈ ℤ ≥ 0
50 48 49 sylbb1 ⊢ F ∈ ℕ 0 → N ∈ ℤ ≥ 0
51 47 50 syl ⊢ F Walks ⁡ G P → N ∈ ℤ ≥ 0
52 8 17 51 3syl ⊢ φ → N ∈ ℤ ≥ 0
53 fzosplitsn ⊢ N ∈ ℤ ≥ 0 → 0 ..^ N + 1 = 0 ..^ N ∪ N
54 52 53 syl ⊢ φ → 0 ..^ N + 1 = 0 ..^ N ∪ N
55 46 54 eqtrd ⊢ φ → 0 ..^ H = 0 ..^ N ∪ N
56 dmun ⊢ dom ⁡ I ∪ B E = dom ⁡ I ∪ dom ⁡ B E
57 56 a1i ⊢ φ → dom ⁡ I ∪ B E = dom ⁡ I ∪ dom ⁡ B E
58 44 55 57 f1oeq123d ⊢ φ → H : 0 ..^ H ⟶ 1-1 onto dom ⁡ I ∪ B E ↔ F ∪ N B : 0 ..^ N ∪ N ⟶ 1-1 onto dom ⁡ I ∪ dom ⁡ B E
59 43 58 mpbird ⊢ φ → H : 0 ..^ H ⟶ 1-1 onto dom ⁡ I ∪ B E
60 12 eqcomi ⊢ I ∪ B E = iEdg ⁡ S
61 60 iseupthf1o ⊢ H EulerPaths ⁡ S Q ↔ H Walks ⁡ S Q ∧ H : 0 ..^ H ⟶ 1-1 onto dom ⁡ I ∪ B E
62 21 59 61 sylanbrc ⊢ φ → H EulerPaths ⁡ S Q