Hardness of problems and completeness of problems in a given complexity class

Introduction

Hardness

A problem \(p\) is hard for a class \(C\) if every problem in \(C\) can be reduced to \(p\).

That is, \(p\) is \(C\)-hard if every problem in \(C\) can be reduced to \(p\).

Completeness

A problem \(p\) is complete for a class \(C\) if it is \(C\)-hard and in \(C\).

If an "easy" solution is found for a problem \(p\) which is \(C\)-complete, there is an "easy" solution to all problems in \(C\).