Vertex Cover, Hardness of Approximation
We can proof this claim by contradiction. If there exists an α-approximation algorithm for Vertex Cover, we will be able to use it for solving SAT problem in polynomial time and it's a contradiction by giving P≠NP.

We assume that there exists a gap introducing reduction that converts an instance of SAT to an instance of Vertex Cover giving:

• if φ is satisfiable, OPT(VC) ≤ 2/3 * |V|, and

• if φ is not satisfiable, OPT(VC) > α * 2/3 * |V|.

We can use this reduction and convert φ to I(VC) in polynomial time, then use the α-approximation algorithm for Vertex Cover in polynomial time and calculate objective function value (we call it f) for it.

As we know value of f stands between two bounds:

OPT(VC) ≤ f ≤ α*OPT(VC)

After that, we can use f to make a decision about φ satisfaction state:

If f ≤ α * 2/3 * |V|, then yes, else no.

We claim that if f is less than α * 2/3 * |V|, φ should be satisfiable because if φ isn't satisfiable, f can't be less than α * 2/3 * |V| which is lower bound to OPT(VC) (according to reduction assumptions) and objective function value can't be less than optimum.

Also we claim that if f is greater than α * 2/3 * |V|, φ shouldn't be satisfiable because if φ is satisfiable, it violates the approximation inequality. (f ≤ α*OPT(VC))