Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

M0030 -- Level 1 constructors



> The operation nums2interval(l,u), where l and u are extended-real
> values, returns the set {x in R | l <= x <= u}.  If (see subclause
> 5.2) the conditions l <= u , l < +oo and u > -oo hold, this set is
> the nonempty interval [l,u] and the operation is said to succeed.
> Otherwise the operation is said to fail, and returns Empty.

Do extended reals exist at level 1?  I don't think so -- what does
exist is unbounded intervals.  So at level 1 we need the following
constructors, where l and u are Reals:

  Nums2FiniteInterval(l,u)
  Num2LeftUnboundedInterval(u)
  Num2RightUnboundedInterval(l)
  Entire

(Empty is any Nums2FiniteInterval(l,u) with l > u, so it could be
present as an abbreviation.)

At Level 2 these can be combined to include extended-real bounds,
using F-numbers, leading to the nums2interval(l,u) described by John.
At that level however NAI has to be considered too, because F-numbers
include NaNs.

As for John's question about text2interval("rubbish"):  As long as text
strings are not Level 1 objects (which I believe is the case so far),
this does not belong here, so the point is moot.  But excluding text
intervals removes the possibility of specifying intervals containing
exact numbers, and yet those can only be specified at level 1, so I
think we have to add "text strings representing level 1 intervals"
as a level 1 type.  But once we do that we get to the sad fact that
it is in principle undecidable whether a text string represents an
interval (at level 1; at level 2 we can specify a syntax that, if
sufficiently restrictive, can avoid that problem).

For that reason I see only two possibilities at level 1 (with text strings):
  (a)  Include decorations as a level 1 concept.
  (b)  Define NaI as a level 1 object (with blind propagation through
       all level 1 operations, and only ONE type, so we never have to
       decide WHICH of several NaI inputs to propagate, or (worse) how
       to combine them.

> - Vienna 6.5 "Exact numbers", like "-5/7" and "0.71428" and "Pi",
>   are required.

If required, we need a list of named constants and expression forms,
without precluding others.  The syntax and actual names could be
delegated to the next levels.

Michel.

P.S.  I got a burst of stds-1788 posts this morning (Dec 3rd); the last
      preceding post was Dan's Nov 22 post about M0029.  Due to problems
      at my incoming-mail gateway I was automatically unsubscribed on
      Nov 23, and I resubscribed on Nov 28.  Did I miss anything?
      (My request for a list of stds-1788 posts returned a list of
      subscribers, not a list of recent posts as I had expected.)
---Sent: 2011-12-03 18:14:11 UTC