File: LIST_BETA_CONV.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 (36 lines) | stat: -rw-r--r-- 795 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
25
26
27
28
29
30
31
32
33
34
35
36
\DOC LIST_BETA_CONV

\TYPE {LIST_BETA_CONV : conv}

\SYNOPSIS
Performs an iterated beta conversion.

\KEYWORDS
conversion.

\DESCRIBE
The conversion {LIST_BETA_CONV} maps terms of the form
{
   "(\x1 x2 ... xn. u) v1 v2 ... vn"
}
\noindent to the theorems of the form
{
   |- (\x1 x2 ... xn. u) v1 v2 ... vn = u[v1/x1][v2/x2] ... [vn/xn]
}
\noindent where {u[vi/xi]} denotes the result of substituting {vi} for all free
occurrences of {xi} in {u}, after renaming sufficient bound variables to avoid
variable capture.

\FAILURE
{LIST_BETA_CONV tm} fails if {tm} does not have the form
{"(\x1 ... xn. u) v1 ... vn"} for {n} greater than 0.

\EXAMPLE
{
#LIST_BETA_CONV "(\x y. x+y) 1 2";;
|- (\x y. x + y)1 2 = 1 + 2
}
\SEEALSO
BETA_CONV, BETA_RULE, BETA_TAC, RIGHT_BETA, RIGHT_LIST_BETA.

\ENDDOC