• x : 9..11 \desdak x : Int ∧9 \leqslant x \leqslant 11

  
  • f(x:9..11) : 3..5 {…}

  int f(int x) {
     require( 9 <= x  && x <= 11 );
     ...
     promise( 3 <= result && result <= 5);
     return result;
     }

slide: Types and behavioral constraints