What this is
A draft contribution for the Pillar E paper's canonical-examples section, and (upstream of that) an entry for `docs/echo-types/examples.md` following its existing template. Filed as a draft for owner review — does not assume the framing or wording you want, just offers concrete prose so review is cheap.
Echo-types' `tutorial/region_exit_audit/RegionExitAudit.agda` already models ephapax-L3-style regions as `Mode`-indexed `LEcho`. Today's ephapax work hardened the case that this is a machine-checked external corroboration, not just a tutorial reference. Specifically:
Draft entry for `docs/echo-types/examples.md`
Following the existing template (source map / what is lost / what remains / echo / extensional-intensional / reference). Suggested insertion point: after the existing entries, as the first external-system example (i.e. the first canonical example whose source map comes from a different formalisation):
N. Region exit in a linear type system (ephapax L3)
- Source map. `collapse_r : LiveAt r → ExitedAt r`, the
operational `S_Region_Exit` rule of the ephapax calculus: a region
scope `ERegion r e` reducing on a value `v` produces
`(mem_free_region μ r, remove_first r R, v)`. The map sends a
configuration with `r ∈ R` to one with `r ∉ R`, freeing the
region's memory.
- What is lost. Which linear values (of type `TString r`,
`TRef Lin (TString r)`, …) were live in `r` immediately before
exit. After the step, `r` is unrecoverable as a region name,
and the typing system cannot reconstruct which preimage configuration
produced the post-step state.
- What remains. A proof-relevant residue: the residue value typed
at `TEcho` (in ephapax's L3 layer) carries a witness of which
value-shape was erased. Under Linear mode the residue must be
observed (`T_Observe` consumes it); under Affine mode the residue
may be silently lowered to the trivial residue `EchoR ⊤ TrivCert y`.
- Echo. `Echo collapse_r exited = Σ (LiveAt r) (λ s → collapse_r s ≡ exited)`.
Under Linear mode the full fiber is retained; under Affine mode
the codomain is collapsed to ⊤ and the inhabitants become
propositionally equal (cf. `affine_canonical` /
`affine_all_equal` in `Echo.agda`).
- Extensional / intensional. Intensional. The shadow
(`{R-after-exit : list region_name}`) lets the typing system see
the post-exit capability set, but the intensional core
distinguishes which configuration produced it.
- Reference. ephapax `formal/Echo.v` (Coq port of
`EchoLinear.agda`), `no_section_collapse_to_residue` (`Qed`,
zero axioms); ephapax `formal/PRESERVATION-DESIGN.md` §6
(L3 design); ephapax `tutorial/region_exit_audit/RegionExitAudit.agda`
(echo-types side).
Draft paragraph for Pillar E paper (canonical-examples section)
A more compact form suitable for a paper's canonical-examples
discussion. Tone aligned to the R-2026-05-18 narrowed claim
(definitional Σ-identity + funext-relative + thin-poset reindexing +
separating model + carrier-parametric + `--safe --without-K`,
postulate-free).
A machine-checked external corroboration of the fiber + thin-poset
formulation comes from the ephapax programming-language project, an
independent calculus whose four-layer redesign (region capability /
linearity-affinity / echo residue / dyadic mode) was authored against
a Coq mechanisation rather than against echo-types directly. When that
redesign reached the irreversibility-residue layer, the natural
structure that emerged was the same fiber-plus-thin-poset shape
already mechanised in echo-types: ephapax's `formal/Echo.v` is a
direct Coq port of `EchoLinear.agda` and `EchoResidue.agda`,
and ephapax's headline `no_section_collapse_to_residue` lands as
`Qed` with zero axioms, mirroring the same-name theorem in
`EchoResidue.agda:33–73`. The convergence is evidence that the
formulation supports the third identity-claim criterion — canonical
examples where echo type is the right explanatory unit, not a
generic Σ-type — under cross-language reproducibility, with both
Linear and Affine modes manifesting as the same thin-poset
decoration over a shared fiber type former rather than as separate
echo type formers.
What this does NOT claim
- That ephapax's L3 is more advanced than echo-types (the reverse:
ephapax ports from echo-types).
- That this single example settles the identity claim (it strengthens
criterion 3, doesn't decide it).
- That the example should replace existing examples — it sits alongside
the sign-loss / boolean-component / parser entries as a real-world
external case.
What I am NOT proposing
References
🤖 Generated with Claude Code
What this is
A draft contribution for the Pillar E paper's canonical-examples section, and (upstream of that) an entry for `docs/echo-types/examples.md` following its existing template. Filed as a draft for owner review — does not assume the framing or wording you want, just offers concrete prose so review is cheap.
Echo-types' `tutorial/region_exit_audit/RegionExitAudit.agda` already models ephapax-L3-style regions as `Mode`-indexed `LEcho`. Today's ephapax work hardened the case that this is a machine-checked external corroboration, not just a tutorial reference. Specifically:
Draft entry for `docs/echo-types/examples.md`
Following the existing template (source map / what is lost / what remains / echo / extensional-intensional / reference). Suggested insertion point: after the existing entries, as the first external-system example (i.e. the first canonical example whose source map comes from a different formalisation):
N. Region exit in a linear type system (ephapax L3)
operational `S_Region_Exit` rule of the ephapax calculus: a region
scope `ERegion r e` reducing on a value `v` produces
`(mem_free_region μ r, remove_first r R, v)`. The map sends a
configuration with `r ∈ R` to one with `r ∉ R`, freeing the
region's memory.
`TRef Lin (TString r)`, …) were live in `r` immediately before
exit. After the step, `r` is unrecoverable as a region name,
and the typing system cannot reconstruct which preimage configuration
produced the post-step state.
at `TEcho` (in ephapax's L3 layer) carries a witness of which
value-shape was erased. Under Linear mode the residue must be
observed (`T_Observe` consumes it); under Affine mode the residue
may be silently lowered to the trivial residue `EchoR ⊤ TrivCert y`.
Under Linear mode the full fiber is retained; under Affine mode
the codomain is collapsed to ⊤ and the inhabitants become
propositionally equal (cf. `affine_canonical` /
`affine_all_equal` in `Echo.agda`).
(`{R-after-exit : list region_name}`) lets the typing system see
the post-exit capability set, but the intensional core
distinguishes which configuration produced it.
`EchoLinear.agda`), `no_section_collapse_to_residue` (`Qed`,
zero axioms); ephapax `formal/PRESERVATION-DESIGN.md` §6
(L3 design); ephapax `tutorial/region_exit_audit/RegionExitAudit.agda`
(echo-types side).
Draft paragraph for Pillar E paper (canonical-examples section)
A more compact form suitable for a paper's canonical-examples
discussion. Tone aligned to the R-2026-05-18 narrowed claim
(definitional Σ-identity + funext-relative + thin-poset reindexing +
separating model + carrier-parametric + `--safe --without-K`,
postulate-free).
What this does NOT claim
ephapax ports from echo-types).
criterion 3, doesn't decide it).
the sign-loss / boolean-component / parser entries as a real-world
external case.
What I am NOT proposing
Pillar E narrative is the author's; this is just draft text.
as Lane-4 bridge candidate: EchoEphapaxBridge.agda (content bridge to hyperpolymath/ephapax L3) #126).
References
preservation counterexample (the structural-loss source for L3's
residue).
🤖 Generated with Claude Code