Theory Advanced
theory Advanced imports Even begin
text ‹
The premises of introduction rules may contain universal quantifiers and
monotone functions. A universal quantifier lets the rule
refer to any number of instances of
the inductively defined set. A monotone function lets the rule refer
to existing constructions (such as ``list of'') over the inductively defined
set. The examples below show how to use the additional expressiveness
and how to reason from the resulting definitions.
›
subsection‹Universal Quantifiers in Introduction Rules \label{sec:gterm-datatype}›
text ‹
\index{ground terms example|(}%
\index{quantifiers!and inductive definitions|(}%
As a running example, this section develops the theory of \textbf{ground
terms}: terms constructed from constant and function
symbols but not variables. To simplify matters further, we regard a
constant as a function applied to the null argument list. Let us declare a
datatype ‹gterm› for the type of ground terms. It is a type constructor
whose argument is a type of function symbols.
›