proof(coq): Phase 1 scaffold — Lemma B step_output_context_eq stated#121
Merged
hyperpolymath merged 1 commit intoMay 21, 2026
Merged
Conversation
Adds the statement + induction-on-step skeleton for Lemma B
(`step_output_context_eq`) per ROADMAP §"Preservation closure plan"
Phase 1. The lemma is the linearity-tracking analogue of
[type_determinacy] — it says any two typings of [e] and [e']
starting from the same input context [G] end at the same output
context, when [e] -->> [e'].
Per-case discharges (`all: admit.`) defer to a focused
session/sub-PR. The scaffold:
- Pins the canonical lemma name + statement so per-case proofs
can be written in parallel by multiple sessions/agents.
- Documents the 15 atomic / 11 congruence case structure
inline (matching the ROADMAP plan).
- Compiles cleanly under [Admitted] alongside the existing
[preservation Admitted].
An earlier attempt with `all: try (inversion Htype_e; inversion
Htype_e'; subst; auto)` timed out the build (>180s — inversion-of-
typing has many matching rules; doing it on both Htype_e and
Htype_e' creates a combinatorial explosion that `auto` then walks).
The per-case manual proofs will use targeted inversion + the
existing [type_determinacy] / [subst_preserves_typing] /
[ctx_eq_from_flags] machinery instead.
Refs ROADMAP §"Preservation closure plan", standards#124.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
May 21, 2026
…122) Closure sweep after PR #116 took preservation from 22 → 12 open goals and PR #121 landed Phase 1 scaffold. Updates the preservation-count claims across docs to reflect 12, and adds a CHANGELOG entry summarising the full 2026-05-20 → 2026-05-21 reduction campaign. ## Files updated | File | What changed | |---|---| | `README.adoc` | Coq formal-foundations paragraph; reduction chain now lists all 8 PRs through #121; clear pointer to ROADMAP closure plan | | `ROADMAP.adoc` | Formal-proof status table row (`12 open goals`); v0.1 blocker entry; v1.0 status; 97.6% → 98.7% reduction figure | | `EXPLAINME.adoc` | Coq theorem table; reduction-story bullets extended through #114, #116, #121 | | `CHANGELOG.md` | New "Proof state" + "Documentation" sections under `[Unreleased]` tracking the full PR chain (#92, #102, #104, #106, #114, #115, #116, #117, #121) + the Idris2 totality campaign (#89–#100) + doc/wiki refresh (#113 + wiki) | ## Companion wiki update `Home.md`, `Proof-status.md`, `What-can-go-wrong.md` updated in the wiki repo with the same 22 → 12 figures + extended reduction story. Pushed separately to wiki master. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the statement + induction-on-step skeleton for Lemma B (
step_output_context_eq) per ROADMAP §"Preservation closure plan" Phase 1. The lemma is the linearity-tracking analogue of [type_determinacy] — it says any two typings of [e] and [e'] starting from the same input context [G] end at the same output context, when [e] -->> [e'].Per-case discharges (
all: admit.) defer to a focused session/sub-PR. The scaffold:An earlier attempt with
all: try (inversion Htype_e; inversion Htype_e'; subst; auto)timed out the build (>180s — inversion-of- typing has many matching rules; doing it on both Htype_e and Htype_e' creates a combinatorial explosion thatautothen walks). The per-case manual proofs will use targeted inversion + the existing [type_determinacy] / [subst_preserves_typing] / [ctx_eq_from_flags] machinery instead.Refs ROADMAP §"Preservation closure plan", standards#124.