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. 
›