One of the most basic mathematical types is
,
the natural
numbers. This type is formed by the rule
Type.
The type is inductively defined by the rules which say that
,
and if
then
.
The
typing judgments we need are
![]() |
type_of_zero |
![]() |
type_of_successor |
![]() |
|
To express the fact that
is inductively defined we use the
rule of mathematical induction. In its unrestricted form, this
essentially says that nothing else is a member of
except
what can be generated from 0 using suc. But the form of the rule
given here does not quantify over all propositional functions on
,
so it is not a full statement of the principle.
Suppose
,
then