@@ -34,33 +34,30 @@ milestones = [
3434 "M1: Proof foundation — lakefile.lean + proofs.yml CI + banned-pattern gate [DONE #53]",
3535 "M2: Governance clean — licence, language policy, Racket tests, timeout [DONE #54]",
3636 "M3: Echo types core — Type::Echo/EchoR, unify, lower, Lean Ty.echo/echoR [DONE #55]",
37- "M4: Discharge substTop_preserves_typing axiom (PROOF-STATUS TP-4)",
37+ "M4: Discharge substTop_preserves_typing axiom (PROOF-STATUS TP-4) [DONE — now a proved theorem; axiom-free core] ",
3838 "M5: Echo operations — echo_intro, proj1, echo_to_residue; typing rules",
3939 "M6: sample_echo / bet_echo probabilistic bridge",
4040 "M7: Julia backend Phase 2 — core language features",
4141]
4242
4343[proof-obligations]
4444# See PROOF-STATUS.md for the full register (13 obligations)
45- proved = ["TP-1 Progress", "TP-2 Preservation", "TP-3 Monad laws"]
46- axioms = ["substTop_preserves_typing (classified, standards#203, docs/proof-debt.adoc)" ]
47- remaining = 10
45+ proved = ["TP-1 Progress", "TP-2 Preservation", "TP-3 Monad laws", "TP-4 substTop_preserves_typing (discharged — axiom-free)" ]
46+ axioms = []
47+ remaining = 9
4848
4949[blockers-and-issues]
5050issues = [
5151 "bet-wasm E0308: pre-existing WASM backend breakage (match arm type mismatch, not caused by any of #53-55)",
52- "substTop_preserves_typing: classified axiom; discharge is M4 (Phase 2 proofs)",
5352 "Echo operations deferred: no echo_intro/proj1/echo_to_residue until runtime/proof story settled",
5453]
5554
5655[critical-next-actions]
5756actions = [
58- "Merge PR #54 → main (all-green)",
59- "Rebase PR #53 onto updated main, re-CI, merge",
60- "Retarget PR #55 to main, mark ready, merge",
61- "Phase 2 proof obligations: discharge substTop_preserves_typing",
62- "Echo operations pass: introduce echo_intro, echo_to_residue, proj1; typing rules in Lean",
57+ "TP-5: Echo-operation typing rules + metatheory in Lean (echo_intro, echo_to_residue, proj1)",
6358 "sample_echo / bet_echo probabilistic bridge (Dist T → Echo T)",
59+ "Julia backend Phase 2 — core language features",
60+ "bet-wasm E0308: fix pre-existing WASM backend match-arm type mismatch",
6461]
6562
6663[language-policy]
0 commit comments