Theory of computability