Mathematical Logic and Theory of Computation