Commit 47c8092
proof(L1): close ADMIT 2 — remove false region_liveness lemma (4→3 admits) + v2 proof audit (#322)
## Summary
A ground-truth audit of every v2 proof in the repo (rebuilt `coqc
8.18.0`, `Print Assumptions` on every keystone — not doc-trust), plus
one real closure: the **provably-false `region_liveness_at_split_l1_gen`
lemma is removed** and its consumers re-routed through the true graded
lemma. **Outer `Admitted.` count: 4 → 3.**
Everything here is mechanically verified — only proofs that actually
compile + pass `Print Assumptions` are claimed.
## What ran (provers installed in-session)
| Prover | Status |
|---|---|
| **Coq 8.18.0** (apt) | ✅ all 15 `formal/*.v` compile (exit 0); `Print
Assumptions` audited |
| **Idris2** | ❌ not installable here — no apt pkg, GitHub source clone
403-blocked by network policy. ABI proofs (E1–E6) **not run** |
| **Rust v2 grammar phase tests** | ✅ phases d/e/f/gh/i/j + `wasm_e2e`
all pass (with the optional `typed-wasm-verify` git dep — itself
403-blocked — disabled; not part of this diff) |
## The closure (the substantive change)
`region_liveness_at_split_l1_gen` asserted `In rv R -> In rv R'`
**unconditionally**, which is false in the `T_Region_Active_L1` `r = rv`
sub-case (witness `ERegion rv (EI32 5)` at `R = [rv]`). It sat
`Admitted` and was consumed at **13 sites** in `subst_typing_gen_l1_m`.
This PR realises the *honest closure* the source's own 2026-06-16
call-site audit prescribed:
- Adds an honest `val_region_no_exit v e` premise to
`subst_typing_gen_l1_m`, threaded through `subst_typing_gen_l1` /
`subst_preserves_typing_l1` and the L2 β-case lemmas
`preservation_l2_app_eff_beta_linear` / `_l1`.
- The 13 sites now discharge region liveness through the **true, `Qed`**
`region_liveness_no_exit_l1_gen` (proved from `cnt`-monotonicity).
- **Deletes** the false lemma + its wrapper. The false general statement
remains pinned as a negative result alongside
`Counterexample_RegionShrink.v`.
### Verified outcome (`Print Assumptions`)
- `formal/` outer `Admitted.`: **4 → 3** — only the sacrosanct legacy
`Semantics.v preservation`, `step_pop_disjoint_from_type_l1`, and the
`preservation_l1` capstone remain.
- The substitution chain **and both L2 β-case lemmas** flip from
*"depends on a false axiom"* to **"Closed under the global context"**
(axiom-free, now carrying the honest premise).
- `preservation_l3` stays unconditionally axiom-free.
- `scripts/status-gate.sh --proofs` passes (the marker was stale at `5`;
corrected to ground-truth `3`).
## Files
- `formal/Semantics_L1.v` — premise + 13-site rethread; false lemma
removed; audit comments updated.
- `formal/TypingL2.v` — premise threaded through the two β-case lemmas.
- `PROOF-NEEDS.md` — §4 marker `5 → 3`, per-file table + parenthetical
reconciled to `coqc` ground truth.
## Scope / fences
This is the sanctioned per-layer reformulation (PROOF-NEEDS.md §5.4 /
the in-source ADMIT-2 audit), **not** patching the legacy judgment. The
remaining `step_pop` (eliminator-fork research) and `preservation_l1`
(capstone, gated on `step_pop`) are left fenced, with the residual
region-liveness-through-reduction obligation now sitting *explicitly* as
the `val_region_no_exit` premise `preservation_l1` will owe.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01AGFqWzByua4dKbA7W7oVsL
---
_Generated by [Claude
Code](https://claude.ai/code/session_01AGFqWzByua4dKbA7W7oVsL)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 2b6cab7 commit 47c8092
3 files changed
Lines changed: 138 additions & 171 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
241 | | - | |
| 241 | + | |
242 | 242 | | |
243 | 243 | | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
252 | 267 | | |
253 | 268 | | |
254 | 269 | | |
| |||
260 | 275 | | |
261 | 276 | | |
262 | 277 | | |
263 | | - | |
| 278 | + | |
264 | 279 | | |
265 | 280 | | |
266 | 281 | | |
| |||
0 commit comments