 It is also one of the main models for research into a broad range of subdisciplines in theoretical computer science such as: variant and minimal models of computability, higher-order computability,  computational complexity theory,  algorithmic information theory, etc. This significance of the Turing machine model for theoretical computer science has at least two historical roots.