Define Constraints
Constraints can be defined as Preconditions (input values) and Post Conditions (output values). Preconditions on functions are constraints which input values must satisfy. Post conditions are constraints which output values must satisfy to hold. State conditions under that constraints hold.