Skip to content

Commit e163d64

Browse files
committed
Merge remote-tracking branch 'origin/main' into resolve/pr51
2 parents fde46e9 + b659648 commit e163d64

22 files changed

Lines changed: 1870 additions & 307 deletions

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
*.agdai
22
arghda-core/target/
33
.claude/
4+
.agda/
5+
6+
# direnv / nix local cache
7+
.direnv/
8+
9+
# editor / tooling backup files
10+
*.bak
11+
*~

docs/ECHO-CNO-BRIDGE.adoc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,16 @@ The `EchoCategory.agda` module establishes a comprehensive categorical formaliza
156156
3. **Universal CNO**: CNOs as identity morphisms that preserve echo structure: `∀ s → Echo p s ≃ Echo id s`
157157
4. **Model Independence**: Echo types are preserved across isomorphic computational models
158158
159+
> **Scope note (2026-05-18).** "Model Independence" *here* means the
160+
> bare-`Echo` invariance `Echo f y ≃ Echo f' (proj₁ (isoB y))` under an
161+
> isomorphism of the underlying objects (the `ModelIndependence`
162+
> theorem below). This is a distinct, valid statement and is **not**
163+
> affected by retraction R-2026-05-18, which retracted the *graded
164+
> modality's* "two independent models / model-independence" claim
165+
> (`GradedLossModel`/`EchoRelModel`). Do not conflate the two; this
166+
> CNO consumer-bridge doc is firewalled from the identity claim. See
167+
> `docs/retractions.adoc`.
168+
159169
### Core Theorems
160170

