0

整数のデータ型を定義する方法はありますか。つまり、0、1、2、... ゼロ、1、... ではありません。

整数の集合を定義したい。再帰で 0、n、n+1 を使用する bu。次のようなことを試しました: datatype nat=0|n|n+1 。しかし、0を整数として認識しないため、機能しないことはほぼ明らかでしたよね?

助けていただければ幸いです。

4

1 に答える 1

3

自然数の集合は可算無限であるため、すべての場合を列挙することはできません。

ペアノ数によって自然数を概念的に表すことができます:

datatype peano = Zero | Succ of peano

データ型は非常に単純で、0各自然数に後継者があることを定義して保証するだけです。たとえば、2 は実際には として表されSucc (Succ Zero)ます。

fun count Zero = 0
  | count (Succ p) = 1 + count p

同様の手法を使用すると、自然数の場合と同じようaddに 、sub、関数を構築できます。mult

于 2012-10-25T17:44:40.270 に答える