Changes between Version 21 and Version 22 of Fundamentals


Ignore:
Timestamp:
05/14/23 22:08:46 (3 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Fundamentals

    v21 v22  
    178178}}}
    179179
    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
     182An expression of the form
     183
     184  `(``$domain``)`  `{` ''r1'' `,` ... `,` ''rn'' `}`
     185
     186where ''r1'', . . . , ''rn'' are ''n'' expressions of type `$range`, is a ''Cartesian domain expression''.
     187It represents the domain of dimension ''n'' which is the Cartesian product of the ''n'' ranges,
     188i.e., it consists of all ''n''-tuples (''x1'',...,''xn'') where ''x1'' ∈ ''r1'', ..., ''xn'' ∈ ''rn''.
     189The order on the domain is the dictionary order on tuples.
     190The type of this expression is `$domain(n)`.
     191When 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
    185197* `$here`
    186198* `$root`