161171
```agda
Lines changed: 127 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,155 @@
1-
= Echo Types — Conservativity Metatheorem
1+
= Echo Types — Conservativity Evidence (Mechanised Properties)
22
:toc: macro
33
:toclevels: 3
44
:sectnums:
55
:sectnumlevels: 3
66
:icons: font
77

88
[.lead]
9-
Pillar D, artefact 2 of `establishment-plan.adoc`. A type-theoretic
10-
notion earns "established" standing not only by having models, but by
11-
being a *conservative, definitionally-grounded* extension of a
12-
foundational theory. This document states that metatheorem for the
13-
loss-graded echo modality and records its formal anchor in the
14-
verified Agda development.
9+
Pillar D, artefact 2 of `establishment-plan.adoc`.
10+
11+
[IMPORTANT]
12+
====
13+
*Narrowed 2026-05-18.* This document previously asserted a
14+
"conservativity metatheorem … discharged operationally by the build."
15+
That overclaimed: a green `--safe --without-K` build is necessary but
16+
*not sufficient* for proof-theoretic conservativity (a statement
17+
quantifying over all base propositions), and no such meta-argument is
18+
mechanised. The metatheorem framing is retracted; what is mechanised
19+
is stated below as build/identity *properties*, which are *evidence
20+
for* conservativity over MLTT+Σ, not a proof of it. See
21+
`docs/retractions.adoc` and `paper.adoc` §"Reframing note".
22+
====
1523

1624
toc::[]
1725

1826
== Statement
1927

2028
[#thm-conservativity]
21-
.Conservativity (definitional grounding)
29+
.Mechanised properties (evidence for conservativity, not a proof of it)
2230
****
2331
Let `MLTT+Σ` be Martin-Löf type theory with Σ-types and the identity
2432
type, as realised by Agda under `--safe --without-K` (no axiom K, no
2533
univalence, no postulates, no funext). Let `Echo` be the loss-graded
2634
echo modality: the object `Echo f y := Σ (x : A) , (f x ≡ y)`
2735
together with the loss-grade lattice and its reindexing action
28-
(`EchoGraded`), and the graded-comonad structure
36+
(`EchoGraded`), and the reindexing-coherence structure
2937
(`EchoGradedComonad`, `EchoRelModel`).
3038
31-
Then the extension of `MLTT+Σ` by `Echo` and all of its laws is
32-
*conservative and definitional*:
33-
34-
. *Definitional.* `Echo f y` is not a new type former. It is, by
35-
`refl`, the homotopy fibre `fib f y` (`EchoFiberBridge.echo↔fib`,
36-
both round-trips `refl`). No new judgement, context structure, or
37-
formation rule is introduced — `Echo` is a derived Σ-type.
38-
. *Conservative.* Every theorem of the development is a closed term
39-
of `MLTT+Σ`: the entire suite typechecks under `--safe --without-K`
40-
with *zero postulates and zero escape pragmas*. Hence any
41-
proposition over the base vocabulary provable using `Echo` is
42-
already provable in `MLTT+Σ` — `Echo` proves no new base facts.
43-
. *Modality, not axiom.* The graded-comonad laws
44-
(`gcomonad-counit-{l,r}`, `gcomonad-coassoc`) are *derived* — the
45-
H2 verdict (see `establishment-plan.adoc`) showed each collapses to
46-
`degrade-compose` + order-propositionality, with no path algebra
47-
and no transport. The loss modality therefore adds structure
48-
(a characterised graded comonad) without adding strength.
39+
The following are *mechanised properties* of the artefact. They are
40+
*evidence* that `Echo` adds no proof-theoretic strength over MLTT+Σ.
41+
They are deliberately *not* packaged as a conservativity metatheorem,
42+
because proof-theoretic conservativity quantifies over all base
43+
propositions and is not discharged by a typechecking run:
44+
45+
. *Definitional identity.* `Echo f y` is not a new type former. In
46+
`EchoFiberBridge`, `fiber f y` is a same-module restatement of the
47+
Σ and `echo↔fib` is the identity with `refl` round-trips. This is
48+
a deflationary triviality (a type is bijective with itself), owned
49+
as such — *not* a grounding theorem about an external fibre notion.
50+
. *Postulate-free build.* The entire suite typechecks under
51+
`--safe --without-K` with *zero postulates and zero escape
52+
pragmas*, CI-grep-enforced. Every theorem of the development is
53+
therefore a closed term of `MLTT+Σ`. This is necessary for
54+
conservativity; it is *not by itself* a proof that every base
55+
proposition provable via `Echo` is provable without it (that is a
56+
meta-argument about the logic, which we do not mechanise).
57+
. *Derived, not postulated.* The reindexing-coherence equations
58+
(`gcomonad-counit-{l,r}`, `gcomonad-coassoc`) are derived: each
59+
collapses to `degrade-compose` + order-propositionality (the H2
60+
verdict). Nothing is added as an axiom. Note this is the *weak*
61+
claim — "derived" — and carries no implication that a graded
62+
*comonad* (in the Petriček/Katsumata sense) has been exhibited; it
63+
has not (see `paper.adoc` §"The loss-graded reindexing modality").
4964
****
5065

51-
== Why this is the clean result
66+
== What this is, and what it is not
5267

53-
The honest deflationary fact — "`Echo` is just `fib`" — is precisely
54-
what makes the metatheorem strong. A construction that *required* new
55-
axioms (K, univalence, funext, or a postulated modality) would not be
56-
conservative and would inherit those axioms' costs. Here the opposite
57-
holds: the loss-graded comonad is a *theorem schema of MLTT+Σ
58-
itself*, instantiable in multiple models (Pillar D, artefact 1:
59-
`set-model` and `rel-model`, agreeing under the graph/fibration
60-
bridge). "Conservative, definitionally-grounded extension" is exactly
61-
the result that earns trust in the coeffect / quantitative lineage.
68+
The deflationary fact — "`Echo` is just `fib`" — together with the
69+
postulate-free build is good *evidence* that the modality is a
70+
conservative, definitional extension of MLTT+Σ. We claim exactly that
71+
much. We do *not* claim:
6272

63-
== Formal anchor
73+
* a proof-theoretic conservativity metatheorem (clause 2 is a build
74+
property, not a meta-proof);
75+
* multiple independent models (`set-model` and `rel-model` fix the
76+
same grade poset and agree by `refl`; see Pillar D artefact 1's
77+
reframing in `paper.adoc`);
78+
* a graded comonad (the structure is a thin-poset reindexing action).
6479

65-
The metatheorem is not asserted in prose alone; its three clauses are
66-
each pinned to checked Agda artefacts already in `All.agda` /
67-
`Smoke.agda`:
80+
This narrower statement is what survives adversarial review. It still
81+
earns trust in the coeffect / quantitative lineage — by being exact
82+
about its bounds rather than by overclaiming.
83+
84+
== Formal anchor (what each property is actually pinned to)
85+
86+
Each mechanised property is pinned to a checked Agda artefact in
87+
`All.agda` / `Smoke.agda`. The table states the *honest* content of
88+
each anchor, not the previous inflated reading:
6889

6990
[cols="1,3,2", options="header"]
7091
|===
71-
| Clause | Witness | Module
92+
| Property | What the witness actually establishes | Module
7293

73-
| Definitional
74-
| `echo↔fib : Echo f y ↔ fiber f y`, round-trips `refl`
94+
| Definitional identity
95+
| `echo↔fib : Echo f y ↔ fiber f y` is the identity with `refl`
96+
round-trips, where `fiber` is restated in the same module — i.e. a
97+
type is bijective with itself. A triviality, owned as such.
7598
| `EchoFiberBridge`
7699

77-
| Conservative
78-
| Whole suite: `--safe --without-K`, no `postulate` / no escape
79-
pragmas; CI greps enforce it
100+
| Postulate-free build
101+
| Whole suite typechecks `--safe --without-K`, no `postulate` / no
102+
escape pragmas; CI greps enforce it. Necessary for, not a proof of,
103+
proof-theoretic conservativity.
80104
| `All.agda` + `Smoke.agda`
81105

82-
| Modality not axiom
83-
| `GradedLossModel` / `GCLaws` derive every comonad law generically;
84-
`model-agreement` shows model-independence
106+
| Carrier-parametric, not model-independent
107+
| `GradedLossModel`/`GCLaws` prove the equations once *parametric in
108+
the carrier* over a fixed grade poset; `⊑-prop` is a field (the
109+
load-bearing hypothesis is baked in). `model-agreement` is `refl`
110+
(second model = first `× ⊤`). Not a model-independence result.
85111
| `EchoRelModel`
86112

87-
| Modality not axiom
113+
| Derived, not postulated (weak claim only)
88114
| `gcomonad-coassoc` etc. reduce to `degrade-compose` + `≤g-prop`
89-
(H2 verdict); separating model proves the law is genuine
115+
(H2 verdict); the separating model shows the *only* content over
116+
generic Σ is thinness of the order. No graded comonad is exhibited.
90117
| `EchoGradedComonad`,
91118
`EchoSeparating`
92119
|===
93120

94-
The conservativity argument is *operational*: it is discharged by the
95-
build itself. Any reintroduction of a postulate, a weakening of
96-
`--safe --without-K`, or a funext dependency would break clause 2 and
97-
is caught by the repository's standing guardrails
121+
These properties are *operational* (discharged by the build) only in
122+
the weak sense that the build enforces the postulate-free / `--safe`
123+
guardrails. They do not constitute an operational *conservativity
124+
proof*. Any reintroduction of a postulate or weakening of
125+
`--safe --without-K` is still caught by the standing guardrails
98126
(`establishment-plan.adoc` §"Sequencing and guardrails").
99127

100128
== Scope and non-claims
101129

102-
* This is conservativity over `MLTT+Σ` *as realised under
103-
`--safe --without-K`*. It is not a claim about extensional type
104-
theory, nor about theories with K or univalence.
130+
* This is *evidence for* conservativity over `MLTT+Σ` as realised
131+
under `--safe --without-K`. It is not a mechanised proof-theoretic
132+
conservativity theorem, and not a claim about extensional type
133+
theory or theories with K / univalence.
105134
* It is *not* claimed that the loss modality is interderivable with
106135
linear or dependent type strength — that comparison is a category
107-
error (`establishment-plan.adoc` §"The honest type-theoretic
108-
verdict"). The claim is narrower and exact: the loss-graded comonad
109-
is a conservative, definitional *modality* in the coeffect sense.
110-
* The funext boundary remains quarantined: `examples/Transport.agda`
111-
stalls where `Field = Fin n → ℚ` forces funext. No conservativity
112-
claim extends across that boundary; it is isolated by design.
136+
error. The claim is narrower and exact: the loss-graded *reindexing
137+
modality* is a conservative, definitional addition (not a graded
138+
comonad, not model-independent in the semantic sense).
139+
* Funext correction: there is *no* funext anywhere in the
140+
development. `examples/Transport.agda` *avoids* funext by a
141+
first-order carrier (`Vec ℚ n`); it does not "quarantine" a funext
142+
dependency. The real funext-relativity is the *pointwise-only*
143+
mediator property of the pullback presentation (`paper.adoc` §3),
144+
now disclosed as the boundary rather than presented as a feature.
145+
* Earn-back, scoped (follow-up F-2026-05-18a, 2026-05-18): the
146+
pullback's strict terminality is now mechanised *conditional on an
147+
explicit `funext` parameter* (`EchoPullbackUnivF4.agda`; not a
148+
postulate — the trusted base is unchanged), and a genuine second
149+
model of the *bare Echo functor* (not the modality) exists on the
150+
non-graph relation `StepND` (`EchoStepNDModelF2.agda`). These do
151+
*not* widen the conservativity claim above: it remains *evidence
152+
for*, not a proof, and the modality-level retractions stand.
113153

114154
== Revision policy
115155

@@ -124,3 +164,25 @@ recorded reason. Append-only revision history.
124164
`--safe --without-K` suite (conservative), and
125165
`EchoRelModel`/`EchoGradedComonad`/`EchoSeparating` (modality not
126166
axiom). Pillar D complete.
167+
* *2026-05-18 — metatheorem framing retracted.* Adversarial
168+
three-reviewer review plus a codebase pressure-test found the
169+
"conservativity metatheorem discharged operationally by the build"
170+
unsupported (a `--safe` build is not a proof-theoretic
171+
conservativity proof), the "two independent models" claim false
172+
(same grade poset, `refl` agreement), and "graded comonad"
173+
unsupported (no nested `D_r D_s`; thin-poset action only). Statement
174+
<<thm-conservativity>> rewritten from a metatheorem to *mechanised
175+
properties that are evidence for, not a proof of, conservativity*.
176+
Recorded reason: see `docs/retractions.adoc` (entry R-2026-05-18)
177+
and `paper.adoc` §"Reframing note". No Agda module changed; the
178+
artefacts are exactly as strong as before — only the prose claims
179+
are corrected downward.
180+
* *2026-05-18 — Gates F4/F2 earned back (scoped).* Added the
181+
scope/non-claims bullet recording that strict terminality is now
182+
mechanised conditional on an explicit `funext` parameter
183+
(`EchoPullbackUnivF4.agda`, no postulate) and that a genuine second
184+
model of the *bare Echo functor* exists on the non-graph relation
185+
`StepND` (`EchoStepNDModelF2.agda`). The conservativity statement
186+
<<thm-conservativity>> is unchanged: still *evidence for*, not a
187+
proof; modality-level retractions stand. Recorded reason:
188+
`docs/retractions.adoc` follow-up F-2026-05-18a.

0 commit comments

Comments
 (0)