Skip to content

Commit 6bf8bee

Browse files
committed
Merge branch 'docs/rule-out-2cat-and-roadmap-correction' into main (resolve conflicts carefully)
2 parents bbc902a + 0a8ae26 commit 6bf8bee

2 files changed

Lines changed: 146 additions & 0 deletions

File tree

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
= D-2026-05-20 — Echo has no 2-categorical shape (rule-out)
2+
:toc: macro
3+
:toclevels: 2
4+
:sectnums:
5+
:sectnumlevels: 2
6+
:icons: font
7+
8+
[.lead]
9+
Closure note for the `roadmap.md` entry
10+
"2-categorical shape: commit to a 2-category or rule it out"
11+
and for `composition.md` §Q1 / §Q6. The verdict is *rule out*,
12+
on argued grounds against the landed Pillars A–D evidence. The
13+
question is closed; future composition write-ups need not hedge
14+
for a 2-cat refinement.
15+
16+
toc::[]
17+
18+
== Verdict
19+
20+
Echo's composition / graded-comonad / pullback machinery is
21+
provably *strict-1-categorical-with-a-thin-graded-fragment*. No
22+
2-categorical overlay yields a *statable theorem* the existing
23+
1-cat + graded-comonad + pullback content does not already
24+
encode at strength equal to or greater than what 2-cells could
25+
witness. The five structurally plausible 2-cat organisations
26+
(echo as a lax/oplax 2-functor; slice-of-echos with `IsMediator`
27+
as 2-cells; double category with `SliceHom` horizontals + cones
28+
verticals; graded bicomonad; Grothendieck stack of cartesian
29+
sections) all collapse to existing 1-cat content because every
30+
would-be 2-cell appears as `refl` or is forced trivial by a
31+
propositionality hypothesis.
32+
33+
== Evidence (from the landed development)
34+
35+
The "2-cat smells" in the codebase, each resolving trivially:
36+
37+
* *Pentagon Σ-assoc iso* (`Echo.agda` L243–L310). The prototypical
38+
bicategorical associator-2-cell. `Echo-comp-iso-pent-B` and
39+
`-pent-echo` both close by `refl` on both projections — the
40+
would-be associator is identity. Strictly 1-categorical.
41+
* *`Echo-comp-iso` round-trips* (`Echo.agda` L83–L94). Both
42+
`refl`. Strict iso, not pseudo; no unitor data.
43+
* *`SliceHom` ↔ `EchoCone`* (`EchoPullback.agda` L73–L92). Both
44+
round-trips `refl`. A cone *is* a slice morphism by record η —
45+
the data is identical; no mediating 2-cell exists.
46+
* *`echo-pullback-univ`* (`EchoPullback.agda` L55–L134).
47+
Uniqueness is *pointwise* (`∀ v → m' v ≡ m v`) — the
48+
1-categorical statement minus funext, *not* the 2-cell
49+
statement. `IsMediator.coherent` is Σ-second-coherence over
50+
the `factor` equation: HoTT pullback-as-Σ shape, not a 2-cell.
51+
* *`bridge-natural`* (`EchoRelModel.agda` L245–L250). The one
52+
real naturality in the suite — `echo-to-graph` between
53+
`map-over` and `map-rel` under `relmap-of`. In a 2-cat reading
54+
it would be a 2-cell `map-over ⇒ map-rel`; it closes by
55+
`refl`. Identity 2-cell; naturality on the nose.
56+
* *`≤g-prop`* (`EchoGraded.agda` L83–L89). The grade order is
57+
propositional: each hom-set is a singleton. In 2-cat language,
58+
thin / locally discrete; the graded category enriched in
59+
`Prop` *is* a 1-category.
60+
* *`⊑-prop`* (`EchoRelModel.GradedLossModel`). The interface
61+
bakes in propositionality of the loss order. Every instance
62+
is thin by signature.
63+
* *`gcomonad-coassoc`* (`EchoGradedComonad.agda` L126–L150). In
64+
a bicomonad, coassoc holds up to an associator 2-cell. Here,
65+
on the nose: the common-upper-bound idiom pre-empts the
66+
associator (`subst GEcho (⊔g-assoc …)` vanishes because both
67+
sides land in the *same* `GEcho g`). The would-be associator
68+
is replaced by `≤g-prop`.
69+
* *`EchoRelModel.GCLaws`*. Model independence proves the comonad
70+
laws from `⊑-prop` + composing `reindex` alone; the laws
71+
already hold *strictly* in both shipped models. No
72+
2-cell-equipped interface is needed.
73+
74+
Every place a 2-cell could appear, it appears as `refl` or is
75+
forced trivial by a propositionality hypothesis.
76+
77+
== Implication
78+
79+
* `composition.md` §Q1 is closed (rule-out). The composition
80+
laws (accumulation iso, cancel-iso, pentagon Σ-assoc,
81+
decoration commuting) are promoted from "ad-hoc candidates" to
82+
*the complete 1-categorical story* — not 2-coherence laws of a
83+
hypothesised 2-category, but the 1-categorical composition
84+
laws of a pullback-presented type, full stop.
85+
* `composition.md` §Q6 (composition in the presence of recovery /
86+
echo-erasure) reformulates as a 1-categorical question:
87+
recovery as a slice morphism or a fibration section, not a
88+
2-cell. Write-up-tractable on this footing.
89+
* `composition.md` §Q4's "Evidence this is the right shape"
90+
upgrades to a *characterisation*: pentagon is `refl` because
91+
there is no associator 2-cell to obstruct it.
92+
* The `EchoGradedComonad` + `EchoRelModel` package is the
93+
1-categorical graded-comonad story, not a thin slice toward a
94+
bicomonad. The paper draft (`paper.adoc`) need not hedge for
95+
a future 2-categorical refinement.
96+
97+
== What would force a reopen (not on the roadmap)
98+
99+
* `MapOver`-up-to-2-cell quantification by a downstream
100+
consumer (e.g. ordinal-track collapsing layer needing two
101+
`MapOver`s equal up to a 2-cell rather than definitionally).
102+
Current decoration families (`EchoApprox`, `EchoChoreo`,
103+
`EchoEpistemic`) do not exhibit this.
104+
* A future grade dropping `≤g-prop` (non-propositional grade
105+
lattice carrying genuine semilattice data with non-trivial
106+
isos). `EchoSeparating` already shows the characteristic law
107+
breaks in that regime — the moment a pseudo / 2-categorical
108+
layer becomes content-bearing. Not currently in play.
109+
* A future third model needing a non-trivial intertwining iso
110+
(`model-agreement` currently closes on `refl`).
111+
* Cubical / HoTT migration (out of `--without-K`) repromoting
112+
strict equalities to genuine paths. Out of scope.
113+
114+
None is on the active roadmap. The verdict stands.
115+
116+
== Cross-references
117+
118+
* `docs/echo-types/roadmap.md` — Theory-work entry updated to
119+
`[ruled out]`.
120+
* `docs/echo-types/composition.md` §Q1 / §Q4 / §Q6 — open
121+
framings folded into this closure.
122+
* `docs/echo-types/establishment-plan.adoc` — minimal
123+
cross-reference at the H2 verdict / guardrails site.
124+
* `docs/echo-types/paper.adoc` — related-work `[EXPAND]`
125+
carries a placeholder note pointing here.

