You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
thermo: close the C+ identity-only gap (injective + Bishop-finite), pin O-THERMO-∞ (#58)
## What
Advances the **Thermodynamic — Landauer/Bennett** direction from its
~70% / C+ rating by closing the one concrete gap that drove that rating
and converting the residual into a single *falsifiable* obligation.
The C+ gap was specific: the only proved zero-cost (Bennett) instance
was `bennett-reversible-id-zero` — the **identity map, at index zero**.
`ThermodynamicOptimality(p) := fiber-erasure-bound p σ _≟_ T ≡ 0` was
otherwise unproved off that single point.
### Closed cases (proved)
All `--safe --without-K`, **zero postulates, zero escape pragmas**;
`proofs/agda/All.agda` + `proofs/agda/Smoke.agda` re-verify exit 0.
- `EchoFiberCount.FiberSize-fin-injective` — any injective
`f : Fin n → B` that hits `y` has fiber size exactly `1`
(generalises `FiberSize-fin-id-zero` off the identity *and* off
index zero).
- `EchoThermodynamics.bennett-reversible-injective` — zero erasure
bound for **every injective map** at every value it hits;
`bennett-reversible-id-zero` is now a corollary.
- `EchoThermodynamicsFinite` (new) — names the exact blocker to
generalising past `Fin n` (`fiber-erasure-bound` is routed through
`FiberSize-fin`, whose totality is structural recursion on the `Fin`
index bound) and removes it for **any Bishop-finite carrier** via
transport along an explicit bijection (record `FiniteDomain`):
`bennett-reversible-finite`, `landauer-collapse-finite`.
### Stated falsifiable obligation
- **O-THERMO-∞** (`docs/ECHO-CNO-BRIDGE.adoc` §"Thermodynamic
Bridge"): no `--safe`-total cost functional on an infinite carrier
(`ProgramState = ℕ → ℕ`) can agree with `fiber-erasure-bound` on the
finite restrictions. Stated with an explicit **kill condition**
(exhibit such a `cost`, or mechanise the impossibility) — not
softened to "future work".
## Honours retraction R-2026-05-18
Orthogonal to the retracted graded-comonad / two-models /
conservativity / universal-property / funext claims. No retracted
claim reinstated; no Agda module weakened or edited.
## Docs (same PR)
- `docs/ECHO-CNO-BRIDGE.adoc` §"Thermodynamic Bridge" — proved
generalisations, O-THERMO-∞, Theorem 4, AZ mapping row.
- `docs/STABILITY_ANALYSIS.md` §3.3 + coverage matrix — C+ 70% → B-
85%, single residual named.
- `docs/echo-types/MAP.adoc` — Thermodynamic Directions entry + status
tag (governance rule). Stays `[REAL*]` (real, still partial) until
O-THERMO-∞ is discharged or refuted.
## Base
Stacked on `docs/echo-types-master-map` (PR #54) because `MAP.adoc`
does not exist on `main` yet and the governance rule requires the
status-tag update in the same PR. Re-target to `main` once #54 lands.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| `NoSideEffects(p)` | `Echo p σ` is singleton (only `σ` maps to `σ`) |
142
142
| `ThermodynamicallyReversible(p)` | `Echo p σ ≃ Echo id σ` |
143
-
| `ThermodynamicOptimality(p)` | `fiber-erasure-bound p σ _≟_ T ≡ 0`_(proved at finite-domain `Fin n → B` only — see Theorem 4)_ |
143
+
| `ThermodynamicOptimality(p)` | `fiber-erasure-bound p σ _≟_ T ≡ 0`_(proved for every injective `p` on any Bishop-finite carrier — Theorem 4; infinite-carrier case = falsifiable obligation O-THERMO-∞)_ |
144
144
| `InformationPreservation(p)` | _no formalised analogue — `echo-information-loss` was never defined; see Theorem 5_ |
145
145
| `UniversalCNO(p)` | `∀ σ → Echo p σ ≃ Echo id σ` (NEW) |
146
146
| `ModelIndependence(p)` | `Echo f y ≃ Echo f' y'` across isomorphic models (NEW) |
@@ -219,7 +219,7 @@ actually in the proven suite.
219
219
3. **Fiber erasure bound**:
220
220
`fiber-erasure-bound f y _≟_ T = landauer-bound T (FiberSize-fin f y _≟_)`.
221
221
222
-
### Core Theorems (proved, finite domain only)
222
+
### Core Theorems (proved)
223
223
224
224
```agda
225
225
-- Bennett: if the fiber size at y is 1, the erasure bound is 0
@@ -240,11 +240,96 @@ landauer-collapse :
240
240
fiber-erasure-bound f y _≟_ T ≡ k * T * ⌊log₂ n⌋
241
241
```
242
242
243
-
### What is NOT proved
243
+
### The C+ gap, and how far the bound generalises (2026-05-18)
244
+
245
+
The `STABILITY_ANALYSIS.md` §3.3 ~70% / C+ rating was driven by a
246
+
single concrete gap: the only proved zero-cost (Bennett) instance was
247
+
`bennett-reversible-id-zero` — *the identity map, at index zero*. The
248
+
general predicate `ThermodynamicOptimality(p) := fiber-erasure-bound
249
+
p σ _≟_ T ≡ 0` (Absolute-Zero mapping table) was otherwise unproved
250
+
off that one point. Two strictly stronger cases are now closed, and
251
+
the residual is pinned to one falsifiable obligation.
252
+
253
+
**Proved — generalisation past the identity (`EchoFiberCount`,
254
+
`EchoThermodynamics`).** Zero erasure cost holds for *every injective
255
+
map*, at *every value it hits*, not just `id`/`zero`:
256
+
257
+
```agda
258
+
FiberSize-fin-injective :
259
+
(f : Fin n → B) (y : B) (_≟_ : DecidableEquality B)
260
+
(inj : ∀ {i j} → f i ≡ f j → i ≡ j)
261
+
(i₀ : Fin n) → f i₀ ≡ y →
262
+
FiberSize-fin f y _≟_ ≡ 1
263
+
264
+
bennett-reversible-injective :
265
+
(f : Fin n → B) (y : B) (_≟_ : DecidableEquality B)
266
+
(inj : ∀ {i j} → f i ≡ f j → i ≡ j)
267
+
(i₀ : Fin n) → f i₀ ≡ y → (T : Temperature) →
268
+
fiber-erasure-bound f y _≟_ T ≡ 0
269
+
```
270
+
271
+
This is the exact constructive content of "reversible ⇒ no
272
+
Landauer-mandated dissipation": injectivity *is* reversibility, a
273
+
singleton fiber *is* the absence of fan-in. `bennett-reversible-id-zero`
274
+
is now a corollary, not the only instance.
275
+
276
+
**Proved — generalisation past `Fin n` to any Bishop-finite carrier
277
+
(`EchoThermodynamicsFinite`).** What blocks `Fin n → B` from
278
+
generalising is *exactly* one thing: `fiber-erasure-bound` is routed
279
+
through `FiberSize-fin`, whose totality is structural recursion on the
280
+
index bound `n` of `Fin n`. That is removed for any carrier `A`
281
+
carrying an explicit bijection `A ≃ Fin n` (record `FiniteDomain`),
282
+
by transport along the bijection — no new axiom, `--safe --without-K`,
283
+
zero postulates:
284
+
285
+
```agda
286
+
record FiniteDomain (A : Set) : Set where
287
+
field card : ℕ; to : A → Fin card; from : Fin card → A
288
+
from∘to : ∀ a → from (to a) ≡ a
289
+
to∘from : ∀ i → to (from i) ≡ i
290
+
291
+
bennett-reversible-finite :
292
+
(fd : FiniteDomain A) (f : A → B) (y : B) (_≟_ : DecidableEquality B)
293
+
(inj : ∀ {a a′} → f a ≡ f a′ → a ≡ a′)
294
+
(a₀ : A) → f a₀ ≡ y → (T : Temperature) →
295
+
fiber-erasure-bound-fin fd f y _≟_ T ≡ 0
296
+
297
+
landauer-collapse-finite :
298
+
(fd : FiniteDomain A) (f : A → B) (y : B) (_≟_ : DecidableEquality B) →
299
+
(∀ a → f a ≡ y) → (T : Temperature) →
300
+
fiber-erasure-bound-fin fd f y _≟_ T ≡ k * T * ⌊log₂ card fd ⌋
301
+
```
302
+
303
+
### Open obligation O-THERMO-∞ (precise, falsifiable — not softened)
304
+
305
+
The infinite carrier (`ProgramState = ℕ → ℕ`, or any `A` with no
306
+
`A ≃ Fin n`) does **not** generalise, and the reason is now stated
307
+
sharply enough to be refuted:
308
+
309
+
> **O-THERMO-∞.** There is no function
310
+
> `cost : (ℕ → B) → (y : B) → DecidableEquality B → Temperature → Energy`
311
+
> that is (i) `--safe --without-K` total (no postulate, no escape
312
+
> pragma), and (ii) agrees with `fiber-erasure-bound` on every finite
313
+
> restriction `Fin n ↪ ℕ` (equivalently: agrees with
314
+
> `fiber-erasure-bound-fin` for every `FiniteDomain`-witnessed
315
+
> sub-carrier).
316
+
>
317
+
> **Falsifier (how to kill this obligation).** Exhibit such a `cost`
318
+
> and a mechanised proof of (i)+(ii); that refutes O-THERMO-∞ and
319
+
> earns the claim back. **Witness that it bites:** the constant map
320
+
> `c : ℕ → B`, `c _ = y₀` has `Echo c y₀ ≃ ℕ` — an infinite fiber.
321
+
> Clause (ii) instantiated at the finite restrictions forces, by
322
+
> `landauer-collapse`, `cost c y₀ _≟_ T = k · T · ⌊log₂ N⌋` with the
323
+
> finite counts `N = 0,1,2,…` unboundedly — so any total `cost` must
324
+
> assign `⌊log₂_⌋` of a quantity with no natural-number value. The
325
+
> obligation is discharged in exactly one of two ways: a constructive
326
+
> `cost` meeting (i)+(ii) (impossibility refuted), or a mechanised
327
+
> proof that (i)∧(ii) ⊢ ⊥ (impossibility confirmed). Neither is in
328
+
> the suite; until one lands, `ThermodynamicOptimality(p)` over an
329
+
> infinite `ProgramState` is **`[OPEN]`**, not "future work".
330
+
331
+
### What is still NOT proved (unchanged)
244
332
245
-
* `cno-zero-energy` over the original `ProgramState = ℕ → ℕ`
246
-
carrier — counting fibers on an infinite type is not
247
-
constructively meaningful here.
248
333
* `echo-information-loss` and `cno-zero-information-loss` —
249
334
`echo-information-loss` was never defined in any module;
250
335
the prior claims rested on undeclared identifiers.
@@ -254,14 +339,15 @@ landauer-collapse :
254
339
### Connection to Absolute Zero Goals
255
340
256
341
1. **Landauer's Principle (shape)**: formalised via `landauer-bound`
257
-
and `fiber-erasure-bound` at the finite-domain level.
258
-
2. **Thermodynamic Reversibility (shape)**: `bennett-reversible` is
259
-
proved as a corollary of `FiberSize-fin ≡ 1` and `⌊log₂ 1⌋ ≡ 0`.
260
-
`bennett-reversible-id-zero` is the proved instance for
261
-
`id : Fin (suc m) → Fin (suc m)` at index zero. The general
262
-
"all CNOs dissipate zero energy" claim over `ProgramState` is
263
-
open.
264
-
4. **Information Theory**: not bridged. Open work — see
342
+
and `fiber-erasure-bound`; now at the full Bishop-finite-carrier
343
+
level, not merely `Fin n`.
344
+
2. **Thermodynamic Reversibility (shape)**: proved for *every*
345
+
injective map (`bennett-reversible-injective`) and lifted to any
0 commit comments