Text this: Logic of Programming and Calculi of Discrete Design :