M_f = On input <G,k> where G = (V,E);
1. Construct G' = (V, E') by inverting the edges of G
2. Output <G',k>
V = "On input <G,k,C> where G=(V,E) is an undirected graph
1. If C is not a description of a subset of V, then REJECT
2. If |C| < k, then REJECT
3. For each vertex u in C do:
a. For each vertex v in C do:
i. If u is connected to v by an edge in E, then REJECT
4. If we get here, then C is an independent set of size >= k,
so ACCEPT"
V = On input <G,k,C>
1. Check if C is a subset of the vertices of G; if not, REJECT
2. Check if |C| < k, if so REJECT
3. For each edge {x,y} of G:
a. Check if x or y are in C; if neither are, then REJECT
4. If all edges are covered by C, then ACCEPT