| 180 | | * domain literals: An expression of the form `($domain) { r1, ..., rn }` where `r1`, . . . , `rn` are n expressions of type `$range`, is a ''Cartesian domain expression''. It represents the domain of dimension n which is the Cartesian product of the n ranges, i.e., it consists of all n-tuples (x1,...,xn) where x1 ∈ r1, ..., xn ∈ rn. The order on the domain is the dictionary order on tuples. The type of this expression is `$domain(n)`. When a Cartesian domain expression is used to initialize an object of domain type, the `($domain)` may be omitted. For example: `$domain(3) dom = { 0 .. 3, r2, 10 .. 2 # -2 };` |
| 181 | | * `$true` |
| 182 | | * `$false` |
| 183 | | * `$forall` |
| 184 | | * `$exists` |
| | 180 | === Domain literals |
| | 181 | |
| | 182 | An expression of the form |
| | 183 | |
| | 184 | `(``$domain``)` `{` ''r1'' `,` ... `,` ''rn'' `}` |
| | 185 | |
| | 186 | where ''r1'', . . . , ''rn'' are ''n'' expressions of type `$range`, is a ''Cartesian domain expression''. |
| | 187 | It represents the domain of dimension ''n'' which is the Cartesian product of the ''n'' ranges, |
| | 188 | i.e., it consists of all ''n''-tuples (''x1'',...,''xn'') where ''x1'' ∈ ''r1'', ..., ''xn'' ∈ ''rn''. |
| | 189 | The order on the domain is the dictionary order on tuples. |
| | 190 | The type of this expression is `$domain(n)`. |
| | 191 | When a Cartesian domain expression is used to initialize an object of domain type, the `($domain)` may be omitted. For example: |
| | 192 | {{{ |
| | 193 | $domain(3) dom = { 0 .. 3, r2, 10 .. 2 # -2 }; |
| | 194 | }}} |
| | 195 | |
| | 196 | |