Commit 8747d89
proof(L3): preservation_l3 capstone — slice 4 (closes L3 wiring) (#196)
## Summary
**L3 wiring slice 4 — capstone.** Per-layer preservation theorem for the
two L3-specific echo-emitting step rules paired with their matching L3
typing rules. Closes the L3 wiring task in `PROOF-NEEDS.md §2`.
## What's new
Three new Qed in `formal/Semantics_L1.v`:
| Lemma | What it proves |
|---|---|
| `preservation_l3_region_active_echo` | `(T_Region_Active_L1_Echo,
S_Region_Exit_Echo)` pair preserves typing at `TEcho T` |
| `preservation_l3_drop_echo` | `(T_Drop_L1_Echo, S_Drop_Echo)` pair
preserves typing at `TEcho T` |
| `preservation_l3` (umbrella) | Conjunction of the two — Qed by `split;
exact …` |
Per-case alignment is **forced by `T_Echo_L1`'s witness-type premise**.
The step rules are universally quantified over `T` (non-deterministic at
the relation level); the typing derivation pins which `T` is in play.
Non-deterministic crossover cases (e.g. legacy `T_Region_Active_L1` + L3
`S_Region_Exit_Echo`) are non-preserving by design — not covered by this
theorem and not well-typed at the umbrella's `TEcho T` output.
## Seam audit (every admit/axiom classified)
The user asked to "make sure that all the seams and gaps are checked and
secure." Two outcomes:
### 1. One avoidable parallel-rule admit closed
`region_shrink_preserves_typing_l1_gen_m`'s `T_Region_L1_Echo` case
admit (was a mirror of a **fully-closed** original) is now Qed-style —
count-monotonicity for the shadowed sub-case, `remove_first` commutation
for the descend sub-case. Same treatment for the descend sub-case of
`T_Region_Active_L1_Echo`. **Net debt: -1 internal admit.**
### 2. Every remaining admit classified in PROOF-NEEDS.md §4
After this PR, the complete admit/axiom inventory of `formal/*.v`:
| Location | Class |
|---|---|
| `Semantics_L1.v:553` (`admit.`) | Pre-existing L1 structural
(T_Region_Active_L1 shadowed) |
| `Semantics_L1.v:621` (`admit.`) | True parallel mirror of `:553` |
| `Semantics_L1.v:653` (`Admitted.`) | Outer marker over `:553` + `:621`
|
| `Semantics_L1.v:1256` (`admit.`) | Pre-existing L1 structural
(T_Region_Active_L1 `r = rv`) |
| `Semantics_L1.v:1276` (`admit.`) | True parallel mirror of `:1256` |
| `Semantics_L1.v:1290` (`Admitted.`) | Outer marker over `:1256` +
`:1276` |
| `Semantics_L1.v:1694` (`admit.`) | Pre-existing — `preservation_l1`
lambda-rigidity gap |
| `Semantics_L1.v:1695` (`Admitted.`) | Outer marker over `:1694` |
| `Semantics.v:9257` (`Admitted.`) | 🛑 Sacrosanct (provably false per
`Counterexample.v`) |
**Zero `Axiom` declarations**. `TypingL1.v` / `Modality.v` / `Echo.v` /
`Counterexample.v` / `TypingL2.v` are all admit-free.
## Per CLAUDE.md owner directive 2026-05-27
- ✅ Zero new `Admitted.` or `Axiom.` declarations
- ✅ No legacy `Semantics.v` patching
- ✅ No cross-layer reasoning to close L1 admits
- ✅ Re-uses pre-existing infrastructure only (`value_R_G_preserving_l1`
Qed + `region_shrink_preserves_typing_l1_gen_m` conditional)
- ✅ Cross-layer dependency on L1 structural admit annotated per
`PRESERVATION-DESIGN.md §5.1`
## Build oracle
`coqc 8.18.0` clean rebuild of all 9 `.v` files in dependency order:
PASS.
## Test plan
- [x] Slice 4 lemmas compile with zero warnings
- [x] All 9 `formal/*.v` files compile (`coqc -R . Ephapax`)
- [x] Zero new `admit.` or `Admitted.` introduced (verified via grep)
- [x] One avoidable parallel-rule admit closed (line 574 was; gone now)
- [x] Commit GPG-signed (`G` per `git log --format=%G?`)
- [ ] CI green
- [ ] Owner review
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 54006dc commit 8747d89
2 files changed
Lines changed: 223 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
229 | | - | |
| 229 | + | |
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
235 | 260 | | |
236 | 261 | | |
237 | 262 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
564 | 564 | | |
565 | 565 | | |
566 | 566 | | |
567 | | - | |
568 | | - | |
569 | | - | |
570 | | - | |
571 | | - | |
572 | | - | |
573 | | - | |
574 | | - | |
575 | | - | |
576 | | - | |
577 | | - | |
578 | | - | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
579 | 635 | | |
580 | 636 | | |
581 | 637 | | |
| |||
1637 | 1693 | | |
1638 | 1694 | | |
1639 | 1695 | | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
| 1765 | + | |
| 1766 | + | |
| 1767 | + | |
| 1768 | + | |
| 1769 | + | |
| 1770 | + | |
| 1771 | + | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
0 commit comments