Metamath Proof Explorer


Theorem eupth2lem3

Description: Lemma for eupth2 . (Contributed by Mario Carneiro, 8-Apr-2015) (Revised by AV, 26-Feb-2021)

Ref Expression
Hypotheses eupth2.v ⊢ V = Vtx ⁡ G
eupth2.i ⊢ I = iEdg ⁡ G
eupth2.g ⊢ φ → G ∈ UPGraph
eupth2.f ⊢ φ → Fun ⁡ I
eupth2.p ⊢ φ → F EulerPaths ⁡ G P
eupth2.h ⊢ H = V I ↾ F 0 ..^ N
eupth2.x ⊢ X = V I ↾ F 0 ..^ N + 1
eupth2.n ⊢ φ → N ∈ ℕ 0
eupth2.l ⊢ φ → N + 1 ≤ F
eupth2.u ⊢ φ → U ∈ V
eupth2.o ⊢ φ → x ∈ V | ¬ 2 ∥ VtxDeg ⁡ H ⁡ x = if P ⁡ 0 = P ⁡ N ∅ P ⁡ 0 P ⁡ N
Assertion eupth2lem3 ⊢ φ → ¬ 2 ∥ VtxDeg ⁡ X ⁡ U ↔ U ∈ if P ⁡ 0 = P ⁡ N + 1 ∅ P ⁡ 0 P ⁡ N + 1

Proof

