File: find_terms.doc

package info (click to toggle)
hol88 2.02.19940316dfsg-5
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 65,816 kB
  • sloc: ml: 199,939; ansic: 9,666; sh: 6,913; makefile: 6,032; lisp: 2,747; yacc: 894; sed: 201; cpp: 87; awk: 5
file content (24 lines) | stat: -rw-r--r-- 588 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
\DOC find_terms

\TYPE {find_terms : ((term -> bool) -> term -> term list)}

\SYNOPSIS
Searches a term for all subterms that satisfy a predicate.

\DESCRIBE
A list of subterms of a given term that satisfy the predicate is returned. The
terms may not be disjoint.

\FAILURE
Fails if no subterm of the given term satisfies the predicate.

\EXAMPLE
The following shows that the terms returned may overlap or contain each other:
{
   #find_terms (\tm. rator tm = "SUC" ? false) "SUC(SUC 1 + SUC 2)";;
   ["SUC 2"; "SUC 1"; "SUC((SUC 1) + (SUC 2))"] : term list
}
\SEEALSO
find_term.

\ENDDOC