[step:Define the many-one reduction from independent set]
We reduce from the decision problem $\mathrm{INDEPENDENT}\text{-}\mathrm{SET}$, as defined by Independent Set Is NP-Complete: an instance is a pair $(G,k)$, where $G=(V,E)$ is a finite simple undirected graph and $k \in \mathbb{N}$, and the instance is accepted if and only if there exists a subset $S \subseteq V$ such that no edge of $E$ has both endpoints in $S$ and $|S| \geq k$. We use Independent Set Is NP-Complete as the NP-complete source problem. Let $n := |V|$.
Define $K_3 := (V_3,E_3)$ to be the triangle graph with vertex set $V_3 := \{r_1,r_2,r_3\}$ and edge set $E_3 := \{\{r_1,r_2\},\{r_2,r_3\},\{r_1,r_3\}\}$. For the case $k \leq n$, choose two fresh vertices $a$ and $b$ with $a,b \notin V$ and $a \neq b$, and define the augmented graph $G_+ := (V_+,E_+)$ by $V_+ := V \cup \{a,b\}$ and $E_+ := E \cup \{\{a,b\}\}$.
Define the many-one reduction map $f$ from the set of pairs $(G,k)$, where $G=(V,E)$ is a finite simple undirected graph and $k \in \mathbb{N}$, to the set of pairs $(H,\ell)$, where $H$ is a finite simple undirected graph and $\ell \in \mathbb{N}$.
If $k>n$, set $f(G,k) := (K_3,1)$. If $k\leq n$, set $f(G,k) := (G_+,n-k+1)$.
The value $n=|V|$ is computable in time polynomial in the encoding length of $G$, the comparison $k>n$ is polynomial-time, and in the second case the construction adds exactly two vertices and one edge. Hence $f$ is computable in polynomial time.
[/step]