2017-10-16 29 views
1

ラムダ計算を研究していて、それについての基礎知識しかありません。私は多くのウェブサイトと論文を読んで、ロジック(T/F /および/または)、述語と後継者がどのように働くのかを理解していますが、このラムダ計算を使用してプログラミングで他のことを達成する方法はわかりません。ラムダ計算で正と負の整数と有理数を定義する方法

ラムダ計算で自然数と有理数のペアを整数のペアとして使用して、正と負の整数を定義する方法を知りたいと思います。

ありがとうございました。

答えて

0

Church encodingをご覧ください。たとえば、ループカウンタとして整数を定義します。場合機能f、変数x考えると、:

  • xfにマッピングされることはありません、それはf xを与えるアイデンティティfに一度マッピングされ
  • x(0に相当)であり、それは一つのループを与えますcount(1)
  • xf (f x)を与えるマップされた2つは、2つのループ(2)です。等々。

教会のエンコーディングは、ペアで符号付き数値を定義します。したがって、教会のエンコーディングは、機能とその組み合わせだけを使用して、算術と論理を取り上げます。

関連する問題