int f(int x) { require( 9 <= x && x <= 11 ); ... promise( 3 <= result && result <= 5); return result; } slide: Types and behavioral constraints