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