Subject: Term

Keywords: ::abstraction

Title: Definition

--------------------------------------------------

Definitions are method of encoding term expansions.
definition consists of lhs or model term and rhs or
expansion. The lhs may have variable parameters and first or
second order variable subterms. subterm may also be literal
term. Importantly though, lhs subterm can only be variable
or completely literal term, ie the subterm may not contain
variable. It can be variable, but cannot contain variable.

No two lhs may match any single term instance. Thus there can never
be any ambiguity over which definition is used to expand an term.

We use the words abstraction and definition interchangeably. 
Definition may be the more generic word, and abstraction our 
implementation of definition. This is not convention that 
we strictly enforce.

Definitions are specified in ABS objects.   

Definitions are an integral part of nuprl formal content.
However they are also used extensively as macro device for ML
expressions, especially in Tactic Expressionsin proofs.

Definitions are unfolded by matching an instance to the lhs 
and then substituting (See Substitioninto the rhs.⋅
--------------------------------------------------

Authors: 

Contributors: RICH:t



Home