#author("2017-03-18T00:56:28+09:00","default:Uedalab","Uedalab")
#author("2017-03-18T01:00:25+09:00","default:Uedalab","Uedalab")
The following program (also called a '''model''') describes a sawtooth function
with the following shape:
&ref(./sawtooth.png,50%);
INIT <=> 0 <= f = 2.
INCREASE <=> [](f' = 1).
DROP <=> [](f- = 2 => 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 (whose value is a function of nonnegative time) in the following way.
− The rule INIT defines the value of f at time 0, which takes an uncertain value between 0 and 2.
- The rule INCREASE states that the slope of f if always 1.
- The rule INIT defines the value of f at time 0, which takes an uncertain value between 0 and 2.
- The rule INCREASE states that the slope of f is always 1.
- The rule DROP states that the value of f is reset to 0 whenever the value reaches 2. (The minus sign after f means the left limit of f).
- The final line states that
-- INIT is enabled,
-- DROP is enabled, and
-- INCREASE is enabled whenever it is consistent with DROP (that is, the priority of DROP is higher than INCREASE).
#br
More examples can be found in the [[Examples]] page.