タグ

lispとlogicに関するHashのブックマーク (2)

  • Lisper のためのチューリングマシンの停止性問題 - あどけない話

    停止性問題を読んでも、意味が分からなかった Lisper のために、Lisp のコードで停止性を解説してみる。使用する Lisp としては、Scheme、Common Lisp、Emacs Lisp を検討したが、Emacs Lisp が一番よいと分かったので、Emacs Lisp を使う。 名前を使った概略 halt-p というプログラムは、入力としてプログラム p とデータ d を取る。Lisp なので、p も d も S 式である。halt-p は、p と d を検査し、p に d を与えたときに、停止するか否かを有限時間で判断する。停止するなら t、停止しないなら nil を返す。 machine というプログラムは、入力 x に対して以下のような動作をする。 (halt-p x x) が t なら、(machine x) を呼び出すことで同じ作業を繰り返す つまり、x に x 自

    Lisper のためのチューリングマシンの停止性問題 - あどけない話
  • ラムダ計算 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。 適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2020年5月) ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論

    Hash
    Hash 2012/02/27
    基礎の基礎 => f(x) = x + 2 が λx. x + 2 と書ける
  • 1