File: ran.doc

package info (click to toggle)
hol-light 20230128-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 45,636 kB
  • sloc: ml: 688,681; cpp: 439; makefile: 302; lisp: 286; java: 279; sh: 251; yacc: 108; perl: 78; ansic: 57; sed: 39; python: 13
file content (27 lines) | stat: -rw-r--r-- 811 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
\DOC ran

\TYPE {ran : ('a, 'b) func -> 'b list}

This is one of a suite of operations on finite partial functions, type
{('a,'b)func}. These may sometimes be preferable to ordinary functions since
they permit more operations such as equality comparison, extraction of domain
etc. The {ran} operation returns the range of such a function, i.e. the set of
result values for the points on which it is defined.

\FAILURE
Attempts to {setify} the resulting list, so may fail if the range type does not
admit comparisons.

\EXAMPLE
{
  # ran (1 |=> "1");;
  val it : string list = ["1"]
  # ran(itlist I [2|->4; 3|->6] undefined);;
  val it : int list = [4; 6]
}

\SEEALSO
|->, |=>, apply, applyd, choose, combine, defined, dom, foldl, foldr,
graph, is_undefined, mapf, ran, tryapplyd, undefine, undefined.

\ENDDOC