The form of quantification in FMSL is common to that of typed predicate logic.
The general format of universal quantification is the following:
forall (x:t) predicate
There are also two extended forms of forall, shown in Table 3.X.
Extended Form
Reading
Equivalent To
forall (x:t | p1) p2
For all x of type t, such that p1 is true, p2 is true.
forall (x:t) if p1 then p2
forall (x in l) p
For all x in l, p is true.
forall (x:basetype(l)) if x in l then p
Table 3.X: Extended forms of universal quantification
exists (x:t) predicate
exists (x:t | predicate1) predicate2
exists (x in l) predicate