Metamath Proof Explorer


Theorem cyclnumvtx

Description: The number of vertices of a (non-trivial) cycle is the number of edges in the cycle. (Contributed by AV, 5-Oct-2025)

Ref Expression
Assertion cyclnumvtx ⊢ 1 ≤ F ∧ F Cycles ⁡ G P → ran ⁡ P = F

Proof

Step Hyp Ref Expression
1 iscycl ⊢ F Cycles ⁡ G P ↔ F Paths ⁡ G P ∧ P ⁡ 0 = P ⁡ F
2 pthiswlk ⊢ F Paths ⁡ G P → F Walks ⁡ G P
3 eqid ⊢ Vtx ⁡ G = Vtx ⁡ G
4 3 wlkp ⊢ F Walks ⁡ G P → P : 0 … F ⟶ Vtx ⁡ G
5 wlkcl ⊢ F Walks ⁡ G P → F ∈ ℕ 0
6 elnnnn0c ⊢ F ∈ ℕ ↔ F ∈ ℕ 0 ∧ 1 ≤ F
7 fdm ⊢ P : 0 … F ⟶ Vtx ⁡ G → dom ⁡ P = 0 … F
8 7 3ad2ant1 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → dom ⁡ P = 0 … F
9 8 difeq1d ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → dom ⁡ P ∖ 1 … F = 0 … F ∖ 1 … F
10 nnnn0 ⊢ F ∈ ℕ → F ∈ ℕ 0
11 fz0sn0fz1 ⊢ F ∈ ℕ 0 → 0 … F = 0 ∪ 1 … F
12 10 11 syl ⊢ F ∈ ℕ → 0 … F = 0 ∪ 1 … F
13 12 difeq1d ⊢ F ∈ ℕ → 0 … F ∖ 1 … F = 0 ∪ 1 … F ∖ 1 … F
14 1e0p1 ⊢ 1 = 0 + 1
15 14 oveq1i ⊢ 1 … F = 0 + 1 … F
16 15 ineq2i ⊢ 0 ∩ 1 … F = 0 ∩ 0 + 1 … F
17 elnn0uz ⊢ F ∈ ℕ 0 ↔ F ∈ ℤ ≥ 0
18 10 17 sylib ⊢ F ∈ ℕ → F ∈ ℤ ≥ 0
19 fzpreddisj ⊢ F ∈ ℤ ≥ 0 → 0 ∩ 0 + 1 … F = ∅
20 18 19 syl ⊢ F ∈ ℕ → 0 ∩ 0 + 1 … F = ∅
21 16 20 eqtrid ⊢ F ∈ ℕ → 0 ∩ 1 … F = ∅
22 undif5 ⊢ 0 ∩ 1 … F = ∅ → 0 ∪ 1 … F ∖ 1 … F = 0
23 21 22 syl ⊢ F ∈ ℕ → 0 ∪ 1 … F ∖ 1 … F = 0
24 13 23 eqtrd ⊢ F ∈ ℕ → 0 … F ∖ 1 … F = 0
25 24 3ad2ant2 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → 0 … F ∖ 1 … F = 0
26 9 25 eqtrd ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → dom ⁡ P ∖ 1 … F = 0
27 26 imaeq2d ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P dom ⁡ P ∖ 1 … F = P 0
28 ffn ⊢ P : 0 … F ⟶ Vtx ⁡ G → P Fn 0 … F
29 0elfz ⊢ F ∈ ℕ 0 → 0 ∈ 0 … F
30 10 29 syl ⊢ F ∈ ℕ → 0 ∈ 0 … F
31 28 30 anim12i ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ → P Fn 0 … F ∧ 0 ∈ 0 … F
32 31 3adant3 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P Fn 0 … F ∧ 0 ∈ 0 … F
33 fnsnfv ⊢ P Fn 0 … F ∧ 0 ∈ 0 … F → P ⁡ 0 = P 0
34 32 33 syl ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ⁡ 0 = P 0
35 27 34 eqtr4d ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P dom ⁡ P ∖ 1 … F = P ⁡ 0
36 elfz1end ⊢ F ∈ ℕ ↔ F ∈ 1 … F
37 36 biimpi ⊢ F ∈ ℕ → F ∈ 1 … F
38 37 3ad2ant2 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → F ∈ 1 … F
39 38 fvresd ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ↾ 1 … F ⁡ F = P ⁡ F
40 ffun ⊢ P : 0 … F ⟶ Vtx ⁡ G → Fun ⁡ P
41 40 funresd ⊢ P : 0 … F ⟶ Vtx ⁡ G → Fun ⁡ P ↾ 1 … F
42 41 3ad2ant1 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → Fun ⁡ P ↾ 1 … F
43 fz1ssfz0 ⊢ 1 … F ⊆ 0 … F
44 43 7 sseqtrrid ⊢ P : 0 … F ⟶ Vtx ⁡ G → 1 … F ⊆ dom ⁡ P
45 44 3ad2ant1 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → 1 … F ⊆ dom ⁡ P
46 ssdmres ⊢ 1 … F ⊆ dom ⁡ P ↔ dom ⁡ P ↾ 1 … F = 1 … F
47 45 46 sylib ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → dom ⁡ P ↾ 1 … F = 1 … F
48 38 47 eleqtrrd ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → F ∈ dom ⁡ P ↾ 1 … F
49 fvelrn ⊢ Fun ⁡ P ↾ 1 … F ∧ F ∈ dom ⁡ P ↾ 1 … F → P ↾ 1 … F ⁡ F ∈ ran ⁡ P ↾ 1 … F
50 42 48 49 syl2anc ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ↾ 1 … F ⁡ F ∈ ran ⁡ P ↾ 1 … F
51 39 50 eqeltrrd ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ⁡ F ∈ ran ⁡ P ↾ 1 … F
52 eleq1 ⊢ P ⁡ 0 = P ⁡ F → P ⁡ 0 ∈ ran ⁡ P ↾ 1 … F ↔ P ⁡ F ∈ ran ⁡ P ↾ 1 … F
53 52 3ad2ant3 ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ⁡ 0 ∈ ran ⁡ P ↾ 1 … F ↔ P ⁡ F ∈ ran ⁡ P ↾ 1 … F
54 51 53 mpbird ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ⁡ 0 ∈ ran ⁡ P ↾ 1 … F
55 54 snssd ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P ⁡ 0 ⊆ ran ⁡ P ↾ 1 … F
56 35 55 eqsstrd ⊢ P : 0 … F ⟶ Vtx ⁡ G ∧ F ∈ ℕ ∧ P ⁡ 0 = P ⁡ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
57 56 3exp ⊢ P : 0 … F ⟶ Vtx ⁡ G → F ∈ ℕ → P ⁡ 0 = P ⁡ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
58 57 com3l ⊢ F ∈ ℕ → P ⁡ 0 = P ⁡ F → P : 0 … F ⟶ Vtx ⁡ G → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
59 6 58 sylbir ⊢ F ∈ ℕ 0 ∧ 1 ≤ F → P ⁡ 0 = P ⁡ F → P : 0 … F ⟶ Vtx ⁡ G → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
60 59 expcom ⊢ 1 ≤ F → F ∈ ℕ 0 → P ⁡ 0 = P ⁡ F → P : 0 … F ⟶ Vtx ⁡ G → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
61 60 com14 ⊢ P : 0 … F ⟶ Vtx ⁡ G → F ∈ ℕ 0 → P ⁡ 0 = P ⁡ F → 1 ≤ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
62 4 5 61 sylc ⊢ F Walks ⁡ G P → P ⁡ 0 = P ⁡ F → 1 ≤ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
63 2 62 syl ⊢ F Paths ⁡ G P → P ⁡ 0 = P ⁡ F → 1 ≤ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
64 63 imp ⊢ F Paths ⁡ G P ∧ P ⁡ 0 = P ⁡ F → 1 ≤ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
65 1 64 sylbi ⊢ F Cycles ⁡ G P → 1 ≤ F → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
66 65 impcom ⊢ 1 ≤ F ∧ F Cycles ⁡ G P → P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F
67 imadifssran ⊢ P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F → ran ⁡ P = ran ⁡ P ↾ 1 … F
68 67 fveq2d ⊢ P dom ⁡ P ∖ 1 … F ⊆ ran ⁡ P ↾ 1 … F → ran ⁡ P = ran ⁡ P ↾ 1 … F
69 66 68 syl ⊢ 1 ≤ F ∧ F Cycles ⁡ G P → ran ⁡ P = ran ⁡ P ↾ 1 … F
70 cyclispth ⊢ F Cycles ⁡ G P → F Paths ⁡ G P
71 pthdifv ⊢ F Paths ⁡ G P → P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G
72 40 adantl ⊢ F ∈ ℕ 0 ∧ P : 0 … F ⟶ Vtx ⁡ G → Fun ⁡ P
73 fzfid ⊢ F ∈ ℕ 0 → 0 … F ∈ Fin
74 fnfi ⊢ P Fn 0 … F ∧ 0 … F ∈ Fin → P ∈ Fin
75 28 73 74 syl2anr ⊢ F ∈ ℕ 0 ∧ P : 0 … F ⟶ Vtx ⁡ G → P ∈ Fin
76 1eluzge0 ⊢ 1 ∈ ℤ ≥ 0
77 fzss1 ⊢ 1 ∈ ℤ ≥ 0 → 1 … F ⊆ 0 … F
78 76 77 mp1i ⊢ F ∈ ℕ 0 ∧ P : 0 … F ⟶ Vtx ⁡ G → 1 … F ⊆ 0 … F
79 7 adantl ⊢ F ∈ ℕ 0 ∧ P : 0 … F ⟶ Vtx ⁡ G → dom ⁡ P = 0 … F
80 78 79 sseqtrrd ⊢ F ∈ ℕ 0 ∧ P : 0 … F ⟶ Vtx ⁡ G → 1 … F ⊆ dom ⁡ P
81 72 75 80 3jca ⊢ F ∈ ℕ 0 ∧ P : 0 … F ⟶ Vtx ⁡ G → Fun ⁡ P ∧ P ∈ Fin ∧ 1 … F ⊆ dom ⁡ P
82 5 4 81 syl2anc ⊢ F Walks ⁡ G P → Fun ⁡ P ∧ P ∈ Fin ∧ 1 … F ⊆ dom ⁡ P
83 2 82 syl ⊢ F Paths ⁡ G P → Fun ⁡ P ∧ P ∈ Fin ∧ 1 … F ⊆ dom ⁡ P
84 83 adantr ⊢ F Paths ⁡ G P ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → Fun ⁡ P ∧ P ∈ Fin ∧ 1 … F ⊆ dom ⁡ P
85 hashres ⊢ Fun ⁡ P ∧ P ∈ Fin ∧ 1 … F ⊆ dom ⁡ P → P ↾ 1 … F = 1 … F
86 84 85 syl ⊢ F Paths ⁡ G P ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → P ↾ 1 … F = 1 … F
87 ovexd ⊢ F Paths ⁡ G P ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → 1 … F ∈ V
88 hashf1rn ⊢ 1 … F ∈ V ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → P ↾ 1 … F = ran ⁡ P ↾ 1 … F
89 87 88 sylancom ⊢ F Paths ⁡ G P ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → P ↾ 1 … F = ran ⁡ P ↾ 1 … F
90 2 5 syl ⊢ F Paths ⁡ G P → F ∈ ℕ 0
91 hashfz1 ⊢ F ∈ ℕ 0 → 1 … F = F
92 90 91 syl ⊢ F Paths ⁡ G P → 1 … F = F
93 92 adantr ⊢ F Paths ⁡ G P ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → 1 … F = F
94 86 89 93 3eqtr3d ⊢ F Paths ⁡ G P ∧ P ↾ 1 … F : 1 … F ⟶ 1-1 Vtx ⁡ G → ran ⁡ P ↾ 1 … F = F
95 70 71 94 syl2anc2 ⊢ F Cycles ⁡ G P → ran ⁡ P ↾ 1 … F = F
96 95 adantl ⊢ 1 ≤ F ∧ F Cycles ⁡ G P → ran ⁡ P ↾ 1 … F = F
97 69 96 eqtrd ⊢ 1 ≤ F ∧ F Cycles ⁡ G P → ran ⁡ P = F