自然数型は代数データ型で帰納的に定義されている。
Inductive nat : Set := | O : nat | S : nat -> nat
これは以下のような対応で自然数を表現している。
0 | O |
1 | S O |
2 | S (S O) |
3 | S (S (S O)) |
... | ... |
12 | S (S (S (S (S (S (S (S (S (S (S (S O))))))))))) |
... | ... |
3とか12とかの数字リテラルや+,-,*,<,<=などの演算子をnat型として使うにはnat_scopeをOpen すればよい。(デフォルトでオープンされている)
Open Scope nat_scope.