For example of pre and post conditions think about an operation for taking a square root. In English we might say something as far as a precondition is concerned, the argument had better be a non-negative number. As far as a post condition is confirmed something like the square of the computed results must equal the argument.
That's a little bit backwards way of thinking about things but in fact it is a true expression of equality okay, that must, must be the case if square root has the meaning we expect it to have. If we were to express these particular constraints in OCL, we might do them in the context of the built-in class reel. And having, adding an operation called square root, that returns as a result, a real answer.
The precondition is that the argument which is, in, in this case, is the number we're taking a square root of had better be better than or equal to zero. And the post condition is that the argument should be equal to the result when multiplied by itself.