proof(L3): preservation_l3 capstone — slice 4 (closes L3 wiring)#196
Merged
Conversation
Per-layer preservation theorem for the two L3-specific
echo-emitting step rules (S_Region_Exit_Echo / S_Drop_Echo)
paired with their matching L3 typing rules
(T_Region_Active_L1_Echo / T_Drop_L1_Echo + T_Echo_L1).
Three new Qed in formal/Semantics_L1.v:
- preservation_l3_region_active_echo
For (T_Region_Active_L1_Echo, S_Region_Exit_Echo) pair:
value_R_G_preserving_l1 pins body output context, then
region_shrink_preserves_typing_l1_gen_m + T_Echo_L1 close.
- preservation_l3_drop_echo
For (T_Drop_L1_Echo, S_Drop_Echo) pair: value invariance
(VLoc) + T_Echo_L1 directly.
- preservation_l3 (umbrella)
Conjunction of the two per-case lemmas. Each conjunct
corresponds to one (L3 typing rule, L3 step rule) matched
pair. Per-case alignment forced by T_Echo_L1's witness-
type premise — non-deterministic crossover cases are
non-preserving by design (typing derivation pins the path).
Seam audit + slice-4 tightening (no new debt, one debt closed):
- region_shrink_preserves_typing_l1_gen_m: tightened from 3
internal admits to 2. The avoidable T_Region_L1_Echo case
(parallel mirror of a fully-closed T_Region_L1 case) is now
Qed-style via count-monotonicity (shadowed sub-case) +
remove_first commutation (descend sub-case). The descend
sub-case of T_Region_Active_L1_Echo is also Qed-style now —
only the shadowed sub-case remains as a true parallel mirror
of the pre-existing T_Region_Active_L1 list-vs-multiset
structural admit at line 553.
- All 5 remaining internal admit. cases classified:
Pre-existing L1 structural: lines 553, 1256, 1694
True parallel mirrors: lines 621, 1276
(mirrors close when originals close — same structural debt)
- All 3 outer Admitted. markers track the internal admit set;
no new outer Admitted introduced.
- Semantics.v's legacy preservation Admitted. is sacrosanct
(provably false per Counterexample.v) and untouched.
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
PROOF-NEEDS.md updates:
- §2 L3 wiring row marked ✅ done with full disposition
- §1 Linear-mode forward progress count 23 → 26 Qed
- §4 file-by-file table updated
- NEW §4 "Seam audit (slice 4, 2026-05-27)" subsection
classifies every admit/axiom in formal/*.v explicitly
Build status: full clean rebuild (coqc 8.18.0) passes for all
9 .v files in dependency order — Syntax, Typing, Modality,
TypingL1, Semantics, Echo, Semantics_L1, Counterexample,
TypingL2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
enabled auto-merge (squash)
May 27, 2026 20:53
🔍 Hypatia Security ScanFindings: 51 issues detected
View findings[
{
"reason": "Issue in abi-verify.yml",
"type": "unknown",
"file": "abi-verify.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in boj-build.yml",
"type": "unknown",
"file": "boj-build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in codeql.yml",
"type": "unknown",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in governance.yml",
"type": "unknown",
"file": "governance.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in hypatia-scan.yml",
"type": "unknown",
"file": "hypatia-scan.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in instant-sync.yml",
"type": "unknown",
"file": "instant-sync.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in mirror.yml",
"type": "unknown",
"file": "mirror.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in rust-ci.yml",
"type": "unknown",
"file": "rust-ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in rust-ci.yml",
"type": "unknown",
"file": "rust-ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "unknown",
"file": "scorecard-enforcer.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
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.
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:preservation_l3_region_active_echo(T_Region_Active_L1_Echo, S_Region_Exit_Echo)pair preserves typing atTEcho Tpreservation_l3_drop_echo(T_Drop_L1_Echo, S_Drop_Echo)pair preserves typing atTEcho Tpreservation_l3(umbrella)split; exact …Per-case alignment is forced by
T_Echo_L1's witness-type premise. The step rules are universally quantified overT(non-deterministic at the relation level); the typing derivation pins whichTis in play. Non-deterministic crossover cases (e.g. legacyT_Region_Active_L1+ L3S_Region_Exit_Echo) are non-preserving by design — not covered by this theorem and not well-typed at the umbrella'sTEcho Toutput.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'sT_Region_L1_Echocase admit (was a mirror of a fully-closed original) is now Qed-style — count-monotonicity for the shadowed sub-case,remove_firstcommutation for the descend sub-case. Same treatment for the descend sub-case ofT_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:Semantics_L1.v:553(admit.)Semantics_L1.v:621(admit.):553Semantics_L1.v:653(Admitted.):553+:621Semantics_L1.v:1256(admit.)r = rv)Semantics_L1.v:1276(admit.):1256Semantics_L1.v:1290(Admitted.):1256+:1276Semantics_L1.v:1694(admit.)preservation_l1lambda-rigidity gapSemantics_L1.v:1695(Admitted.):1694Semantics.v:9257(Admitted.)Counterexample.v)Zero
Axiomdeclarations.TypingL1.v/Modality.v/Echo.v/Counterexample.v/TypingL2.vare all admit-free.Per CLAUDE.md owner directive 2026-05-27
Admitted.orAxiom.declarationsSemantics.vpatchingvalue_R_G_preserving_l1Qed +region_shrink_preserves_typing_l1_gen_mconditional)PRESERVATION-DESIGN.md §5.1Build oracle
coqc 8.18.0clean rebuild of all 9.vfiles in dependency order: PASS.Test plan
formal/*.vfiles compile (coqc -R . Ephapax)admit.orAdmitted.introduced (verified via grep)Gpergit log --format=%G?)🤖 Generated with Claude Code