|
-
Returns:
hol_type
|
|
Two terms are alpha-equivalent iff they are equal modulo names chosen for
bound variable (i.e. ignoring the differences in the names of bound variables)
-
tm1
:
term
-
tm2
:
term
-
Returns:
bool
|
|
-
theta0
:
(term * term) list
-
tm1
:
term
-
tm2
:
term
-
Returns:
bool
|
|
-
Returns:
hol_type
|
|
-
Returns:
hol_type
|
|
-
tm
:
term
-
Returns:
string
|
|
-
tm
:
term
-
Returns:
hol_type
|
|
-
vs0
:
term list
-
v
:
term
-
Returns:
term
|
|
-
xs0
:
string list
-
x
:
string
-
Returns:
string
|
|
-
tm
:
term
-
Returns:
term * term * term
|
|
-
tm
:
term
-
Returns:
term * term * term
|
|
-
x
:
string
-
tm
:
term
-
Returns:
term * term
|
|
-
x
:
string
-
tm
:
term
-
Returns:
term * term
|
|
-
tm
:
term
-
Returns:
term * term
|
|
-
tm
:
term
-
Returns:
term * term
|
|
-
tm
:
term
-
Returns:
term * term
|
|
Converts a term in a destructed term
-
tm
:
term
-
Returns:
destructed_term
|
|
-
ty
:
hol_type
-
Returns:
destructed_type
|
|
Extracts the free variables in a term: those that occur in the term and
are unbounded by any lambda abstraction
-
tm
:
term
-
Returns:
term list
|
|
-
tm
:
term
-
Returns:
bool
|
|
-
tm
:
term
-
Returns:
bool
|
|
Boolean-valued terms
-
tm
:
term
-
Returns:
bool
|
|
A discriminator for the boolean base type
-
ty
:
hol_type
-
Returns:
bool
|
|
-
tm
:
term
-
Returns:
bool
|
|
-
tm
:
term
-
Returns:
bool
|
|
-
tm
:
term
-
Returns:
bool
|
|
-
tm
:
term
-
tms
:
term list
-
Returns:
term
|
|
-
vs
:
term list
-
tm0
:
term
-
Returns:
term
|
|
-
f
:
term
-
tm1
:
term
-
tm2
:
term
-
Returns:
term
|
|
-
f
:
term
-
v
:
term
-
tm0
:
term
-
Returns:
term
|
|
A derived constructor for constants. It takes a constant
name and a type (defined in the type constants db), where the type must be a valid match for the constant's
generic type (defined in the term constants db). It returns the constant with
the supplied type as its type.
-
x
:
string
-
ty
:
hol_type
-
Returns:
term
|
|
-
tm1
:
term
-
tm2
:
term
-
Returns:
term
|
|
-
v
:
term
-
tm0
:
term
-
Returns:
term
|
|
-
tm1
:
term
-
tm2
:
term
-
Returns:
term
|
|
-
tm
:
term
-
Returns:
term list * term
|
|
-
tm
:
term
-
Returns:
hol_type list
|
|
Takes a type pattern and a type match, and returns an old-to-new
tyvar instn list for tyvars in the type pattern to make it equal to the
match. A failure is raised if the match doesn't fit the pattern.
-
patt
:
hol_type
-
ty
:
hol_type
-
Returns:
(hol_type * hol_type) list
|
|
-
theta
:
(hol_type * hol_type) list
-
patt
:
hol_type
-
ty
:
hol_type
-
Returns:
(hol_type * hol_type) list
|
|
Lists all the type variables that occur in a type.
-
ty
:
hol_type
-
Returns:
hol_type list
|
|
-
tytheta
:
(hol_type * hol_type) list
-
tm
:
term
-
Returns:
term
|
|
-
theta0
:
(term * term) list
-
tytheta
:
(hol_type * hol_type) list
-
tm
:
term
-
Returns:
term
|
|
Checks if a variable occurs free in a term
-
v
:
term
-
tm
:
term
-
Returns:
bool
|
|
-
v
:
term
-
tm
:
term
-
Returns:
bool
|
|
-
theta
:
(term * term) list
-
tm
:
term
-
Returns:
term
|
|
-
vs0
:
term list
-
theta
:
(term * term) list
-
tm
:
term
-
Returns:
term
|
|
-
tm
:
term
-
Returns:
string
|
|
-
tm
:
term
-
Returns:
hol_type
|
|
-
vs0
:
term list
-
v
:
term
-
Returns:
term
|