#author("2017-03-17T12:27:10+09:00","default:Uedalab","Uedalab")
The following program (also called a '''model''') describes a sawtooth function.
INIT <=> f=0.
INCREASE <=> [](f'=3).
DROP <=> [](f- = 10 => f = 0).
INIT, INCREASE << DROP.
The first three lines (often called '''rules''' or '''named constraints''') define three constraints, and the final line combines those rules.
This program defines the trajectory of a variable f (which is actually a function of time) in the following way.
The rule INIT defines the initial value of f.
The rule INCREASE states that the slope of f if always 3.
The rule DROP states that the value of f is reset to 0 whenever the value reaches 10
(where the minus sign after f means the left limit of f).
The final line states that
- INIT is enabled,
- INCREASE is enabled whenever it is consistent with DROP, and
- DROP is enabled.
That is, the priority of DROP is higher than INCREASE.
#br
More examples can be found in the [[Examples]] page.