Skip to content

Commit 32156c4

Browse files
docs: refresh STATE.a2ml + ROADMAP after 2026-06-01/02 proof + stdlib wave (#284)
Catches STATE.a2ml's last-updated and last_action up to today's 13-PR wave (proofs P43/P10+P32/P06/P28/P59 + stdlib D04/D11/D17/D18 + governance/CI). Adds a status-snapshot paragraph to ROADMAP.adoc with pointer to CHANGELOG for per-PR detail. No source/proof/license edits. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 33958ce commit 32156c4

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
@state(version="2.0"):
88
phase: "implementation"
99
next_action: "Phase D slice 4 Phase 3b Stages 2-4 (#240/#241/#242): Stage 1 (both 1a + 1b) complete. Stages 2-4 sequenced per the owner-approved 4-stage plan: Stage 2 (#240) ELam annotation extension — independent of Stage 1, ships when prioritised; Stage 3 (#241) CPS + relaxed Phase 3b — blocked on Stage 2; Stage 4 (#242) compound non-linear + unconditional preservation_l2 — blocked on Stage 3. Stage 4's destination collapses Stage 1b's three preconditions (P1 = tfuneff_lambda_free, P2 = regions_introduced_by ⊆ R_in_v, P3 = expr_closed_below 0 v) once typing-derived closure invariants land. Anti-patterns to refuse (per CLAUDE.md owner directive): no `Admitted`; no touching `Semantics.v` / `Typing.v` / `Counterexample.v`; no closure of residual `Semantics_L1.v` admits — strictly NEW infrastructure orthogonal to legacy. Coqc 8.18.0 is the only authority."
10-
last_action: "Phase D slice 4 Phase 3b Stage 1b LANDED (2026-05-30 PM, this PR): elegance-first path-(i) substitution-lemma + L2 β wrapper, zero axioms. (1) Syntax.v: `expr_closed_below : nat -> expr -> bool` Fixpoint (canonical CS predicate, bool per post-redesign convention); `closed_below_shift_id` (closed terms shift-invariant); `expr_closed_below_shift_mono` (closure survives shifting); `ctx_mark_used_app_lt` (mark_used commutes with context append). (2) Semantics_L1.v: `closed_below_k_typing_outer_tail_irrelevant_l1_m` (the body-transfer core — structural induction over 28+ typing rules; closed-below-k terms' typing depends only on G's first k positions); `closed_value_typing_G_poly_l1_m` (any-G' form per elegance-first 'state what's actually true'); `closed_value_typing_RG_poly_l1_m` (combined RG-poly via chain to tfuneff_lambda_retype_l1_m); `closed_value_shift_id_l1_m` (cutoff-0 wrapper); `value_TFunEff_R_subset_R_in_l1_m` (extracts R ⊆ R_in from TFunEff value typing); `sub_R_in_R_in_via_value_l1_m` (chain helper packaging count_occ_le_l1_m + R-subset for compound-rule call sites); `subst_typing_gen_l1_m_tfuneff` (~300 lines mirroring Phase 2's ground-nonlinear template; inner T_Lam_L1_*_Eff cases discharge via P1 discriminate; compound rules use closed_value_typing_RG_poly_l1_m + sub_R_in_R_in_via_value_l1_m for the G-mismatch). (3) TypingL2.v: `preservation_l2_app_eff_beta_tfuneff_l1` (β-case kernel) + `preservation_l2_app_eff_beta_tfuneff` (L2 wrapper) under the three-condition statement (P1 leaf-only + P2 regions ⊆ R_in_v + P3 closure of v2). Build oracle: coqc 8.18.0 clean across all 12 .v files; Print Assumptions on every new Qed lemma reports 'Closed under the global context' (zero new admits / axioms). Owner-directive compliance: ✅ no Semantics.v / Typing.v / Counterexample.v touch; ✅ no residual Semantics_L1.v admit closure attempted; ✅ anti-pattern detector clean. Design decisions baked in per elegance-first priority: bool predicate (matches post-redesign style), any-G' statement form (the genuinely true claim), P1 RETAINED (re-staging is owner territory), staging-as-is (PR-level decisions don't deviate from owner-approved 4-stage plan)."
11-
updated: 2026-05-30T20:00:00Z
10+
last_action: "Proof + stdlib wave 2026-06-01 → 02 landed (13 PRs): canonical-forms L1 modality-polymorphic (#274, P43, 7 lemmas axiom-free, prerequisite for progress_l1/P42); Print Assumptions audit framework across L1 + L3 keystones (#270, closes P10/P32); step_pop_disjoint_from_type_l1 stated + EASY cases Qed-closed (#280, P06, HARD cases blocked on #240/#241/#242); Rust↔Coq is_linear_ty truth-table mechanical assertion (#273, P28); OwnershipKind from_byte/to_byte round-trip (#277, P59, typed-wasm ADR-0002 carrier handshake); 4 stdlib DB-theory additions — Transactions as linear scopes (#275, D04), Allen's interval algebra (#272, D11), MessageHandle as linear typestate (#279, D17), monoidal aggregates (#281, D18); doc truth-restore + banned-preservation framing buried (#263); cluster-D L3/L4 status meander (#278); Track C panic-attack triage (#271); coq-build noble apt CI fix (#282, unblocks ~5 PRs); R5b standards SHA bump (#276). Plus CHANGELOG sync (#283). Build oracle clean across all 12 .v files. Print Assumptions: canonical_*_l1_m + most new lemmas zero-axiom; expected residuals (preservation_l1, region_liveness_at_split_l1_gen, region_shrink_preserves_typing_l1_gen_m) tracked. Stages 2-4 (#240/#241/#242) still un-touched. Wiki Proof-status.md refreshed 2026-06-02."
11+
updated: 2026-06-02T13:30:00Z
1212

1313
@directive(source="owner", date="2026-05-27", canonical="CLAUDE.md"):
1414
# Captured durable directive — preservation work is the four-layer redesign,

ROADMAP.adoc

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,25 @@ _Linear-type language with dual formalisation (Coq + Idris2) targeting WebAssemb
1111

1212
toc::[]
1313

14-
== Status snapshot (2026-05-20)
14+
== Status snapshot (2026-06-02)
1515

1616
Ephapax is an early-development linear-type language implemented across
1717
~19 Rust crates with a two-phase compiler pipeline (Idris2 type-checking
1818
→ Rust/WASM backend). Lexer, parser, interpreter, REPL, CLI, S-expression
1919
IR, two-phase pipeline, Zig FFI, and conformance test suite are
2020
complete. Type checker and WASM code generation are in progress.
2121

22+
2026-06-01 → 02 proof + stdlib wave (13 PRs): canonical-forms L1
23+
modality-polymorphic (P43, axiom-free, prerequisite for `progress_l1`);
24+
Print Assumptions audit framework across L1 + L3 keystones (P10/P32);
25+
`step_pop_disjoint_from_type_l1` stated + EASY cases (P06, HARD cases
26+
blocked on issues #240/#241/#242); Rust↔Coq `is_linear_ty` bridge truth-
27+
table (P28); OwnershipKind from_byte/to_byte round-trip (P59, typed-wasm
28+
ADR-0002 carrier handshake); 4 stdlib DB-theory additions — Transactions
29+
(D04), Allen's interval algebra (D11), MessageHandle (D17), monoidal
30+
aggregates (D18). Stages 2-4 of the Phase 3b plan (#240/#241/#242) remain
31+
un-touched. See `CHANGELOG.md` for full enumeration and per-PR detail.
32+
2233
== Four-layer redesign (2026-05-26 → )
2334

2435
The verified preservation counterexample

0 commit comments

Comments
 (0)