cfp: Mathematics of Program Construction