docs/echo-types/paper.adoc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,7 @@ mechanised strength, neither less nor more.
554554

555555
=== Proof size per pillar
556556

557+
<<<<<<< HEAD
557558
The four pillars together occupy ~930 lines across six modules, with
558559
zero postulates and three `rewrite` sites (one in the foundational
559560
`degrade-compose`; one in its `rel-model` lift; one in
@@ -1133,6 +1134,26 @@ Swamy et al. "Dependent types and multi-monadic effects in F\*"
11331134
(POPL 2016);
11341135
Vazou–Seidel–Jhala–Vytiniotis–Peyton Jones "Refinement types for
11351136
Haskell" (ICFP 2014, Liquid Haskell).
1137+
=======
1138+
NOTE: *[EXPAND]* — detailed positioning against: Granule / QTT graded
1139+
modalities; comonadic notions of computation (Uustalu–Vene);
1140+
coeffects (Petriček–Orchard–Mycroft); HoTT fibrewise constructions;
1141+
lens / optic literature (the witness-transport leg of
1142+
`echo-pullback-univ` resembles the very-well-behaved *1-lens* laws —
1143+
no 2-cell-equipped optic, see below). Make the novelty crisp: not a
1144+
new object, but a fully mechanised characterisation package with a
1145+
falsifiable-gate methodology.
1146+
1147+
NOTE: *[2-cat ruled out, see `decisions/no-2-cat.adoc`]* — when the
1148+
related-work pass expands the lens/optic comparison and the
1149+
graded-modality positioning, fold in the 2-categorical rule-out: a
1150+
"bicategorical echo" reading was considered and ruled out on the
1151+
landed evidence (every would-be 2-cell appears as `refl` or is
1152+
prop-forced trivial by `≤g-prop` / `⊑-prop`); the construction
1153+
resembles a very-well-behaved *1-lens*, not a 2-cell-equipped optic.
1154+
The closure note in `decisions/no-2-cat.adoc` is the load-bearing
1155+
artifact; this paragraph should cite it rather than re-argue.
1156+
>>>>>>> docs/rule-out-2cat-and-roadmap-correction
11361157
11371158
[#reframing-note]
11381159
== Reframing note (2026-05-18)

0 commit comments

Comments
 (0)