LOGICAL REASONING ABOUT PROGRAMMING OF MATHEMATICAL MACHINES