General Theory of Computing