| 154 | | * `\forall`, `\exists` : `\forall {Integer i | e0} e1`. `\exists` is similar. ** Is this the best notation? ** |
| | 154 | * `\forall <i1:T1, i2:T2, ...>, e1, e2` : universal quantification. For all i1 in type T1, i2 in type T2, ...: if e1 holds, then e2 holds. The only reason for having two expressions e1 and e2 is possible side-effects (exceptions) in e2 if e1 does not hold. For example, e1 can be x!=0, and e2 can safely divide by 0. |
| | 155 | * `\exists <i1:T1, i2:T2, ...>, e1, e2`: existential quantification. There is some i1 in type T1, i2 in type T2, ..., such that e1 holds and e2 holds. |