eopl 15 q4: statements specs using assertions