The set "C" constructed this way is a vertex cover: suppose that an edge "e" is not covered by "C"; then "M" ∪ {"e"} is a matching and "e" ∉ "M", which is a contradiction with the assumption that "M" is maximal. Furthermore, if "e" = {"u", "v"} ∈ "M", then any vertex cover – including an optimal vertex cover – must contain "u" or "v" (or both); otherwise the edge "e" is not covered. That is, an optimal cover contains at least "one" endpoint of each edge in "M"; in total, the set "C" is at most 2 times as large as the optimal vertex cover.