The Theory of Duality