Otter Directives: never and must

Otter directives are the rules that the system must follow. These directives can help you to direct the system in the desired way, as in - to produce random variables with a specified criterion. 

never()

Allowed operators: =, >, <, >= =< . In the event true, new  random values are sought for all variables. If the criterion is true upon three random  choices in a row, error ???fail  to avoid??? 

must()

Operators as above. Smart(!) attempt to satisfy the criterion. Else fail ???impossible???

Example

When you use never and must, you should keep in mind that when you set the randomization for the variables and then a certain must or never relationship, the system first generates the variables and then compares them according to never or must criteria. The system has 100 attempts of producing the values of the variables that are fitting the never / must criteria. If the range of randomization is too narrow, a critical mistake will occur. But if the randomization range is wide enough, the directives will work.

Risky practice - has high chance of collapsing the randomization and the conditional  Good practice - the randomization will work fine along with the conidtional
###a:r(1,10)###
###b:r(1,20)###
###must(b>a)###
###a:r(1,10)###
###b:r(a,20)###
###must(b>a)###