Skip to content

proof(coq): Phase 1 scaffold — Lemma B step_output_context_eq stated#121

Merged
hyperpolymath merged 1 commit into
mainfrom
proof-debt/ephapax-preservation-phase1-lemmaB
May 21, 2026
Merged

proof(coq): Phase 1 scaffold — Lemma B step_output_context_eq stated#121
hyperpolymath merged 1 commit into
mainfrom
proof-debt/ephapax-preservation-phase1-lemmaB

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

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.

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 hyperpolymath merged commit 667821e into main May 21, 2026
0 of 8 checks passed
@hyperpolymath hyperpolymath deleted the proof-debt/ephapax-preservation-phase1-lemmaB branch May 21, 2026 06:47
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant