Theory of computation is a branch of theoretical computer science and mathematics that investigates the fundamental capabilities and limitations of computers. It defines what problems can be solved algorithmically (computability), how efficiently they can be solved (complexity), and uses abstract mathematical models, such as Turing machines, to represent computing devices.

