Recreation of the 1956 IPL-I version of the Logic Theorist theorem prover

· math · Source ↗

TLDR

  • Python-based IPL-I interpreter resurrects the 1956 Newell-Shaw-Simon Logic Theorist, running the original RAND report pseudocode to prove Principia Mathematica theorems.

Key Takeaways

  • The original IPL-I source (RAND P-868, 1956) was never implemented on hardware; this repo is the first working interpreter for that pseudocode.
  • logic.py implements the IPL-I abstract machine; run_logic.py drives it through all theorems in *2 of Principia Mathematica sequentially, chaining prior results.
  • The prover uses substitution, detachment (1.11), and chaining derived from 2.05/*2.06 – the exact inference rules Newell and Simon specified.
  • Printed source had typos; dmoews corrected and documented all repairs, preserving the original in orig-logic-routines.txt alongside the runnable logic-routines.txt.
  • analyze_output.py is needed to extract proofs post-run because the 1956 IPL-I code itself had no output mechanism for proof traces.

Hacker News Comment Review

  • The sole commenter is the author of a related ArXiv paper on reanimating the Logic Theorist, confirming dmoews contacted them after independently building and running the IPL-I interpreter – two parallel revival efforts converging.

Notable Comments

  • @abrax3141: confirms dmoews built an IPL-I interpreter directly from the 1956 RAND P-868 report and got it running, calling it “LT1”.

Original | Discuss on HN