Automata and formal grammars Computability and recursion theory mathematics