File: graph.doc

package info (click to toggle)
hol-light 20190729-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 42,676 kB
  • sloc: ml: 637,078; cpp: 439; makefile: 301; lisp: 286; java: 279; sh: 239; yacc: 108; perl: 78; ansic: 57; sed: 39; python: 13
file content (32 lines) | stat: -rw-r--r-- 903 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
28
29
30
31
32
\DOC graph

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

\SYNOPSIS
Returns the graph of a finite partial function.

\DESCRIBE
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 {graph} function takes a finite partial function that maps {x1} to
{y1}, ..., {xn} to {yn} and returns its graph as a set/list:
{[x1,y1; ...; xn,yn]}.

\FAILURE
Attempts to sort the resulting list, so may fail if the type of the pairs does 
not permit comparison.

\EXAMPLE
{
  # graph undefined;;
  val it : ('a * 'b) list = []
  # graph (1 |=> 2);;
  val it : (int * int) list = [(1, 2)]
}

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

\ENDDOC