Skip to content

Commit 2bbc635

Browse files
feat(v0.2.0): mirror Tier-1+Tier-2 spine + F5 OFS earn-back from echo-types (#4)
Bring EchoTypes.jl into correspondence with hyperpolymath/echo-types @ e7dded6 (was pinned at 2ca3122). Seven new module surfaces shadow the canonical-identity spine that landed upstream 2026-05-27, plus the unconditional fragment of the full-OFS witness from the F5 earn-back gate. New executable shadows (all 167 testset assertions pass): - EchoTotalCompletion — encode/decode + round-trips + factorisation triangle. Mirrors the slogan-unlock A ↔ Σ B (Echo f). - EchoOrthogonalFactorizationSystem — factorisation existence, projection-fibre identification, packaged ofs_witness. Funext- qualified clauses (uniqueness, lifting) deliberately NOT mirrored. - EchoImageFactorization — Image, Surjective/Injective classifiers, K-free projection uniqueness under injectivity. - EchoNoSectionGeneric — generalised no_section_of_collapsing_map. - EchoLossTaxonomy — HasInverse + EQUIV/INJ/SURJ/CONST K-free skeletons. - EchoEntropy — discrete Shannon shadow (collapse_as_fin, entropy_shadow, entropy_shadow_blind). - EchoObservationalEquivalence — mode-indexed LEcho equality + the strict finer-ness witness at Linear. R-2026-05-18 retraction discipline preserved: no graded-comonad, universal-property, or conservativity surface appears. UIP- and truncation-strength upgrades from upstream are explicitly NOT mirrored, matching the --safe --without-K boundary upstream. README "Source of truth" table extended with the new rows + a "What is intentionally NOT mirrored" section spelling out the honest scope. EchoKernel PR #56 caveat retired (it merged at a279863 and is in the v0.2.0 pin).
1 parent d27f8f5 commit 2bbc635

4 files changed

Lines changed: 647 additions & 32 deletions

File tree

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
name = "EchoTypes"
77
uuid = "a8ca608b-856a-4215-8c3d-f9ffd1705524"
88
authors = ["Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>"]
9-
version = "0.1.0"
9+
version = "0.2.0"
1010

1111
[compat]
1212
julia = "1.10"

README.md

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,45 @@ concrete finite data and check their stated laws numerically.
3232
## Source of truth
3333

3434
The Agda. This release mirrors `hyperpolymath/echo-types` at
35-
`origin/main` commit `2ca31220e3efdcf2708e6d2e04869993fbb1e53a`:
35+
`origin/main` commit `e7dded61bb25b8f86fb6e116f4e2827ca2044bcf`
36+
(2026-05-27 head, after the Tier-1+Tier-2 spine + F5 full-OFS
37+
earn-back + EchoProvenance landed):
3638

3739
| Julia surface | Mirrors Agda module / lemmas |
3840
|---|---|
39-
| `EchoWitness`, `echo_intro`, `fiber`, `map_over*`, `comp_iso_*`, `cancel_iso_*` | `Echo.agda` (kernel) |
41+
| `EchoWitness`, `echo_intro`, `fiber`, `map_over*`, `comp_iso_*`, `cancel_iso_*` | `Echo.agda` (kernel — also re-pinned via `EchoKernel.agda` upstream) |
4042
| `EchoR`, `echo_to_residue`, `residue_strictly_loses` | `EchoResidue.agda` (`echo-to-residue`, `strict-weakening-collapse`) |
4143
| `fiber_size`, `flog2`, `landauer_bound`, `fiber_erasure_bound`, `bennett_reversible`, `landauer_collapse` | `EchoFiberCount.agda` + `EchoThermodynamics.agda` |
42-
43-
> **Pending upstream (forward-reference, not yet tracked):** the
44-
> mirrored kernel surface above corresponds to the curated funext-free
45-
> core being introduced upstream as `proofs/agda/EchoKernel.agda` in
46-
> echo-types **PR #56** (`foundation/echo-kernel-2026-05-18`, open at
47-
> time of writing). It is *not* on `origin/main` yet, so the SoT pin
48-
> deliberately stays at `2ca3122` (canonical `main`). When PR #56
49-
> merges, this pin bumps to the actual squash-merge commit and the
50-
> table row gains an explicit `EchoKernel` reference. Until then, this
51-
> companion tracks `Echo.agda` directly — `EchoKernel` adds no new
52-
> mathematics, only a curated re-export + a funext-free certificate.
44+
| **v0.2.0** `encode`, `decode`, `*_roundtrip`, `f_factors_via_projection` | `EchoTotalCompletion.agda` (`A↔ΣEcho`, the slogan-unlock) |
45+
| **v0.2.0** `echo_factorisation`, `fibre_of_proj1_*`, `projection_fibre_roundtrips`, `ofs_witness` | `EchoOrthogonalFactorizationSystem.agda` (factorisation existence + projection-fibre identification — funext-qualified clauses NOT mirrored) |
46+
| **v0.2.0** `image`, `image_factor_*`, `is_surjective`, `is_injective`, `injective_fibres_proj_unique` | `EchoImageFactorization.agda` |
47+
| **v0.2.0** `no_section_of_collapsing_map`, `no_section_when_non_injective_at` | `EchoNoSectionGeneric.agda` |
48+
| **v0.2.0** `HasInverse`, `equiv_fibre_center`, `equiv_implies_injective`, `equiv_fibre_proj_unique`, `const_fun`, `const_fibre_section` | `EchoLossTaxonomy.agda` (4-case classifier — EQUIV/INJ/SURJ/CONST K-free skeletons) |
49+
| **v0.2.0** `collapse_as_fin`, `entropy_shadow`, `shannon_shadow`, `entropy_shadow_blind` | `EchoEntropy.agda` (discrete Shannon shadow) |
50+
| **v0.2.0** `LEcho`, `EchoMode`, `equal_at_mode`, `mode_equality_strictly_finer_at_linear` | `EchoObservationalEquivalence.agda` (mode-indexed equality) |
51+
52+
### What is intentionally NOT mirrored
53+
54+
- **Funext-qualified surfaces.** The F5 earn-back gate gave the full
55+
OFS (uniqueness up to iso + diagonal lifting) upstream under
56+
funext, and `EchoPullbackUnivF4` gives the strict pullback
57+
universal property the same way. Julia has no funext to take as
58+
hypothesis; the conditional claims would be vacuous. Only the
59+
unconditional fragment of `ofs-witness` is mirrored.
60+
61+
- **Retracted surface (R-2026-05-18).** Graded-comonad framing,
62+
two-models, universal-property, conservativity. The mechanised
63+
laws survive upstream (and so does the model-independence
64+
theorem), but the *framing* is retracted; the companion does not
65+
reproduce any of it.
66+
67+
- **Higher type-theoretic structure.** UIP-strength claims
68+
(full Σ-pair equality under injectivity, `A ↔ Echo(const y0)`,
69+
contractible fibres), propositional truncation (the
70+
(epi, mono) collapse of the image factorisation), and HoTT
71+
identification types beyond decidable equality. The proof-relevant
72+
*upper* of each pair is what's mirrored, in line with the
73+
`--safe --without-K` discipline upstream.
5374

