{
  "schema_version": 1,
  "id": "evt-1972-lcf",
  "slug": "lcf-proof-checker",
  "title": {
    "en": "Stanford LCF demonstrates interactive machine checking for Scott's Logic for Computable Functions",
    "zh-CN": "Stanford LCF 展示 Scott 可计算函数逻辑的交互式机器证明检查"
  },
  "dates": {
    "event": "1972-01-01",
    "first_public_claim": "1972-01-01",
    "paper_release": "1972-01-01",
    "artifact_release": null,
    "independently_verified": null,
    "added_to_chronicle": "2026-09-15",
    "last_updated": "2026-09-15"
  },
  "event_types": [
    "formalization",
    "infrastructure",
    "system"
  ],
  "significance": {
    "tier": "H2",
    "rationale": {
      "en": "Stanford LCF implemented Dana Scott's Logic for Computable Functions as an interactive proof checker with subgoaling and simplification, establishing practical experience that directly motivated the later Edinburgh LCF architecture.",
      "zh-CN": "Stanford LCF 将 Dana Scott 的 Logic for Computable Functions 实现为带有子目标分解与化简机制的交互式证明检查器，为后来 Edinburgh LCF 的架构创新提供了直接实践基础。"
    }
  },
  "mathematical_novelty": {
    "type": "tooling_only"
  },
  "interfaces": [
    "formal",
    "symbolic"
  ],
  "claim": {
    "en": "Robin Milner's January 1972 publication described an implemented proof checker for Scott's Logic for Computable Functions and showed formal reasoning about recursively defined programs; later historical accounts identify this system as Stanford LCF, developed at Stanford in 1971–1972 with Richard Weyhrauch and Malcolm Newey.",
    "zh-CN": "Robin Milner 于 1972 年 1 月发表的论文描述了 Scott 的 Logic for Computable Functions 的已实现证明检查器，并展示了对递归定义程序的形式推理；后来的历史资料将这一系统识别为 Stanford LCF，由 Milner、Richard Weyhrauch 与 Malcolm Newey 于 1971–1972 年在 Stanford 开发。"
  },
  "summary": {
    "en": "Stanford LCF let users state proof goals, decompose them into subgoals and apply simplification and inference commands while the machine checked the resulting formal derivations. It predated the extensible ML metalanguage, abstract theorem type and programmable tactics that characterized Edinburgh LCF.",
    "zh-CN": "Stanford LCF 允许用户提出证明目标、分解子目标，并通过化简与推理命令构造由机器检查的形式推导。它早于 Edinburgh LCF 中可扩展的 ML 元语言、抽象 theorem 类型与可编程 tactics。"
  },
  "why_it_matters": {
    "en": "The system made interactive machine-assisted proof concrete and exposed limitations in memory use and fixed proof commands. Those limitations became design targets for Edinburgh LCF, which in turn shaped the trusted-kernel architecture of many later proof assistants.",
    "zh-CN": "该系统把交互式机器辅助证明落实为可运行工具，同时暴露了证明对象占用内存以及证明命令固定等限制；这些问题随后成为 Edinburgh LCF 的直接设计目标，并间接塑造大量后续证明助手的可信内核架构。"
  },
  "ai_role": {
    "level": "computation_only",
    "description": {
      "en": "The machine checked formal derivations and provided subgoaling and simplification support, while users supplied substantial proof direction.",
      "zh-CN": "机器负责检查形式推导并提供子目标分解与化简支持，证明方向仍主要由用户给出。"
    }
  },
  "human_contribution": {
    "description": {
      "en": "Robin Milner, Richard Weyhrauch, Malcolm Newey and collaborators developed the Stanford LCF proof-checking system and its applications to reasoning about programs.",
      "zh-CN": "Robin Milner、Richard Weyhrauch、Malcolm Newey 与合作者开发 Stanford LCF 证明检查系统及其程序推理应用。"
    }
  },
  "systems": [
    "stanford-lcf",
    "lcf"
  ],
  "organizations": [
    "stanford-university"
  ],
  "people": [
    "robin-milner",
    "richard-weyhrauch",
    "malcolm-newey"
  ],
  "problems": [
    "program-verification"
  ],
  "methods": [
    "proof-checking",
    "interactive-theorem-proving",
    "subgoaling",
    "simplification",
    "typed-lambda-calculus"
  ],
  "verification": {
    "evidence_level": "E2",
    "status": "paper_released",
    "formal_assurance": "none",
    "history": [
      {
        "date": "1972-01-01",
        "status": "paper_released",
        "evidence_level": "E2",
        "note": {
          "en": "The ACM publication documents the implemented proof checker, while Mike Gordon's later historical account distinguishes Stanford LCF from its Edinburgh successor and describes the fixed-command and proof-storage limitations that motivated the redesign.",
          "zh-CN": "ACM 论文记录了已实现的证明检查器；Mike Gordon 后来的历史回顾则区分 Stanford LCF 与其 Edinburgh 后继系统，并说明固定证明命令与保存完整证明带来的限制如何推动后续重构。"
        }
      }
    ]
  },
  "sources": [
    {
      "id": "acm-stanford-lcf-1972",
      "tier": "S1",
      "type": "paper",
      "title": "Implementation and Applications of Scott's Logic for Computable Functions",
      "url": "https://doi.org/10.1145/800235.807067",
      "primary": true,
      "published_date": "1972-01-01",
      "accessed_at": "2026-09-15"
    },
    {
      "id": "gordon-lcf-hol-history-2000",
      "tier": "S2",
      "type": "paper",
      "title": "From LCF to HOL: A Short History",
      "url": "https://www.cl.cam.ac.uk/archive/mjcg/papers/HolHistory.pdf",
      "primary": false,
      "published_date": null,
      "accessed_at": "2026-09-15"
    }
  ],
  "artifacts": [],
  "relationships": {
    "predecessors": [],
    "successors": [
      "evt-1979-edinburgh-lcf"
    ],
    "related": []
  },
  "timeline": {
    "featured": true,
    "significance": "primary"
  },
  "tags": [
    "stanford-lcf",
    "lcf",
    "proof-assistant",
    "proof-checking",
    "formal-methods"
  ],
  "editorial": {
    "created_at": "2026-09-15",
    "last_reviewed": "2026-09-15",
    "reviewers": [
      "Charlie-Wang-03"
    ]
  },
  "corrections": [
    {
      "date": "2026-09-15",
      "summary": {
        "en": "The record was narrowed from a generic LCF/trusted-kernel account to Stanford LCF. ML, the abstract theorem type and programmable tactics belong to the later Edinburgh LCF lineage rather than the 1972 Stanford system.",
        "zh-CN": "本记录由笼统的 LCF / trusted-kernel 叙述校准为 Stanford LCF；ML、抽象 theorem 类型与可编程 tactics 属于后来的 Edinburgh LCF 谱系，而非 1972 年 Stanford 系统。"
      },
      "source_ids": [
        "acm-stanford-lcf-1972",
        "gordon-lcf-hol-history-2000"
      ]
    }
  ]
}
