クワインの「数理論理学の新しい基礎」覚書

C++のテンプレートメタプログラミングの原理である型曖昧性はラッセルの初期の論理学の公理化の試みを分析してクワインが作った外延的な集合論の公理系NFの特徴でもあります
2
(change of )*state @TuvianNavy

♪論理的観点から~ 嫁は俺よりブスがいい~ (酷い歌だ。)

2018-02-26 08:45:02

分析哲学業界のゴシップに詳しくない方に:多分まとめ主の手元にない勁草版の巻頭にあったかと記憶するのですが、「論理的観点から」というセクシズム満載のカリプソをクワインが聴いたのが本のタイトルの由来です。

(change of )*state @TuvianNavy

「集合論的宇宙はそれ自身の冪集合」というZF的にはあり得ない主張を見て動揺してる、

2020-05-08 09:11:21
(change of )*state @TuvianNavy

普遍集合とか反整礎とか、ともかく「我々は今何の話をしてるのかいつでも判っていること」さえ諦めれば、集合概念はもっと人間の漠然とした哲学的概念に近づけることができる

2020-05-08 09:15:10
(change of )*state @TuvianNavy

まあ、それはいろいろ困るからそっちの流儀が主流にはならなかったんだけど

2020-05-08 09:15:53
(change of )*state @TuvianNavy

「同じ型の要素だけでできた配列」の定義とその外延的な照合だけを使ってプログラムが書ける、というのがPrincipia Mathematicaの世界らしく、そこでのgeneric programmingを考えるとTST+Ambってやつになるっぽい

2020-05-10 06:59:37
(change of )*state @TuvianNavy

TSTだとa,b,c,dをatomとすると[[a,b],[a,b,c]]と[[a,b],[c,d]]は同じ型になっちゃうな

2020-05-12 16:14:47
(change of )*state @TuvianNavy

setとarray(multiset)を同一視してるような書き方でまずかったな(あんまり本質的な問題じゃないけど) NFとTST+Ambも同一視しているような書き方でまずかったない

2020-05-12 16:13:01
(change of )*state @TuvianNavy

なんとなくRussel(1908)でのプログラミングが想像できてきた、foreachすらないけどin演算子はあるから、それを使えってことか

2020-05-10 07:49:53
(change of )*state @TuvianNavy

関数ポインタとか型の混在ができないからだいぶ辛い、ものすごく厳格な手続き型の世界(ISAMすらないメインフレームの世界みたいな感じ)

2020-05-10 07:01:54
(change of )*state @TuvianNavy

まあ連想配列は実現できるよな

2020-05-10 07:00:15
(change of )*state @TuvianNavy

こんなんやってられませんな、分岐した型を少なくともデータについて認めたくなるし関数ポインタだって使いたくなるし 最終的にラッセルとホワイトヘッドがどうしたか、というのは確認しないとダメだけど、確かにクワインがどこかで書いていたとかいう分岐型の導入は必然性がある

2020-05-10 07:11:13
(change of )*state @TuvianNavy

ていうか、これC++のテンプレートプログラミングとほぼ同値では>TST+Amb

2020-05-10 07:14:31
(change of )*state @TuvianNavy

QuineのNF関連みてるとわかるけど、atom(集合論の界隈ではurelement=原要素、という用語を使う)が何であるかは論理型言語とかメタプログラミングの上では割とどうでもいい(処理系はそこに頓着する理由がない)

2020-05-10 08:37:51
(change of )*state @TuvianNavy

しかしステパノフ先生とは違った切り口で汎用プログラミングが定義できるのは嬉しいなあ

2020-05-10 14:20:39
(change of )*state @TuvianNavy

テンプレートメタプログラミングの型が単純型だからこそ(計算機上の)汎関数の型曖昧性が実現できて、これをデータ型の実行時の多相(分岐型)と組み合わせることでC++のパワーができている

2020-05-10 14:22:55
(change of )*state @TuvianNavy

STL以前の説明がすっとんでますがすみませんC++使ってないので twitter.com/TuvianNavy/sta…

2020-05-10 14:29:20
(change of )*state @TuvianNavy

C++テンプレートとかRussel(1908)=TSTの型を「単純型」って呼ぶと、Hindleyの本の型付きλ計算と紛らわしいな。。なんて言えばいいんだ twitter.com/TuvianNavy/sta…

2020-05-10 16:52:29
プログラミング原論

アレクサンダー ステパノフ,ポール マクジョーンズ,柴田 芳樹