File: ran.doc

package info (click to toggle)
hol-light 20170109-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 36,568 kB
  • ctags: 8,549
  • sloc: ml: 540,018; cpp: 439; lisp: 286; java: 279; makefile: 262; sh: 229; yacc: 108; perl: 78; ansic: 57; sed: 39
file content (27 lines) | stat: -rw-r--r-- 811 bytes parent folder | download | duplicates (4)
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