Mathematical Logic in Programming