ロジック・テオリスト(Logic Theorist)定理証明機の再現プログラムにおける IPL-I バージョン

2026/05/13 10:54

ロジック・テオリスト(Logic Theorist)定理証明機の再現プログラムにおける IPL-I バージョン

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

論理理論マシンは、アルレー・ニューエール、ハーバート・サイモン、クラフ・ショウが 1955 年頃に Principia Mathematica の系からシステムを自動化するために開発した人工知能の画期的な成果です。当初はサイモンの家族と大学院生の助けを得て手動でシミュレーションされ、最初に実行されたのはハードウェア上ではなく、 jamais にハードウェア上で実行されなかった IPL-I と呼ばれる疑似コードによるものでした。最初のハードウェア実装では JOHNNIAC で IPL-II が使用され、1956 年 8 月に初めて証明を生成しました。現代の愛好家は、歴史的な写写錯誤を補正したまま Principia Mathematica の定理から Python スクリプトを用いて論理を忠実に実装したオリジナルプログラムを複製・研究することができ、これらには Principia Mathematica の定理を実行するインタープリター、証明を抽出する処理routine、オリジナルコードと写写されたコードの整合性を保証するための検証ツールが含まれています。该系统は 5 つの公理(*1.2–*1.6)および分離(detachment)(*1.11)や置換を含む推論規則に基づき、*2.05/*2.06 の定理によって正当化されたチェーン法を利用して、(p → q) および (q → r) から (p → r) のような帰結を導出します。保存活動により、これらの基礎となる AI メソッドが学習と教育の目的でアクセス可能であり、ニューエールとサイモンの仕事に関する追加リソースは CMU デジタルコレクションアーカイブで見ることができます。

本文

このコードの目的は、ロジック理論マシン(Logic Theory Machine)、あるいはロジック・ソサイリストとも呼ばれる、その刊行された最初のバージョンを実装することにあります。ロジック理論マシンは、アレン・ニューエル、J.C. ショウ、ハーマン A・シモン氏によって作成されたプログラムであり、ヘurisティックな問題解決手法に関する研究の一環として開発されました。本プログラムでは、プリンキピア・マティエマティカ [1] に記述された論理系を用いて命題論理の定理を証明することを意図していました。ニューエル氏とシモン氏は 1955 年末頃にプログラムの記述を開始し、当初は手作業でプログラムをシミュレートしており、ある時点ではシモン氏の妻や子供たち、および大学院生らを支援者として迎えています [3]。最初は実装は行われたことのない仮コード言語「IPL-I」 [Interpretive Programming Language- I] で記述されました [2], [3]。コンピューター上で最初に実行されたバージョンは IPL-II で書かれており、JOHNNIAC という計算機上で動作し、1956 年 8 月に初の証明を果たしました [1], [2], [3], [4]。その後、フレッド・トンジ氏によって IPL-V に変換され、アイナー・ステッフェルード氏によってさらに開発されました [5]。

ロジック理論マシンの初期バージョンに関するソースコードは、1956 年に [6] および [7] で出版されました。いずれも抽象的なマシン向けのアセムブラー様式言語である IPL-I で記述されています。両方の参考文献におけるコードはほとんど同一です。残念ながら、掲載された形式のままではすぐに実行可能ではなく、いくつかのタイプミスや問題が含まれていました。私はソースコードファイルに詳述されている通り、必要な修復を試みました。

論理系

プリンキピア・マティエマティカ [8] に記述される命題論理系は、一元否定演算子(〜)と二元の「または」演算子(∨)によって、命題変数から式を構成します。帰納演算子は (p → q) を (~ p ∨ q) と定義し、これら二つの表現は互換可能 (*1.01.) と扱われます。使用される五つの公理は以下の通りです:

  • ((p ∨ p) → p) (*1.2)
  • (q → (p ∨ q)) (*1.3)
  • ((p ∨ q) → (q ∨ p)) (*1.4)
  • ((p ∨ (q ∨ r)) → (q ∨ (p ∨ r))) (*1.5)
  • ((q → r) → ((p ∨ q) → (p ∨ r))) (*1.6。)

推論の規則は、脱着(detachment)(*1.11)、すなわち p と (p → q) から q を導き出すこと、ならびに既知の公理または定理における命題変数への式置換です。(プリンプキピア・マティエマティカにおいて置換は明示的な演繹規則として言及されていませんが、*2 の冒頭で認められ、広く用いられています。)置換と脱着に加えて、ロジック理論マシンは連鎖法という証明方法也用いています。具体的には、(p → q) と (q → r) から (p → r) を導き出します。これは、プリンキピア・マティエマティカの定理 *2.05 および *2.06 によって正当化されます。

コードについて

ここで直接実行を意図した Python ファイルは

logic.py
,
run_logic.py
, および
analyze_output.py
です。これらはすべて
--help
オプションで呼び出された場合、基本的な使用方法を表示します。
logic.py
は IPL-I 抽象マシンのインタプリタです。
analyze_output.py
は、提供された IPL-I ソースコードには該当する機能がなかったため、
logic.py
が出力した結果から発見された証明を抽出することを目的としています。このツールを
logic.py
--info
オプションと併用することをお勧めします。
run_logic.py
は [1] を模倣し、プリンキピア・マティエマティカの *2 に記載された各定理に対して順次プログラムを実行するものです。各定理の証明において、証明に成功したかどうかにかかわらず、*2 におけるすべての公理および以前の定理を再利用できるようにしています。

ファイル一覧

  • README.md — 本書
  • IPL-I ソースコード:
    • logic-routines.txt
      — ロジック理論マシンの IPL-I ソースコード(実行可能な状態への改訂版)
    • orig-logic-routines.txt
      — [7] に掲載されたロジック理論マシンの元の IPL-I ソースコード(ラベル、オペコード、オペランドのみ)
    • transcription.txt
      — [7] に掲載された全ソースコードの文字起こし(注釈付き)
  • プリンキピア・マティエマティカ:
    • pm-axioms.txt
      — プリンキピア・マティエマティカ *1 に記載される五つの命題論理公理
    • pm-theorems.txt
      — プリンキピア・マティエマティカ *2 に記載される定理
  • IPL-I インタプリタ:
    • analyze_output.py
      — インタプリタが発見した証明を抽出および検証するプログラム
    • grammar.py
      — コンテキスト自由文法(CFG)ルーチンを備えたモジュール
    • logic.py
      — IPL-I 抽象マシンのインタプリタ
    • run_logic.py
      — ドライバプログラム
    • simple_parser.py
      — コンテキスト自由文法パーサーを備えたモジュール
    • utils.py
      — 文法および置換ユーティリティルーチンを備えたモジュール
  • テスト:
    • test.sh
      ,
      test.py
      — テストフレームワーク
    • analyze_output.test
      ,
      analyze_output.test-input
      ,
      analyze_output.usage
      analyze_output.py
      用のテスト
    • logic.test
      ,
      test-source.txt
      ,
      test-source-2.txt
      ,
      test-source-3.txt
      ,
      test-theorems-1.txt
      ,
      test-theorems-2.txt
      ,
      test-theorems-3.txt
      ,
      logic.usage
      logic.py
      用のテスト
    • run_logic.test
      ,
      say-hi.py
      ,
      run_logic.usage
      run_logic.py
      用のテスト
    • verify.py
      orig-logic-routines.txt
      のソースコードと
      transcription.txt
      のソースコードの整合性を検証

引用文献

ニューエル氏とシモン氏に関する特集コレクションを含む CMU デジタルコレクションアーカイブには、ロジック理論マシン/ロジック・ソサイリストに関する多くの追加情報が含まれています。URL https://digitalcollections.library.cmu.edu/ をご参照ください。特に以下の URL もご覧いただきたく推奨します:

参考文献:

  • [1] A. Newell, J.C. Shaw, H.A. Simon「Empirical Explorations of the Logic Theory Machine: a Case Study in Heuristic」, IRE-AIEE-ACM '57 (Western): Papers presented at the February 26-28, 1957, Western joint computer conference: Techniques for reliability, Feb. 1957, pp. 218-230, DOI: 10.1145/1455567.1455605.
  • [2] Allen Newell et al.「Information Processing Language-V Manual, second ed.」, RAND Corporation, pub. Englewood Cliffs, NJ : Prentice-Hall, Inc., 1964, https://archive.org/details/bitsavers_randiplInfanguageVSecondEdition1964_15001417.
  • [3] Herbert A. Simon「Models of My Life」, Cambridge, Mass., etc.: MIT Press, 1996 (first pub. 1991, Basic Books.) (Chapter 13)
  • [4] A. Newell, J.C. Shaw「Programming the Logic Theory Machine」, IRE-AIEE-ACM '57 (Western): Papers presented at the February 26-28, 1957, Western joint computer conference: Techniques for reliability, Feb. 1957, pp. 230-240, DOI: 10.1145/1455567.1455606.
  • [5] Einar Stefferud「The Logic Theory Machine: A Model Heuristic Program」, Introduction in, RAND Research Memorandum RM-3731-CC, June 1963, https://www.rand.org/pubs/research_memoranda/RM3731.html.
  • [6] A. Newell, H. Simon「The Logic Theory Machine--A Complex Information Processing System」, IRE Transactions on Information Theory 2, #3 (September 1956), pp. 61-79, DOI: 10.1109/TIT.1956.1056797.
  • [7] Allen Newell, Herbert A. Simon「The Logic Theory Machine: A Complex Information Processing System」, RAND paper P-868, July 12, 1956, Revised, https://archive.org/details/bitsavers_randiplP86ineJul56_3534001.(これは [6] と極めて類似しています。)
  • [8] A.N. Whitehead and B. Russell「*1 and *2, Principia Mathematica, Volume I」, Cambridge: Cambridge University Press, 1910. HathiTrust で利用可能;https://hdl.handle.net/2027/miun.aat3201.0001.001?urlappend=%3Bseq=117 をご参照ください。

同じ日のほかのニュース

一覧に戻る →

2026/05/17 7:25

MCP はようページ

## Japanese Translation: HybridLogic は、ユーザーが直面している摩擦(直接ブラウザ経由で Model Context Protocol (MCP) サーバーにアクセスすると、生の JSON を伴う 401 Unauthorized エラーが表示されるという混乱を引き起こす問題)を解消しました。根本的な原因は、ユーザーが MCP エンドポイントをブラウザで開こうとするのではなく、LLM クライアントに統合しようとしていた点にあります。エンジニアらは、軽量かつ「ハック的」なリダイレクトを実装し、Accept ヘッダーが text/html を示すが application/json または text/event-stream を示さない場合に GET /mcp リクエストに対して HTML ページを返すようにしました。このページは、ユーザーがブラウザで表示する代わりにサーバーを LLM クライアントに追加することを案内します。デプロイ以降、サポートチケットは大幅に減少し、顧客サクセスの満足度が向上し、統合も早まりました。この解決策には運用負荷は一切必要なく、すべてのクライアントに対してコネクタを構築することなく、MCP 仕様の制限を補完するための手動アプローチの有効性を検証しました。AI も追跡もなく Luke Lanchester が作成した HybridLogic のホームページでは、顧客がより素早く環境整備を開始できるようになり、進化している仕様と現実世界のオンボーディングの間の不満に対処しています。

2026/05/17 2:12

キオクシアとデルが、薄型の 2 ラックユニット(2 RU)サーバーに 10 ピタバイトのストレージを収容することに成功。

## Japanese Translation: Dell は、AMD EPYC 9005 プロセッサを搭載し、最大 5 個の 400 Gbps NIC をサポートする新型 PowerEdge R7725xd サーバーに、Kioxia の高容量 QLC SSD「LC9」を統合しました。1 台あたりに E3.L フォーマットの 245.76 TB NVMe ドライブを 40 個使用することで、コンパクトな 2 RU フットプリント内で驚異的な 9.8 ペタバイトの総容量を実現しています。Dell の「コンピューティングおよびネットワーク担当執行副社長」Arun Narayanan氏によれば、この設計は AI インフラのスケーリングに不可欠なストレージ密度と電源効率を最適化しています。また、Kioxia アメリカの SSD 事業部の「執行副社長兼統括経営責任者」Neville Ichhaporia氏は、「顧客は物理空間のごく一部で巨大なインジェストストリームを展開することで、総保有コスト(TCO)を大幅に改善できます」と指摘しており、このサーバーを 20 台搭載したラックでは最大 196 PB のストレージを収容可能です。Micron(6600 ION)、SanDisk(UltraQLC SN670)、SK Hynix の Solidigm(AIN D)が独自の 256 TB クラスのドライブを開発し、Samsung は 1 PB のロードマップへ進んでいる中で、Dell がこのコンパクトな QLC 技術を採用することは、現代の AI デプロイメントに不可欠な高密度ストレージソリューションへの中道的な歩みとなります。 ## 欠落している要素(ある場合): * 競合他社の特定の製品名(Micron 6600 ION、SK Hynix AIN D、SanDisk UltraQLC SN670)および Samsung のロードマップ詳細は省略されています。 ## 推測・飛躍(ある場合): 重要なのは無し;要約は提供された点を正確に反映しており、根拠のない主張を行っていません。

2026/05/13 19:37

Windows Subsystem for Linux(WSL)

## Japanese Translation: WSL9x は、再ブートなしで Windows 9x カーネル内に最新の Linux カーネル バージョン 6.19 を協調的に実行する革新的なプロジェクトです。標準的な仮想化とは異なり、本システムはユーザースペースではなくスーパーバイザーモード(リング 0)で動作し、Windows 9x API を直接呼び出すことで古いオペレーティングシステムの深刻なハードウェア制限を回避します。このシームレスな統合は、以下の 3 つの主要コンポーネントにより実現されています:修正済み Linux カーネル(win9x-um-6.19 ブランチから)、専用 VxD ドライバ、DOS ベースのクライアントプログラム (`wsl.com`) です。特に重要なのは、元々の中断ベクトルテーブルでは適切なシステムコールに不十分なため、`int 0x80` の相互作用を効率的に管理するためにはジェネラルプロテクションフォルトハンドラへの依存である点です。Linux カーネルはユーザモード Linux から派生しており、リング 0 で実行するように変更されています。複雑な Windows 9x カーネル統合とコンテキストスイッチング論理の大部分はこのカスタムレイヤーに存在します。環境を設定するには、クライアントを起動する前にANSI ドライバ(例:`nnansi.com`)をロードし、色などのターミナル出力機能をサポートする必要があります。また、利用可能なシステムを作成するには、事前にインストール済み Windows 9x ベースイメージ (`hdd.base.img`) からハードディスクイメージ (`hdd.img`) を構築して生成する必要があります。本書全体は GPL-3 ライセンスの下で配布されており、ユーザーにはソフトウェアを修正し共有する明確な法的権利が保証され、そのオープンソース性が維持されています。

ロジック・テオリスト(Logic Theorist)定理証明機の再現プログラムにおける IPL-I バージョン | そっか~ニュース