タグ

Programmingとlogicに関するtar0_tのブックマーク (4)

  • YABUKI Taro’s Home Page | 2018/08/19 フィードのURLが変わりました。

    不完全性定理のLisp, Mathematicaによる記述 Lisp code / Mathematica notebook プログラミング言語なんてどれも同じと思っている人は下の3つをJavaC++で書いてみてほしい 不完全性定理についてのゲーデルの証明の一部 停止問題の解決不可能性についてのチューリングの証明 LISP式がエレガントであることを証明できないというチャイティンの証明 ライプニッツ「役に立たないパラドックスは無い」(チャイティン「知の限界」) ミンスキー「ゲーデルはLispを思いついておくべきだった。もし彼がLispを思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっただろう」(ホフスタッター「メタマジック・ゲーム」) 次の2冊のはLispといってもSchemeのようなオリジナル言語が使われている。ここではCommon LispとEmacs Lisp、M

  • 計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記

    ゲーデルの不完全性定理は、数学を扱う数学、つまりメタ数学を考えるが、それだと理解が難しい。しかし、証明(数学)=プログラムという悟りを開くと、プログラムを扱うプログラム、つまりメタプログラムを考えればよくなり、それならコンパイラ等でなじみがあるので理解が優しくなる。 話の流れは以下。 1. プログラムとは何か 2. 証明とは何か 3. 証明=プログラム , (   {、 {   ヽ.ー、、 \、__ぃ._ゝ⌒ヾ iヾ)}、_ ン_ー-_二ー-, 〉 {厶 _、ヽ              _ ヽ._>'´ / /,ィ/ / ハYヘい       ,. -- 〃⌒ r−-、      ィ´  〃 ,イ/7'  ,イイ/ 小ヽ 丶、 ,. ‐ '´ハ i   ″`ヽ、 、ヽ、     /幺ィ  {从{小込v' jゥ仏厶川リ}  YV,   小 Vj. |丶   ヽ ` ー-ミー--'_,辷三彡

    計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記
  • SKK Openlab - SKK = I

    SKK の名前を考えたときに Combinatory Logic での有名な等式 SKK = I が念頭にあったのは事実です.ずい分昔に Henk Barendregt さんにこの話をしたこともありました.Combinatory Logic は一般にはあまり知られていないので簡単に紹介をしてみます. Combinatory Logic は,λ計算と同様,すべての項 (term, 計算機の言葉で言えば,プログラムに相当するもの)が関数であるような体系である.Logic という名前がついているのは,その上に論理を展開することを目的としていたからであるが,論理の体系としては成功しなかった.しかし,λ計算と密接な関係があることから,計算の体系としては重要なものである. Combinatory Logic の項 (combinator) は以下の文法規則で定義される. 項 ::= 変数 | 定数 |

  • Y Combinator

    In this file we derive the Y combinator, one of the fundamental results of recursive procedure theory. You already know that in some cases it is not necessary to give a procedure a name. For example, ((lambda (x) (+ x 1)) 6) adds 1 to 6 without naming the procedure that does it. But, what about a recursive procedure? For example, (define fact (lambda (n) (if (zero? n) 1 (* n (fact (- n 1)))))) whi

  • 1