Vertex cover #
A vertex cover of a simple graph is a set of vertices such that every edge is incident to at least one of the vertices in the set.
Main definitions #
SimpleGraph.IsVertexCover G c: Predicate thatcis a vertex cover ofG.SimpleGraph.vertexCoverNum G: The vertex cover number, e.g. the size of a minimal vertex cover.
c is a vertex cover of G if every edge in G is incident to at least one vertex in c.
Instances For
@[simp]
@[simp]
theorem
SimpleGraph.IsVertexCover.subset
{V : Type u_1}
{G : SimpleGraph V}
{c d : Set V}
(hcd : c ⊆ d)
(hc : G.IsVertexCover c)
:
G.IsVertexCover d
theorem
SimpleGraph.IsVertexCover.mono
{V : Type u_1}
{G G' : SimpleGraph V}
{c : Set V}
(hG : G ≤ G')
(hc : G'.IsVertexCover c)
:
G.IsVertexCover c
@[simp]
theorem
SimpleGraph.isIndepSet_compl_iff_isVertexCover
{V : Type u_1}
{G : SimpleGraph V}
{c : Set V}
:
A set c is a vertex cover iff the complement of c is an independent set.
@[simp]
theorem
SimpleGraph.IsVertexCover.preimage
{V : Type u_1}
{W : Type u_2}
{G : SimpleGraph V}
{H : SimpleGraph W}
{F : Type u_3}
[FunLike F V W]
[HomClass F G H]
(f : F)
{c : Set W}
(hc : H.IsVertexCover c)
:
G.IsVertexCover (⇑f ⁻¹' c)
@[simp]
theorem
SimpleGraph.isVertexCover_preimage_iso
{V : Type u_1}
{W : Type u_2}
{G : SimpleGraph V}
{H : SimpleGraph W}
(f : G ≃g H)
{c : Set W}
:
@[simp]
theorem
SimpleGraph.isVertexCover_image_iso
{V : Type u_1}
{W : Type u_2}
{G : SimpleGraph V}
{H : SimpleGraph W}
(f : G ≃g H)
{c : Set V}
:
The vertex cover number of G is the minimal number of vertices in a vertex cover of G.
Equations
- G.vertexCoverNum = ⨅ (s : Set V), ⨅ (_ : G.IsVertexCover s), s.encard
Instances For
theorem
SimpleGraph.IsVertexCover.vertexCoverNum_le
{V : Type u_1}
{G : SimpleGraph V}
{c : Set V}
(hc : G.IsVertexCover c)
:
theorem
SimpleGraph.vertexCoverNum_exists
{V : Type u_1}
(G : SimpleGraph V)
:
∃ (s : Set V), s.encard = G.vertexCoverNum ∧ G.IsVertexCover s
theorem
SimpleGraph.exists_of_le_vertexCoverNum
{V : Type u_1}
{G : SimpleGraph V}
(n : ℕ)
(h₁ : G.vertexCoverNum ≤ ↑n)
(h₂ : ↑n ≤ ENat.card V)
:
∃ (s : Set V), s.encard = ↑n ∧ G.IsVertexCover s
@[simp]
@[simp]
theorem
SimpleGraph.vertexCoverNum_of_subsingleton
{V : Type u_1}
{G : SimpleGraph V}
[Subsingleton V]
:
@[simp]
@[simp]
theorem
SimpleGraph.vertexCoverNum_lt_card
{V : Type u_1}
{G : SimpleGraph V}
[Nonempty V]
[Finite V]
:
@[simp]
theorem
SimpleGraph.vertexCoverNum_ne_top_of_finite_edgeSet
{V : Type u_1}
{G : SimpleGraph V}
(h : G.edgeSet.Finite)
:
@[simp]
theorem
SimpleGraph.IsContained.vertexCoverNum_le_vertexCoverNum
{V : Type u_1}
{W : Type u_2}
{G : SimpleGraph V}
{H : SimpleGraph W}
(h : G.IsContained H)
:
@[deprecated SimpleGraph.IsContained.vertexCoverNum_le_vertexCoverNum (since := "2026-01-07")]
theorem
SimpleGraph.vertexCoverNum_le_vertexCoverNum_of_injective
{V : Type u_1}
{W : Type u_2}
{G : SimpleGraph V}
{H : SimpleGraph W}
(f : G →g H)
(hf : Function.Injective ⇑f)
:
theorem
SimpleGraph.vertexCoverNum_congr
{V : Type u_1}
{W : Type u_2}
{G : SimpleGraph V}
{H : SimpleGraph W}
(f : G ≃g H)
: