Discrete Maths Probability Language Theory and Automats Context Free Grammars Hamilton Paths Graph Planarity Generating Function Turing machine