5475
Scope limits are inherited honestly: the thermodynamics is a
5576
**finite-domain bound *shape*** in arbitrary natural units — not
@@ -82,11 +103,17 @@ about itself.
82103

83104
## Status
84105

85-
`v0.1.0`, local development. **Not registered** in the Julia General
86-
registry and intentionally **not** part of the
87-
AcceleratorGate→KnotTheory→Skein→KRLAdapter registration chain — it is
88-
a standalone companion, registered only on its own merit if and when
89-
that is warranted.
106+
`v0.2.0`, local development. The v0.1.0 surface (`Echo`,
107+
`EchoResidue`, `EchoFiberCount`, `EchoThermodynamics`) is preserved
108+
unchanged; v0.2.0 adds executable shadows of the Tier-1+Tier-2
109+
canonical-identity spine that landed upstream on 2026-05-27
110+
(`EchoTotalCompletion`, `EchoOrthogonalFactorizationSystem`,
111+
`EchoImageFactorization`, `EchoNoSectionGeneric`, `EchoLossTaxonomy`,
112+
`EchoEntropy`, `EchoObservationalEquivalence`). Registered as
113+
`EchoTypes` in the hyperpolymath professional registry; **not**
114+
registered in the Julia General registry and intentionally **not**
115+
part of the AcceleratorGate→KnotTheory→Skein→KRLAdapter chain — it
116+
is a standalone companion.
90117

91118
## Licence
92119

0 commit comments

Comments
 (0)