Logic lecture notes