整数のデータ型を定義する方法はありますか。つまり、0、1、2、... ゼロ、1、... ではありません。
整数の集合を定義したい。再帰で 0、n、n+1 を使用する bu。次のようなことを試しました: datatype nat=0|n|n+1 。しかし、0を整数として認識しないため、機能しないことはほぼ明らかでしたよね?
助けていただければ幸いです。
整数のデータ型を定義する方法はありますか。つまり、0、1、2、... ゼロ、1、... ではありません。
整数の集合を定義したい。再帰で 0、n、n+1 を使用する bu。次のようなことを試しました: datatype nat=0|n|n+1 。しかし、0を整数として認識しないため、機能しないことはほぼ明らかでしたよね?
助けていただければ幸いです。
自然数の集合は可算無限であるため、すべての場合を列挙することはできません。
ペアノ数によって自然数を概念的に表すことができます:
datatype peano = Zero | Succ of peano
データ型は非常に単純で、0
各自然数に後継者があることを定義して保証するだけです。たとえば、2 は実際には として表されSucc (Succ Zero)
ます。
fun count Zero = 0
| count (Succ p) = 1 + count p
同様の手法を使用すると、自然数の場合と同じようadd
に 、sub
、関数を構築できます。mult