File: undefine.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 (33 lines) | stat: -rw-r--r-- 948 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
33
\DOC undefine

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

\SYNOPSIS
Remove definition of a finite partial function on specific domain value.

\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 call {undefine x f} removes a definition for the domain value {x} in 
the finite partial function {f}; if there was none to begin with the function 
is unchanged.

\FAILURE
Never fails.

\EXAMPLE
{
  # let f = itlist I [1 |-> "1"; 2 |-> "2"; 3 |-> "3"] undefined;;
  val f : (int, string) func = <func>
  # dom f;;
  val it : int list = [1; 2; 3]
  # dom(undefine 2 f);;
  val it : int list = [1; 3]
}

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

\ENDDOC