Step Hyp Ref Expression
1 eupth2.v ⊢ V = Vtx ⁡ G
2 eupth2.i ⊢ I = iEdg ⁡ G
3 eupth2.g ⊢ φ → G ∈ UPGraph
4 eupth2.f ⊢ φ → Fun ⁡ I
5 eupth2.p ⊢ φ → F EulerPaths ⁡ G P
6 eupth2.h ⊢ H = V I ↾ F 0 ..^ N
7 eupth2.x ⊢ X = V I ↾ F 0 ..^ N + 1
8 eupth2.n ⊢ φ → N ∈ ℕ 0
9 eupth2.l ⊢ φ → N + 1 ≤ F
10 eupth2.u ⊢ φ → U ∈ V
11 eupth2.o ⊢ φ → x ∈ V | ¬ 2 ∥ VtxDeg ⁡ H ⁡ x = if P ⁡ 0 = P ⁡ N ∅ P ⁡ 0 P ⁡ N
12 eupthiswlk ⊢ F EulerPaths ⁡ G P → F Walks ⁡ G P
13 wlkcl ⊢ F Walks ⁡ G P → F ∈ ℕ 0
14 5 12 13 3syl ⊢ φ → F ∈ ℕ 0
15 nn0p1elfzo ⊢ N ∈ ℕ 0 ∧ F ∈ ℕ 0 ∧ N + 1 ≤ F → N ∈ 0 ..^ F
16 8 14 9 15 syl3anc ⊢ φ → N ∈ 0 ..^ F
17 eupthistrl ⊢ F EulerPaths ⁡ G P → F Trails ⁡ G P
18 5 17 syl ⊢ φ → F Trails ⁡ G P
19 6 fveq2i ⊢ Vtx ⁡ H = Vtx ⁡ V I ↾ F 0 ..^ N
20 1 fvexi ⊢ V ∈ V
21 2 fvexi ⊢ I ∈ V
22 21 resex ⊢ I ↾ F 0 ..^ N ∈ V
23 20 22 opvtxfvi ⊢ Vtx ⁡ V I ↾ F 0 ..^ N = V
24 19 23 eqtri ⊢ Vtx ⁡ H = V
25 24 a1i ⊢ φ → Vtx ⁡ H = V
26 snex ⊢ F ⁡ N I ⁡ F ⁡ N ∈ V
27 20 26 opvtxfvi ⊢ Vtx ⁡ V F ⁡ N I ⁡ F ⁡ N = V
28 27 a1i ⊢ φ → Vtx ⁡ V F ⁡ N I ⁡ F ⁡ N = V
29 7 fveq2i ⊢ Vtx ⁡ X = Vtx ⁡ V I ↾ F 0 ..^ N + 1
30 21 resex ⊢ I ↾ F 0 ..^ N + 1 ∈ V
31 20 30 opvtxfvi ⊢ Vtx ⁡ V I ↾ F 0 ..^ N + 1 = V
32 29 31 eqtri ⊢ Vtx ⁡ X = V
33 32 a1i ⊢ φ → Vtx ⁡ X = V
34 6 fveq2i ⊢ iEdg ⁡ H = iEdg ⁡ V I ↾ F 0 ..^ N
35 20 22 opiedgfvi ⊢ iEdg ⁡ V I ↾ F 0 ..^ N = I ↾ F 0 ..^ N
36 34 35 eqtri ⊢ iEdg ⁡ H = I ↾ F 0 ..^ N
37 36 a1i ⊢ φ → iEdg ⁡ H = I ↾ F 0 ..^ N
38 20 26 opiedgfvi ⊢ iEdg ⁡ V F ⁡ N I ⁡ F ⁡ N = F ⁡ N I ⁡ F ⁡ N
39 38 a1i ⊢ φ → iEdg ⁡ V F ⁡ N I ⁡ F ⁡ N = F ⁡ N I ⁡ F ⁡ N
40 7 fveq2i ⊢ iEdg ⁡ X = iEdg ⁡ V I ↾ F 0 ..^ N + 1
41 20 30 opiedgfvi ⊢ iEdg ⁡ V I ↾ F 0 ..^ N + 1 = I ↾ F 0 ..^ N + 1
42 40 41 eqtri ⊢ iEdg ⁡ X = I ↾ F 0 ..^ N + 1
43 8 nn0zd ⊢ φ → N ∈ ℤ
44 fzval3 ⊢ N ∈ ℤ → 0 … N = 0 ..^ N + 1
45 44 eqcomd ⊢ N ∈ ℤ → 0 ..^ N + 1 = 0 … N
46 43 45 syl ⊢ φ → 0 ..^ N + 1 = 0 … N
47 46 imaeq2d ⊢ φ → F 0 ..^ N + 1 = F 0 … N
48 47 reseq2d ⊢ φ → I ↾ F 0 ..^ N + 1 = I ↾ F 0 … N
49 42 48 eqtrid ⊢ φ → iEdg ⁡ X = I ↾ F 0 … N
50 2fveq3 ⊢ k = N → I ⁡ F ⁡ k = I ⁡ F ⁡ N
51 fveq2 ⊢ k = N → P ⁡ k = P ⁡ N
52 fvoveq1 ⊢ k = N → P ⁡ k + 1 = P ⁡ N + 1
53 51 52 preq12d ⊢ k = N → P ⁡ k P ⁡ k + 1 = P ⁡ N P ⁡ N + 1
54 50 53 eqeq12d ⊢ k = N → I ⁡ F ⁡ k = P ⁡ k P ⁡ k + 1 ↔ I ⁡ F ⁡ N = P ⁡ N P ⁡ N + 1
55 5 12 syl ⊢ φ → F Walks ⁡ G P
56 2 upgrwlkedg ⊢ G ∈ UPGraph ∧ F Walks ⁡ G P → ∀ k ∈ 0 ..^ F I ⁡ F ⁡ k = P ⁡ k P ⁡ k + 1
57 3 55 56 syl2anc ⊢ φ → ∀ k ∈ 0 ..^ F I ⁡ F ⁡ k = P ⁡ k P ⁡ k + 1
58 54 57 16 rspcdva ⊢ φ → I ⁡ F ⁡ N = P ⁡ N P ⁡ N + 1
59 1 2 4 16 10 18 25 28 33 37 39 49 11 58 eupth2lem3lem7 ⊢ φ → ¬ 2 ∥ VtxDeg ⁡ X ⁡ U ↔ U ∈ if P ⁡ 0 = P ⁡ N + 1 ∅ P ⁡ 0 P ⁡ N + 1