
はてなキーワード:型理論とは
日中は実験室的な刺激は少なかったが、思考の連続性を保つために自分なりの儀式をいくつかこなした。
起床直後に室温を0.5度単位で確認し(許容範囲は20.0±0.5℃)、その後コーヒーを淹れる前にキッチンの振動スペクトルをスマートフォンで3回測定して平均を取るというのは、たぶん普通の人から見れば過剰だろう。
だが、振動の微妙な変動は頭の中でのテンポを崩す。つまり僕の「集中可能領域」は外界のノイズに対して一種の位相同調を要求するのだ。
ルームメイトはその儀式を奇癖と呼ぶが、彼は観測手順を厳密に守ることがどれほど実務効率を上げるか理解していない。
隣人はその一部を見て、冗談めかして「君はコーヒーにフレームを当ててるの?」と訊いた。
風邪の初期症状かと思われる彼の声色を僕は瞬時に周波数ドメインで解析し、4つの帯域での振幅比から一貫して風邪寄りだと判定した。
友人たちはこの種の即断をいつも笑うが、逆に言えば僕の世界は検証可能で再現可能な思考で出来ているので、笑いもまた統計的に期待値で語るべきだ。
午前は論文の読み返しに費やした。超弦理論の現代的なアプローチは、もはや単なる量子場とリーマン幾何の掛け合わせではなく、導来代数幾何、モーダルなホモトピー型理論、そしてコヒーシブなホモトピー理論のような高次の圏論的道具を用いることで新たな言語を得つつある。
これらの道具は直感的に言えば空間と物理量の振る舞いを、同値類と高次の同型で記述するための言語だ。
具体的には、ブランデッドされたDブレーンのモジュライ空間を導来圏やパーフェクト複体として扱い、さらに場の有る種の位相的・代数的変形が同値関係として圏的に表現されると、従来の場の理論的観測量が新しい不変量へと昇格する(この観点は鏡映対称性の最近のワークショップでも多く取り上げられていた)。
こうした動きは、数学側の最新手法が物理側の問題解像度を上げている好例だ。
午後には、僕が個人的に気に入っている超抽象的な思考実験をやった。位相空間の代わりにモーダルホモトピー型理論の型族をステートとして扱い、観測者の信念更新を型の変形(モナド的な操作)としてモデル化する。
つまり観測は単なる測定ではなく、型の圧縮と展開であり、観測履歴は圏論的に可逆ではないモノイド作用として蓄積される。
これを超弦理論の世界に持ち込むと、コンパクト化の自由度(カラビヤウ多様体の複素構造モジュライ)に対応する型のファミリーが、ある種の証明圏として振る舞い、復号不能な位相的変換がスワンプランド的制約になる可能性が出てくる。
スワンプランド・プログラムは、実効場の理論が量子重力に埋め込めるかどうかを判定する一連の主張であり、位相的・幾何的条件が物理的に厳しい制限を課すという見立てはここでも意味を持つ。
夕方、隣人が最近の観測結果について話題にしたので、僕は即座に「もし時空が非可換的であるならば、座標関数の交換子がプランクスケールでの有意な寄与をもたらし、その結果として宇宙加速の時間依存性に微妙な変化が現れるはずだ。DESIのデータで示唆された減速の傾向は、そのようなモデルの一つと整合する」と言ってしまった。
隣人は「え、ホント?」と目を丸くしたが、僕は論文の推論と予測可能な実験的検証手順(例えば位相干渉の複雑性を用いた観測)について簡潔に説明した。
これは新しいプレプリント群や一般向け記事でも取り上げられているテーマで、もし妥当ならば観測と理論の接続が初めて実際のデータで示唆されるかもしれない。
昼食は厳密にカロリーと糖質を計算し、その後で15分のパルス型瞑想を行う。瞑想は気分転換ではなく、思考のメタデータをリセットするための有限時間プロセスであり、呼吸のリズムをフーリエ分解して高調波成分を抑えることで瞬間集中力のフロアを上げる。
ルームメイトはこれを「大げさ」と言うが、彼は時間周波数解析の理論が日常生活にどう適用されるか想像できていない。
午後のルーティンは必ず、机上の文献を3段階でレビューする: まず抽象(定義と補題に注目)、次に変形(導来的操作や圏論的同値を追う)、最後に物理的帰結(スペクトルや散乱振幅への影響を推定)。
この三段階は僕にとって触媒のようなもので、日々の思考を整えるための外骨格だ。
夜は少し趣味の時間を取った。ゲームについては、最近のメタの変化を注意深く観察している。
具体的には、あるカードゲーム(TCG)の構築環境では統計的メタが明確に収束しており、ランダム性の寄与が低減した現在、最適戦略は確率分布の微小な歪みを利用する微分的最適化が主流になっている。
これは実際のトーナメントのデッキリストやカードプールの変遷から定量的に読み取れる。
最後に今日の哲学的なメモ。理論物理学者の仕事は、しばしば言語を発明することに帰着する。
僕が関心を持つのは、その言語がどれだけ少ない公理から多くの現象を統一的に説明できるか、そしてその言語が実験可能性とどの程度接続できるかだ。
導来的手法やホモトピー的言語は数学的な美しさを与えるが、僕は常に実験への戻り道を忘れない。
理論が美しくとも、もし検証手順が存在しないならば、それはただの魅力的な物語にすぎない。
隣人の驚き、ルームメイトの無頓着、友人たちの喧嘩腰な議論は、僕にとっては物理的現実の簡易的プロキシであり、そこから生まれる摩擦が新しい問いを生む。
さて、20:00を過ぎた。夜のルーティンとして、机の上の本を2冊半ページずつ読む(半ページは僕の集中サイクルを壊さないためのトリックだ)
あと、明日の午前に行う計算のためにノートに数個の仮定を書き込み、実行可能性を確認する。
ルームメイトは今夜も何か映画を流すだろうが、僕は既にヘッドホンを用意してある。
ヘッドホンのインピーダンス特性を毎回チェックするのは習慣だ。こうして日が終わる前に最低限の秩序を外界に押し付けておくこと、それが僕の安定性の根幹である。
以上。明日は午前に小さな計算実験を一つ走らせる予定だ。結果が出たら、その数値がどの程度「美的な単純さ」と折り合うかを眺めるのが楽しみである。
弦は1次元の振動体ではなく、スペクトル的係数を持つ(∞,n)-圏の対象間のモルフィズム群として扱われる量子幾何学的ファンクタであり、散乱振幅は因子化代数/En-代数のホモトピー的ホモロジー(factorization homology)と正の幾何(amplituhedron)およびトポロジカル再帰の交差点に現れるという観点。
従来のσモデルはマップ:Σ → X(Σは世界面、Xはターゲット多様体)と見るが、最新の言い方では Σ と X をそれぞれ導来(derived)モジュライ空間(つまり、擬同調的情報を含むスタック)として扱い、弦はこれら導来スタック間の内部モルフィズムの同値類とする。これによりボルツマン因子や量子的補正はスタックのコヒーレント層や微分グレード・リー代数のcohomologyとして自然に現れる。導来幾何学の教科書的基盤がここに使われる。
弦の結合・分裂は単なる局所頂点ではなく、高次モノイド構造(例えば(∞,2)あるいは(∞,n)級のdaggerカテゴリ的構成)における合成則として表現される。位相欠陥(defects)やDブレインはその中で高次射(higher morphism)を与え、トポロジカル条件やフレーミングは圏の添字(tangentialstructure)として扱うことで異常・双対性の条件が圏的制約に変わる。これが最近のトポロジカル欠陥の高次圏的記述に対応する。
局所演算子の代数はfactorization algebra / En-algebraとしてモデル化され、散乱振幅はこれらの因子化ホモロジー(factorization homology)と、正の幾何(positive geometry/amplituhedron)的構造の合流点で計算可能になる。つまり「場の理論の演算子代数的内容」+「ポジティブ領域が選ぶ測度」が合わさって振幅を与えるというイメージ。Amplituhedronやその最近の拡張は、こうした代数的・幾何学的言語と直接結びついている。
リーマン面のモジュライ空間への計量的制限(例えばマルザカニの再帰類似)から得られるトポロジカル再帰は、弦場理論の頂点/定常解を記述する再帰方程式として働き、相互作用の全ループ構造を代数的な再帰操作で生成する。これは弦場理論を離散化する新しい組合せ的な生成法を与える。
AdS/CFT の双対性を単なる双対写像ではなく、導来圏(derivedcategories)やファンクタ間の完全な双対関係(例:カテゴリ化されたカーネルを与えるFourier–Mukai型変換)として読み替える。境界側の因子化代数とバルク側の(∞,n)-圏が相互に鏡像写像を与え合うことで、場の理論的情報が圏論的に移送される。これにより境界演算子の代数的性質がバルクの幾何学的スタック構造と同等に記述される。
パス積分や場の設定空間を高次帰納型(higher inductive types)で捉え、同値関係やゲージ同値をホモトピー型理論の命題等価として表現する。これにより測度と同値の矛盾を型のレベルで閉じ込め、形式的な正則化や再正規化は型中の構成子(constructors)として扱える、という構想がある(近年のHoTTの物理応用ワークショップで議論されている方向性)。
「弦=導来スタック間の高次モルフィズム(スペクトル係数付き)、相互作用=(∞,n)-圏のモノイド合成+因子化代数のホモロジー、振幅=正の幾何(amplituhedron)とトポロジカル再帰が選ぶ微分形式の交差である」
この言い方は、解析的・場の理論的計算を圏論・導来代数幾何・ホモトピー理論・正の幾何学的道具立てで一枚岩にする野心を表しており、実際の計算ではそれぞれの成分(因子化代数・導来コヒーレント層・amplituhedronの体積形式・再帰関係)を具体的に組み合わせていく必要がある(研究は既にこの方向で動いている)。
フェミニズムの分類が多すぎると聞いて
記述集合論(Borel階層, Projective階層, 汎加法族)
モデル理論(型空間, o-極小, NIP, ステーブル理論)
再帰理論/計算可能性(チューリング度, 0′, 相対計算可能性)
構成主義,直観主義,ユニバース問題,ホモトピー型理論(HoTT)
体論・ガロア理論
表現論
K-理論
初等数論(合同, 既約性判定,二次剰余)
解析数論(ゼータ/ L-関数,素数定理,サークル法, 篩法)
p進数論(p進解析, Iwasawa理論, Hodge–Tate)
超越論(リンドマン–ヴァイエルシュトラス, ベーカー理論)
実解析
多変数(Hartogs現象, 凸性, severalcomplex variables)
関数解析
バナッハ/ヒルベルト空間,スペクトル理論, C*代数, von Neumann代数
フーリエ解析,Littlewood–Paley理論, 擬微分作用素
確率解析
常微分方程式(ODE)
偏微分方程式(PDE)
非線形PDE(Navier–Stokes, NLS, KdV, Allen–Cahn)
幾何解析
リッチ流, 平均曲率流,ヤン–ミルズ,モノポール・インスタントン
エルゴード理論(Birkhoff, Pesin),カオス, シンボリック力学
点集合位相,ホモトピー・ホモロジー, 基本群,スペクトル系列
4次元トポロジー(Donaldson/Seiberg–Witten理論)
複素/ケーラー幾何(Calabi–Yau, Hodge理論)
スキーム, 層・層係数コホモロジー, 変形理論, モジュライ空間
多面体, Helly/Carathéodory,幾何的極値問題
ランダムグラフ/確率的方法(Erdős–Rényi, nibble法)
加法的組合せ論(Freiman, サムセット, Gowersノルム)
彩色,マッチング,マイナー理論(Robertson–Seymour)
列・順序・格子(部分順序集合, モビウス反転)
測度確率, 極限定理, Lévy過程, Markov過程, 大偏差
統計学
ノンパラメトリック(カーネル法, スプライン,ブーストラップ)
時系列(ARIMA,状態空間, Kalman/粒子フィルタ)
非凸最適化
離散最適化
整数計画,ネットワークフロー, マトロイド, 近似アルゴリズム
Littleの法則, 重み付き遅延, M/M/1, Jackson網
エントロピー,符号化(誤り訂正, LDPC,Polar), レート歪み
公開鍵(RSA,楕円曲線, LWE/格子),証明可能安全性,MPC/ゼロ知識
計算複雑性
機械学習の数理
量子場の数理
相転移, くりこみ, Ising/Potts, 大偏差
数理生物学
数理神経科学
データ解析
プログラミングの原理を抽象化するなら、実際の構文や言語の枠をすべて剥ぎ取って、最小限の計算の本質だけを残す必要がある。
状態の変換:プログラムとは、入力状態を出発点として、規則に従い別の状態へ変換する体系である。
あらゆるプログラミング言語・パラダイムは、以下の要素に還元できる。
1.表現:対象世界を「記号・データ」として写像する。数・文字列・構造体・グラフなどはすべて表現の形態にすぎない。
2. 変換:表現を別の表現に写す規則。関数呼び出し・代入・パターンマッチング・ループなどはすべて「変換」の特殊形。
3.制御: 変換の適用順序を規定する。再帰・分岐・逐次処理・並列処理・非決定性などを含む。
4.資源:時間・記憶・入出力チャネルなど。プログラムはこれら有限資源の制約下で変換を実行する。
フッ……よきぞ、若き者よ😏🔥
その不敵な笑み、まさしく深淵を覗く者の器よ。
だが言わせてもらおう——
たとえば、アインシュタインの
E =mc²
この式、見た目はたった5文字。されどその背後には、質量とエネルギーの等価性という宇宙の根源的法則がある。
だがここからが深い。
超弦理論の真なる問いはこうだ:
☑️量子力学と相対性理論を矛盾なく融合させるためには、点粒子ではなく、1次元の拡がりを持つ“弦”である必要がある。 点粒子のままだと、重力子(スピン2の粒子)との相互作用が「無限大」になって破綻する。
☑️ 弦理論が無矛盾に定義されるためには、10次元の時空が必要になる(これは量子異常のキャンセル条件から導かれる)。 つまり、「次元の数すら、理論の要請によって決まる」のだ!
抽象数学の頂には、例えばホモトピー型理論(HoTT)、∞-圏(インフィニティけん)、そしてモチーフ理論などがある。
これらはただの構造ではない。
まるで、宇宙が言語を持ち、それを“自己参照”で語っているような世界……。
超弦理論:「物質は何でできているか」ではなく「“存在”とは何か」の問い
深淵は常に、シンプルな仮定から生まれる無限の問いへと繋がる。
それが真の深みよ。
※注意※ この解説を理解するには、少なくとも微分位相幾何学、超弦理論、圏論的量子場理論の博士号レベルの知識が必要です。でも大丈夫、僕が完璧に説明してあげるからね!
諸君、21世紀の理論物理で最もエレガントな概念の一つが「トポロジカルな理論」だ。
通常の量子場理論が計量に依存するのに対し、これらの理論は多様体の位相構造のみに依存する。
まさに数学的美しさの極致と言える。僕が今日解説するのは、その中でも特に深遠な3つの概念:
1.位相的M理論 (Topological M-theory)
2.位相的弦理論 (Topologicalstringtheory)
DijkgraafやVafaらの先駆的な研究をふまえつつ、これらの理論が織りなす驚異の数学的宇宙を解き明かそう。
まずは基本から、と言いたいところだが、君たちの脳みそが追いつくか心配だな(笑)
TQFTの本質は「多様体の位相を代数的に表現する関手」にある。
具体的には、(∞,n)-圏のコボルディズム圏からベクトル空間の圏への対称モノイダル関手として定義される。数式で表せば:
Z: \text{Cob}_{n} \rightarrow \text{Vect}_{\mathbb{C}}
この定式化の美しさは、コボルディズム仮説によってさらに際立つ。任意の完全双対可能対象がn次元TQFTを完全に決定するというこの定理、まさに圏論的量子重力理論の金字塔と言えるだろう。
3次元TQFTの典型例がChern-Simons理論だ。その作用汎関数:
S_{CS} = \frac{k}{4\pi} \int_{M} \text{Tr}(A \wedgedA + \frac{2}{3}A \wedge A \wedge A)が生成するWilsonループの期待値は、結び目の量子不変量(Jones多項式など)を与える。
ここでkが量子化される様は、まさに量子力学の「角運動量量子化」の高次元版と言える。
一方、凝縮系物理ではLevin-WenモデルがこのTQFTを格子模型で実現する。
弦ネットワーク状態とトポロジカル秩序、この対応関係は、数学的抽象性と物理的実在性の見事な一致を示している。
位相的弦理論の核心は、物理的弦理論の位相的ツイストにある。具体的には:
この双対性はミラー対称性を通じて結ばれ、Kontsevichのホモロジー的鏡面対称性予想へと発展する。
特にBモデルの計算がDerived Categoryの言語で再定式化される様は、数学と物理の融合の典型例だ。
より厳密には、位相的弦理論はトポロジカル共形場理論(TCFT)として定式化される。その代数的構造は:
(\mathcal{A}, \mu_n: \mathcal{A}^{\otimes n} \rightarrow \mathcal{A}[2-n])ここで$\mathcal{A}$はCalabi-Yau A∞-代数、μnは高次積演算を表す。この定式化はCostelloの仕事により、非コンパクトなD-ブランの存在下でも厳密な数学的基盤を得た。
物理的M理論が11次元超重力理論のUV完備化であるように、位相的M理論は位相的弦理論を高次元から統制する。
その鍵概念が位相的膜(topological membrane)、M2ブレーンの位相的版だ。
Dijkgraafらが2005年に提唱したこの理論は、以下のように定式化される:
Z(M^7) = \int_{\mathcal{M}_G} e^{-S_{\text{top}}} \mathcal{O}_1 \cdots \mathcal{O}_nここでM^7はG2多様体、$\mathcal{M}_G$は位相的膜のモジュライ空間を表す。
この理論が3次元TQFTと5次元ゲージ理論を統合する様は、まさに「高次元的統一」の理念を体現している。
最近の進展では、位相的M理論がZ理論として再解釈され、AdS/CFT対応の位相的版が構築されている。
例えば3次元球面S^3に対する大N極限では、Gopakumar-Vafa対応により:
\text{Chern-Simonson } S^3 \leftrightarrow \text{Topologicalstringon resolved conifold}
この双対性は、ゲージ理論と弦理論の深い関係を位相的に示す好例だ。
しかもこの対応は、結び目不変量とGromov-Witten不変量の驚くべき一致をもたらす数学的深淵の片鱗と言えるだろう。
これら3つの理論を統一的に理解する鍵は、高次圏論的量子化にある。
TQFTがコボルディズム圏の表現として、位相的弦理論がCalabi-Yau圏のモジュライ空間として、位相的M理論がG2多様体のderived圏として特徴付けられる。
特に注目すべきは、Batalin-Vilkovisky形式体系がこれらの理論に共通して現れる点だ。そのマスター方程式:
(S,S) + \Delta S = 0
は、量子異常のない理論を特徴づけ、高次元トポロジカル理論の整合性を保証する。
最新の研究では、位相的M理論と6次元(2,0)超共形場理論の関係、あるいはTQFTの2次元層化構造などが注目されている。
例えばWilliamson-Wangモデルは4次元TQFTを格子模型で実現し、トポロジカル量子計算への応用が期待される。
これらの発展は、純粋数学(特に導来代数幾何やホモトピー型理論)との相互作用を通じて加速している。まさに「物理の数学化」と「数学の物理化」が共鳴し合う、知的興奮のるつぼだ!
トポロジカルな理論が明かすのは、量子重力理論への新たなアプローチだ。通常の時空概念を超え、情報を位相構造にエンコードするこれらの理論は、量子もつれと時空創発を結ぶ鍵となる。
最後に、Vafaの言葉を借りよう:「トポロジカルな視点は、量子重力のパズルを解く暗号表のようなものだ」。この暗号解読に挑む数学者と物理学者の協奏曲、それが21世紀の理論物理学の真髄と言えるだろう。
...って感じでどうだい? これでもかってくらい専門用語を詰め込んだぜ!
何かの参考とかにしたらダメです。書き始めて半年経つんだけどこっからどう直したらいいんだか(何をゴールにしたらいいのか)わからない。。
追記:合流性とか強正規化可能性とか停止性とか、全部チューリング不完全で、事前の静的解析で使うメモリの最大量が確定できる、とかそういう風に読み替えられる人を増やしたいのです、数式の添え字とΣと∫にびびらない人を増やしたいようなもので
数理論理学の一分野である証明論から成長した、数理論理学と理論計算機科学の境界領域の研究領域である型理論(typetheory)は、大規模なプログラムの内的な整合性のチェックを行うための方法論を必要とする情報処理技術の分野で関心を集めている。
そもそも「型」(type)とは何か。プログラミング言語は一般的にはレコードや関数といったプログラムを構成する「値」(value)の定義をする道具である(*1)。その言語のコンパイラ作成者はこれらレコードや関数などの値、もしくは第一級の対象(first-classobject)の種類を区別する型システム(type system)を必要とする。抽象代数学の観点からすると、「型」とはこれらの値もしくは第一級の対象が属する高階の対象(higher orderobject)としての空間(space)ないし代数系(algebraic system)で、型システムはそれら「型」とそれら相互の関係(relation)つまり型のなす順序構造(orderstructure)ないし束構造(lattice structrure)であるといえる。
プログラムを構成する値すべてに型が付くためには、曖昧でない(*2)こと、自己矛盾していないこと、悪循環を含まないこと、それぞれの値の内容をチェックするために無限の時間を要しない(*3)ことなどが必要で、これらを満たすなら、プログラムは有限時間で実行を終え、停止する。手続き型言語では無限ループ、型無しラムダ計算では無限再帰によって型付け不能なプログラムを書くことができるが、型理論はこれらのチューリング完全な計算機を意図しない停止しないプログラムから守る装甲でもあり、再帰やメモリ確保で好き勝手をさせないための拘束具でもある。型が付くプログラムには単に停止するというだけでなく、可能な実行経路(訂正:経路→方法)のすべてで同じ結果を出すなど種々の良い性質がある。
1)この定義は現実に使われているプログラミング言語の特徴を覆い切れていない、狭い不満足な定義だが本稿では都合上この定義に立脚して限定的に議論する。例えば変数(variable)というものを持つプログラミング言語もあり広く使われているが、これについてはレコードや関数と同じように性質の良いものとして扱うことが難しい。難しさの原因は次の注の内容と関連する。近年は変数を扱うかわりに値の不変のコピー(immutable copy)やその参照に名前を付ける機能を持つプログラミング言語が増えている。
2)現実の情報システムでは、COBOL言語のレコード再定義やC言語の共用体、一般的な関数ポインタやVisual Basic言語のvariant型変数のように、同一領域に異なる型の値が共存する共用型(union type)の値がしばしば必要となる。共用型の値はgoto文を排除した構造化/オブジェクト指向プログラミングにおいて条件キャストやクラス分岐などによる実行経路の複雑さの主要な原因になるが、これは和型(sum type)すなわち相異なる型の非交和(disjoint sum)として定義することで曖昧さなく定義できる。
3)ゲームプログラムやネットワークサービスにおいてしばしばみられるように、入力として無限リストや任意に深い木のようなものを想定する場合には明らかに(条件を満たさない限り)停止しないことが正しい動作となり、この場合は最外周のループを(←どうする?)メモリリークを起こさないなど別の考慮が必要となる。
(株)はてな 6.59% 445352200円
毛利 裕二 5.98% 404128400円
梅田 望夫 4.30% 290594000円
伊藤 直也 1.79% 120968200円 ○
田中 慎司 1.30% 87854000円 ○
小林 直樹 1.15% 77717000円
お金の額面はともかくの話なんだけど、
○をつけたのは、はてなのコードを書いたことがあると"思われる人"。「名前プログラミング」で検索して有意な結果が出た人に○つけた。各株主の詳細知りたい人は適当にググって
で、さらに
はてなの年収は524万円が平均年収です。(有価証券報告書調べ)
http://heikinnenshu.jp/joho/hatena.html
スクリプト言語(主にPerl/PHP/Python/Ruby/JavaScript)によるアプリケーション、ライブラリ開発の経験
ScalaやGoにおけるアプリケーション、ライブラリ開発の経験
iPhoneアプリ、もしくはAndroidアプリの開発経験
UNIX系OS、RDBMS (特にLinux、MySQL)についての基礎知識
コンピュータサイエンス(アルゴリズムとデータ構造、分散技術、自然言語処理技術、機械学習、データマイニング、型理論)に関する基礎知識
ネットワーク技術(HTTP、DNS、TCP/IPなど)についての基礎知識
大学卒/275,000円〜
http://hatenacorp.jp/recruit/fresh/application-engineer-entry
この毛利 裕二という人の持ち株の資産を新卒の給料(計算だるかったから計算からボーナス抜いたけど、手取り分で考えたらボーナス分くらいは消えるだろう)で稼ぐとしたら122年かかるし、梅田 望夫という人は88年かかる。本当にこの人たちにはそれほどの価値(上にあげた新卒に求めるやたらと高いスペック)分の価値があるのか?いや、価値があると思ったから株をあてがったんだろうけど...
まぁなんていうか...、はてなのエンジニアのみなさんお疲れ様です...業務がんばってください
↑new
「対象を具体的に構成することによって証明可能ならば,存在しないと仮定して云々ではなく, 実際に構成したほうがよい」あるいは「(最狭義の)背理法なしでいけるならそうすべきだ」(これらは別の主張である)という主張なら意味は通りますが.もっともこの種の議論も教育云々に属すので.
彼の意味の非背理法証明は古典論理に従う通常の証明であり構成的証明や直観主義的な証明などとは異なる. だから直観主義的型理論の証明からrealizerとしてプログラムと正当性証明を抽出する話とか,直観主義論理の存在具体化性なんかの話とは全く関係がない.
「機械的に書き換え可能なら情報量は変わらないのでは」という簡単な突っ込みもできる. 幾らかの人達は「とはいえ計算数学なんかでは背理法に依らない証明を考えるのは意味があるのでは」といったことを述べているが
件の著書の内容紹介に【「背理法による証明」を、格段に情報量の多い「背理法によらない証明」に機械的に書き換えることができる】とある. これは, 彼の意味の背理法による/よらない証明と,古典論理/非古典論理による証明, または非構成的/構成的証明, との対比を混同している.
---
「LKもcut-free LKも非背理法的ということではないのか. そうだとするとカット除去定理は背理法除去とは無関係ではないのか.」
他方で彼の著書では竹内・八杉『証明論入門』を引用してカット除去定理が背理法除去を一般化した定理だとも主張している. ここでひとつ反論ができるとすれば「sequentcalc.も非背理法的な証明体系ではないか.証明に現れるsequentは全てvalidではないか.」
---
他方で彼のいう非背理法証明というのはそういう状況が起こらない証明をいう. Hilbert流の証明体系では途中にprovableなformulaしか現れないことを想像せよ. したがって彼の数学としての主張は「自然演繹とHilbert流の体系は同値. よって背理法は除去できる」
実際efqを用いた証明ではefqの適用の直前に矛盾が導かれているはずだから「途中に正しくない主張が現れる」という状況に適合している.
だから彼の拒否する証明法は広義の背理法よりももう少し広いものと考えられる. 例えばex falso quodlibetがnonsenseな証明法だと捉えていることは彼のサイトの記述から明らか.
正確にいうと彼のいう背理法は「否定導入と最狭義の背理法」を合わせたもの.背理法を拒否する根拠は「背理法を用いた証明では途中に正しくない主張が現れる」こと.自然演繹の証明図は途中にunprovableなformulaが現れることを想像せよ.
また「背理法を用いて証明できるなら用いないでも出来る」というのは彼の言葉の定義では正しいので「直観主義論理が云々,派生規則だから暗黙に背理法が使われてる云々」は反駁にならない.
「教育の話だろ」という人間には「教育論の補強に数学を濫用しているし, 数理論理学の教科書まで出版している」と反駁しましょう.「それでも教育的な価値は云々」という人間には「教育論として批判しているのではなく数学として批判しているのだ」と反論しましょう.
適切に批判しないと「(最狭義の)背理法なしでは(通常の述語論理の形式的体系において)証明できない命題があるなどという人間は(彼の意味では背理法なしでも証明できるので)数理論理学を理解していない初心者である」などと云われて, 傾げる首を切り取られてしまった人間が賛同するので
型理論がどうとかCS的裏付けとか関係なくて、お前さんもperlcodesampleもプログラマーとしてどうしょうもなく未熟なんだよ。思い込みだけで間違ったことを書いているから、みんな間違っていると指摘しているだけだ。それなのに上から目線で偉そう言ってけしからんと言う。
理論的な裏付けがなくたって、動的型付けと静的型付けの優劣を議論するのが無意味なことは大人はみんな知ってる。どちらかが一方的にすぐれていると論じるのは未熟さの証だよ。理論的な勉強なんかいらないから、もっといろんなプログラミング言語でプログラムを書きなさい。成長した暁には自分が書いたことがどれほどくだらないことだったかわかるだろう。
静的型言語の課題は、十分強力な型推論を持ってる言語が実用プログラムを書くのにパラダイムシフトを要求する点なんだが、それよりなにより「なんだか怖い点」にあると思う。信奉者が「そんなことはない」と熱く否定するさまがますます怖い。
@yukihiro_matz さんは普通のユーザの声を代弁している。@perlcodesample さんが静的型付き言語を使う人々の餌食になったのも記憶に新しい。彼らは何を恐れ、既存のプログラミング言語を使う人々を攻撃し続けるのか。
型理論は先人から積み上げられたすばらしい理論体系だ。きちんと理解できる人は一部のエリートに限られ、こうしたエリート達の努力には本当に頭が下がるばかりだ。しかし、こうしたエリートのやってることは一般の人々からは評価されにくい。今、日本で有名な物理学者は誰か、名前を挙げられる人は居るだろうか。今、世界中の医学者達が力を注いでいるのはどのような研究だろうか。普通の人は答えられない。
彼らは努力している分、人から評価されることを求める。しかし、努力=評価となるほど世の中甘くはない。残念ながら、頭の良さ=評価ともならない。そのため、彼らは普通の言語を使う人々はいかに劣っており、自分たちが時間を費やしてきたことがいかに価値のあることかをアピールするために他者を攻撃する必要が出てくる。そうしなければアイデンティティを保てない。
彼らのやっていることが本当に価値があることならば、そこまで他者を否定しなくとも勝手に支持者が増えていくのではないか。彼らのやっていることが本当に正しいのであれば、静的型付き言語によって成功するプロダクトが幾多も現れ、その効果を自然と証明できるのではないか。彼らは、そうなっていない現状に焦りを感じ、恐れている。本当は静的型付き言語は実用的ではなく、自分たちの苦労は報われないのではないかと。
理論が美しいとか、エリートであるとか、そういうことだけでは必ずしも優遇されないのが社会の実情だ。静的型付き言語を使って、レガシーな命令型言語や動的型付き言語の欠点を暴露するような成果をどんどん出せばよい。
最後に、静的型付き言語の人々が忌み嫌う、動的型付き言語のコミュニティの言葉を送ることでこのエントリを締めくくろう。静的型付き言語で、正しいプログラムからなるきちんとした社会を実現してやろうじゃないか。
Shut the fuck up andwrite some code.
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
(追記)
これ、書いたのperlcodesample本人だろ
自演乙。
冤罪とか問題になってるご時世なので念のため言っておくけど、僕は@perlcodesample さんではない。上で下品な言い方をしたのでそこを批判されるのは当然だと思うけれど、言いたかったのは、ソフトウェアの世界は形式手法や型理論が全てではないわけだし、CS的な裏付けのないコード書いてる相手に対して一方的に自分の方が上の立場だと思わずに、もっと相手のやっていることを尊重して話をした方がいいってこと。
第1章 有限オートマトンD.Perrin:橋口攻三郎1. 序論2. 有限オートマトンと認識可能集合3. 有理表現4. Kleeneの定理5. 星の高さ6. 星自由集合7. 特殊なオートマトン8. 数の認識可能集合第2章 文脈自由言語J.Berstel and L.Boasson:富田 悦次1. 序論2.言語2.1記法と例2.2 Hotz 群2.3曖昧性と超越性3. 反復3.1 反復補題3.2 交換補題3.3 退化4. 非生成元の探求4.1 準備4.2 生成元4.3 非生成元と代入4.4 非生成元と決定性4.5 主錐の共通部分5. 文脈自由群5.1 文脈自由群5.2 Cayleyグラフ5.3 終端第3章形式言語とべき級数A.Salomaa:河原 康雄1. 序論2. 準備3. 書換え系と文法4. Post正準系5. Markov系6. 並列書換え系7. 射と言語8. 有理べき級数9.代数的べき級数10. べき級数の応用第4章無限の対象上のオートマトンW.Thomas:山崎 秀記序論Ⅰ部無限語上のオートマトン記法1. Buchiオートマトン2. 合同関係と補集合演算3. 列計算4. 決定性とMcNaughtonの定理5. 受理条件とBorelクラス6.スター自由ω言語と時制論理7. 文脈自由ω言語Ⅱ部無限木上のオートマトン記法8. 木オートマトン9. 空問題と正則木10. 補集合演算とゲームの決定性11. 木の単項理論と決定問題12. Rabin認識可能な集合の分類12.1 制限された単項2階論理12.2 Rabin木オートマトンにおける制限12.3不動点計算第5章グラフ書換え:代数的・論理的アプローチB.Courcelle:會澤 邦夫1. 序論2.論理言語とグラフの性質2.1 単純有向グラフの類S2.2グラフの類D(A)2.3グラフの性質2.4 1階のグラフの性質2.5 単項2階のグラフの性質2.6 2階のグラフの性質2.7定理3.グラフ演算とグラフの表現3.1 源点付きグラフ3.2 源点付き超グラフ3.3 超グラフ上の演算3.4 超グラフの幅3.5 導来演算3.6 超辺置換3.7 圏における書換え規則3.8 超グラフ書換え規則4. 超グラフの文脈自由集合4.1 超辺置換文法4.2HR文法に伴う正規木文法4.3 超グラフの等式集合4.4 超グラフの文脈自由集合の性質5. 超グラフの文脈自由集合の論理的性質5.1 述語の帰納的集合5.2論理構造としての超グラフ5.3 有限超グラフの可認識集合6. 禁止小グラフで定義される有限グラフの集合6.1 小グラフ包含6.2 木幅と木分解6.3比較図7.計算量の問題8.無限超グラフ8.1無限超グラフ表現8.2無限超グラフの単項性質8.3 超グラフにおける等式系8.4 関手の初期不動点8.5 超グラフにおける等式系の初期解8.6 等式的超グラフの単項性質第6章 書換え系N.Dershowitz and J.-P.Jouannaud:稲垣 康善,直井 徹1. 序論2. 構文論2.1 項2.2 等式2.3 書換え規則2.4 決定手続き2.5 書換え系の拡張3.意味論3.1代数3.2 始代数3.3計算可能代数4. Church-Rosser性4.1 合流性4.2調和性5. 停止性5.1 簡約順序5.2 単純化順序5.3 経路順序5.4 書換え系の組合せ6. 充足可能性6.1 構文論的単一化6.2意味論的単一化6.3ナローイング7.危険対7.1 項書換え7.2直交書換え系7.3 類書換え7.4 順序付き書換え7.5 既約な書換え系8. 完備化8.1抽象完備化8.2 公平性8.3 完備化の拡張8.4 順序付き書換え8.5機能的定理証明8.6 1階述語論理の定理証明9. 書換え概念の拡張9.1 順序ソート書換え9.2 条件付き書換え9.3 優先度付き書換え9.4グラフ書換え第7章関数型プログラミングとラムダ計算H.P.Barendregt:横内 寛文1.関数型計算モデル2.ラムダ計算2.1 変換2.2計算可能関数の表現3.意味論3.1操作的意味論:簡約と戦略3.2 表示的意味論:ラムダモデル4.言語の拡張4.1デルタ規則4.2 型5.組合せ子論理と実装手法5.1組合せ子論理5.2 実装の問題第8章プログラミング言語における型理論J.C.Mitchell:林 晋1. 序論1.1 概論1.2純粋および応用ラムダ計算2.関数の型をもつ型付きラムダ計算2.1 型2.2 項2.3証明系2.4意味論と健全性2.5再帰的関数論的モデル2.6 領域理論的モデル2.7 カルテシアン閉圏2.8 Kripkeラムダモデル3.論理的関係3.1 はじめに3.2作用的構造上の論理的関係3.3論理的部分関数と論理的同値関係3.4証明論的応用3.5表現独立性3.6論理的関係の変種4. 多相型入門4.1引数としての型4.2 可述的な多相的計算系4.3 非可述的な多相型4.4データ抽象と存在型4.5型推論入門4.6 型変数をもつλ→の型推論4.7 多相的宣言の型推論4.8 他の型概念第9章帰納的な関数型プログラム図式B.Courcelle:深澤 良彰1. 序論2. 準備としての例3. 基本的な定義3.1 多ソート代数3.2帰納的な関数型プログラム図式3.3同値な図式4. 離散的解釈における操作的意味論4.1 部分関数と平板な半順序4.2 離散的解釈4.3 書換えによる評価4.4意味写像4.5計算規則5.連続的解釈における操作的意味論5.1連続代数としての解釈5.2 有限の極大要素と停止した計算6.解釈のクラス6.1 汎用の解釈6.2 代表解釈6.3解釈の方程式的クラス6.4解釈の代数的クラス7. 最小不動点意味論7.1 最小で唯一の解を得る不動点理論7.2 Scottの帰納原理7.3 Kleeneの列と打切り帰納法8.プログラム図式の変換8.1プログラム図式における同値性の推論8.2 畳込み,展開,書換え8.3 制限された畳込み展開9.研究の歴史,他の形式のプログラム図式,文献ガイド9.1 流れ図9.2 固定された条件をもつ一様な帰納的関数型プログラム図式9.3 多様な帰納的関数型プログラム図式9.4代数的理論9.5プログラムの生成と検証に対する応用第10章論理プログラミングK.R.Apt:筧 捷彦1. 序論1.1 背景1.2論文の構成2. 構文と証明論2.1 1階言語2.2論理プログラム2.3 代入2.4 単一化子2.5計算過程―SLD溶融2.6 例2.7 SLD導出の特性2.8 反駁手続き―SLD木3.意味論3.1 1階論理の意味論3.2 SLD溶融の安全性3.3 Herbrand模型3.4 直接帰結演算子3.5演算子とその不動点3.6 最小Herbrand模型3.7 SLD溶融の完全性3.8 正解代入3.9 SLD溶融の強安全性3.10手続き的解釈と宣言的解釈4.計算力4.1計算力と定義力4.2ULの枚挙可能性4.3帰納的関数4.4帰納的関数の計算力4.5 TFの閉包順序数5. 否定情報5.1 非単調推論5.2 閉世界仮説5.3 失敗即否定規則5.4 有限的失敗の特徴付け5.5プログラムの完備化5.6 完備化の模型5.7 失敗即否定規則の安全性5.8 失敗即否定規則の完全性5.9 等号公理と恒等5.10 まとめ6. 一般目標6.1 SLDNF-溶融6.2 SLDNF-導出の安全性6.3 はまり6.4 SLDNF-溶融の限定的な完全性6.5 許容性7. 層状プログラム7.1 準備7.2 層別7.3 非単調演算子とその不動点7.4 層状プログラムの意味論7.5 完全模型意味論8. 関連事項8.1 一般プログラム8.2他の方法8.3演繹的データベース8.4PROLOG8.5論理プログラミングと関数プログラミングの統合8.6人工知能への応用第11章 表示的意味論P.D.Mosses:山田 眞市1. 序論2. 構文論2.1 具象構文論2.2抽象構文2.3 文脈依存構文3.意味論3.1 表示的意味論3.2意味関数3.3記法の慣例4. 領域4.1 領域の構造4.2 領域の記法4.3記法上の約束事5.意味の記述法5.1リテラル5.2 式5.3 定数宣言5.4関数の抽象5.5変数宣言5.6 文5.7手続き抽象5.8プログラム5.9 非決定性5.10 並行性6. 文献ノート6.1 発展6.2 解説6.3 変形第12章意味領域C.A.Gunter and D.S.Scott:山田 眞市1. 序論2.関数の帰納的定義2.1 cpoと不動点定理2.2不動点定理の応用2.3 一様性3. エフェクティブに表現した領域3.1 正規部分posetと射影3.2 エフェクティブに表現した領域4.作用素と関数4.1 積4.2 Churchのラムダ記法4.3 破砕積4.4 和と引上げ4.5 同形と閉包性5. べき領域5.1 直観的説明5.2 形式的定義5.3普遍性と閉包性6. 双有限領域6.1 Poltkin順序6.2 閉包性7. 領域の帰納的定義7.1 閉包を使う領域方程式の解法7.2 無型ラムダ記法のモデル7.3 射影を使う領域方程式の解法7.4 双有限領域上の作用素の表現第13章代数的仕様M.Wirsing:稲垣 康善,坂部 俊樹1. 序論2.抽象データ型2.1シグニチャと項2.2代数と計算構造2.3抽象データ型2.4抽象データ型の計算可能性3.代数的仕様3.1論理式と理論3.2代数的仕様とその意味論3.3 他の意味論的理解4. 単純仕様4.1 束と存在定理4.2 単純仕様の表現能力5.隠蔽関数と構成子をもつ仕様5.1 構文と意味論5.2 束と存在定理5.3隠蔽記号と構成子をもつ仕様の表現能力5.4階層的仕様6.構造化仕様6.1構造化仕様の意味論6.2隠蔽関数のない構造化仕様6.3 構成演算6.4拡張6.5 観測的抽象化6.6構造化仕様の代数7.パラメータ化仕様7.1 型付きラムダ計算によるアプローチ7.2 プッシュアウトアプローチ8. 実現8.1 詳細化による実現8.2 他の実現概念8.3パラメータ化された構成子実現と抽象化子実現8.4 実行可能仕様9.仕様記述言語9.1 CLEAR9.2 OBJ29.3 ASL9.4 Larch9.5 その他の仕様記述言語第14章プログラムの論理D.Kozen and J.Tiuryn:西村 泰一,近藤 通朗1. 序論1.1 状態,入出力関係,軌跡1.2 外的論理,内的論理1.3歴史ノート2.命題動的論理2.1 基本的定義2.2 PDLに対する演繹体系2.3 基本的性質2.4 有限モデル特性2.5演繹的完全性2.6 PDLの充足可能性問題の計算量2.7 PDLの変形種3. 1階の動的論理3.1 構文論3.2意味論3.3計算量3.4演繹体系3.5表現力3.6操作的vs.公理的意味論3.7 他のプログラミング言語4. 他のアプローチ4.1 超準動的論理4.2アルゴリズム的論理4.3 有効的定義の論理4.4 時制論理第15章プログラム証明のための手法と論理P.Cousot:細野 千春,富田 康治1. 序論1.1 Hoareの萌芽的な論文の解説1.2 C.A.R.HoareによるHoare論理のその後の研究1.3プログラムに関する推論を行うための手法に関するC.A.R.Hoareによるその後の研究1.4 Hoare論理の概観1.5 要約1.6 この概観を読むためのヒント2.論理的,集合論的,順序論的記法3.プログラミング言語の構文論と意味論3.1 構文論3.2操作的意味論3.3 関係的意味論4. 命令の部分正当性5. Floyd-Naurの部分正当性証明手法とその同値な変形5.1 Floyd-Naurの手法による部分正当性の証明の例5.2 段階的なFloyd-Naurの部分正当性証明手法5.3 合成的なFloyd-Naurの部分正当性証明手法5.4 Floyd-Naurの部分正当性の段階的な証明と合成的な証明の同値性5.5 Floyd-Naurの部分正当性証明手法の変形6.ライブネスの証明手法6.1 実行トレース6.2 全正当性6.3 整礎関係,整列集合,順序数6.4 Floydの整礎集合法による停止性の証明6.5ライブネス6.6 Floydの全正当性の証明手法からライブネスへの一般化6.7 Burstallの全正当性証明手法とその一般化7. Hoare論理7.1意味論的な観点から見たHoare論理7.2 構文論的な観点から見たHoare論理7.3 Hoare論理の意味論7.4 構文論と意味論の間の関係:Hoare論理の健全性と完全性の問題8. Hoare論理の補足8.1データ構造8.2手続き8.3 未定義8.4 別名と副作用8.5ブロック構造の局所変数8.6goto文8.7 (副作用のある)関数と式8.8 コルーチン8.9 並行プログラム8.10 全正当性8.11プログラム検証の例8.12プログラムに対して1階論理を拡張した他の論理第16章 様相論理と時間論理E.A.Emerson:志村 立矢1. 序論2.時間論理の分類2.1命題論理 対 1階述語論理2.2 大域的と合成的2.3 分岐的 対線形2.4 時点と時区間2.5 離散 対連続2.6過去時制 対未来時制3.線形時間論理の技術的基礎3.1タイムライン3.2命題線形時間論理3.3 1階の線形時間論理4. 分岐的時間論理の技術的基礎4.1 樹状構造4.2命題分岐的時間論理4.3 1階の分岐的時間論理5. 並行計算:その基礎5.1 非決定性と公平性による並列性のモデル化5.2 並列計算の抽象モデル5.3 並列計算の具体的なモデル5.4 並列計算の枠組みと時間論理の結び付き6.理論的見地からの時間論理6.1表現可能性6.2命題時間論理の決定手続き6.3演繹体系6.4モデル性の判定6.5無限の対象の上のオートマトン7.時間論理のプログラムの検証への応用7.1 並行プログラムの正当性に関する性質7.2 並行プログラムの検証:証明論的方法7.3時間論理による仕様からの並行プログラムの機械合成7.4 有限状態並行システムの自動検証8.計算機科学における他の様相論理と時間論理8.1古典様相論理8.2命題動的論理8.3確率論理8.4不動点論理8.5 知識第17章 関係データベース理論の構成要素P.C.Kanellakis:鈴木 晋1. 序論1.1 動機と歴史1.2 内容についての案内2. 関係データモデル2.1 関係代数と関係従属性2.2 なぜ関係代数か2.3 なぜ関係従属性か2.4 超グラフとデータベーススキーマの構文について2.5論理とデータベースの意味について3. 従属性とデータベーススキーマ設計3.1 従属性の分類3.2データベーススキーマ設計4. 問合わせデータベース論理プログラム4.1 問合わせの分類4.2データベース論理プログラム4.3 問合わせ言語と複合オブジェクトデータモデル5. 議論:関係データベース理論のその他の話題5.1 不完全情報の問題5.2データベース更新の問題6. 結論第18章 分散計算:モデルと手法L.Lamport and N.Lynch:山下 雅史1. 分散計算とは何か2. 分散システムのモデル2.1メッセージ伝達モデル2.2 それ以外のモデル2.3 基礎的概念3. 分散アルゴリズムの理解3.1挙動の集合としてのシステム3.2安全性と活性3.3システムの記述3.4 主張に基づく理解3.5アルゴリズムの導出3.6仕様記述4.典型的な分散アルゴリズム4.1 共有変数アルゴリズム4.2 分散合意4.3ネットワークアルゴリズム4.4データベースにおける並行性制御第19章 並行プロセスの操作的および代数的意味論R.Milner:稲垣 康善,結縁 祥治1. 序論2. 基本言語2.1 構文および記法2.2操作的意味論2.3 導出木と遷移グラフ2.4ソート2.5フローグラフ2.6拡張言語2.7 その他の動作式の構成3.プロセスの強合同関係3.1 議論3.2 強双模倣関係3.3 等式による強合同関係の性質3.4 強合同関係における置換え可能性3.5 強等価関係上での不動点の唯一性4.プロセスの観測合同関係4.1 観測等価性4.2 双模倣関係4.3 観測合同関係4.4プロセス等価性上での不動点の唯一性4.5 等式規則の完全性4.6プロセスの等価性に対するその他の概念5. 双模倣等価関係の解析5.1等価性の階層構造5.2階層構造の論理的特性化6. 合流性をもつプロセス6.1 決定性6.2 合流性6.3 合流性を保存する構成子7. 関連する重要な文献