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
echo-types: Bennett on an arbitrary carrier + O-THERMO-∞ closed-negative (#60)
Thermodynamic-bridge continuation. **Stacked on PR #58** (base =
`thermo/bennett-injective-finite-stack-2026-05-18`, itself on PR #54
`docs/echo-types-master-map`). Depends on #58's
`bennett-reversible-injective` / `FiberSize-fin-injective` /
`FiberSize-fin-const` and on MAP.adoc (only on the #54 branch).
**Re-target chain:** #54→main, then #58→main, then **this PR→main**.
(Automated poll armed; merges out-of-band.)
This PR closes the thermodynamic pillar: **no open obligation remains**
for the Thermodynamic Direction (`[REAL*]` → `[REAL]`, B- → B / ~95%).
## Part 1 — Bennett zero-cost on an arbitrary carrier (Steps 1–3)
The finiteness in PR #58 / `EchoThermodynamicsFinite` was an artefact of
routing cost through `FiberSize-fin` (an enumeration); Bennett's
physical content (no fan-in) needs no finiteness.
1. **`FiberSubsingleton` + `injective⇒fiber-subsingleton`** — K-free
`--without-K`-safe "no fan-in" predicate, for an **arbitrary** carrier
`A : Set a`. (Full fibre `isProp` would need `B` an h-set/UIP,
unavailable under `--without-K`; the first-projection form is what the
count needs.)
2. **`bennett-reversible-arbitrary`** — Bennett zero-cost for every
injective map on **any** carrier, no `Fin`/`FiniteDomain`, via an
occupancy-keyed `reversible-erasure-cost`. **Anti-vacuity:**
`occupancy≡FiberSize-fin` + `bennett-arbitrary-refines-finite` prove it
coincides with and strictly subsumes #58's established count.
3. **`bennett-reversible-cno-identity`** — instantiated at `cno-identity
: Program → Program` over the genuine **infinite** absolute-zero
`Program` carrier: "a CNO dissipates zero Landauer energy" is now a real
theorem, not the historically vacuous claim.
`EchoFiberCount` gains `FiberSize-fin-subsingleton`
(`FiberSize-fin-injective` is its corollary; kept as-is upstream for pin
stability).
## Part 2 — O-THERMO-∞ discharged negatively → `[CLOSED-NEG]`
Route (a): mechanise the impossibility. `EchoThermoCollapseImpossible`
proves the obligation's **own kill condition, second horn — (i)∧(ii) ⊢ ⊥
— verbatim**, for its named witness:
- `nat-into-collapse-fiber{-injective}`: `ℕ ↪ Echo (const y₀) y₀` — the
collapse fiber is infinite (the structural reason no finite count
exists).
- `collapse-cost-impossible`: any total `--safe` `cost` agreeing with
`fiber-erasure-bound` on every finite restriction of the constant map is
impossible — clause (ii) at `n = 1, 2` (`T = 1`, via
`FiberSize-fin-const`) forces its single value to be both `0` and `1`.
The quantitative-collapse functional provably does **not** extend to an
infinite carrier as a total `--safe` function: a settled negative
boundary, **not** a softened "future work" item and **not** a defect.
Orthogonal to the Bennett zero direction (closed for all carriers, Part
1).
## Verification
- All `--safe --without-K`, **zero postulates, zero escape pragmas**
(the lone `postulate` string is the comment false-positive class —
EchoKernel precedent).
- `Smoke.agda` + `All.agda` typecheck (exit 0); all new headlines pinned
in `Smoke.agda`.
- Governance docs updated same PR per the MAP rule:
`ECHO-CNO-BRIDGE.adoc` §"Thermodynamic Bridge" (O-THERMO-∞ →
`[CLOSED-NEG]`), `STABILITY_ANALYSIS.md` §3.3 (B / ~95%, with explicit
rationale for the freeze-lift), `docs/echo-types/MAP.adoc` (`[REAL*]` →
`[REAL]`, proofs list).
Honours retraction R-2026-05-18 — orthogonal; nothing retracted is
reinstated. The separate Information-Theory bridge (Theorem 5) remains
unbuilt by design — a different Direction.
🤖 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
150
| `ThermodynamicallyReversible(p)` | `Echo p σ ≃ Echo id σ` |
143
-
| `ThermodynamicOptimality(p)` | `fiber-erasure-bound p σ _≟_ T ≡ 0`_(proved for every injective `p` on anyBishop-finite carrier — Theorem 4; infinite-carrier case = falsifiable obligation O-THERMO-∞)_ |
151
+
| `ThermodynamicOptimality(p)` | `reversible-erasure-cost p σ d T ≡ 0`_(proved for every injective `p` on **any** carrier — Bishop-finite via `fiber-erasure-bound`, arbitrary/infinite incl. the `Program` CNO via `reversible-erasure-cost` — Theorem 4; the quantitative-collapse functional on an infinite carrier is settled `[CLOSED-NEG]` — impossibility mechanised, `collapse-cost-impossible`)_ |
144
152
| `InformationPreservation(p)` | _no formalised analogue — `echo-information-loss` was never defined; see Theorem 5_ |
145
153
| `UniversalCNO(p)` | `∀ σ → Echo p σ ≃ Echo id σ` (NEW) |
146
154
| `ModelIndependence(p)` | `Echo f y ≃ Echo f' y'` across isomorphic models (NEW) |
@@ -300,33 +308,84 @@ landauer-collapse-finite :
300
308
fiber-erasure-bound-fin fd f y _≟_ T ≡ k * T * ⌊log₂ card fd ⌋
301
309
```
302
310
303
-
### Open obligation O-THERMO-∞ (precise, falsifiable — not softened)
311
+
**Proved — Bennett zero-cost on an _arbitrary_ carrier, past
312
+
Bishop-finite (`EchoThermodynamicsArbitrary`).** The finiteness in the
313
+
two results above is an artefact of routing cost through
314
+
`FiberSize-fin` (an enumeration); the *physical content* of Bennett —
315
+
a reversible map has no fan-in — needs no finiteness at all. An
316
+
injective `f : A → B` has a subsingleton fiber for *any*`A : Set a`.
317
+
Keying the Bennett cost on a decidable-inhabitation occupancy instead
318
+
of an enumeration discharges this with no finiteness hypothesis,
319
+
`--safe --without-K`, zero postulates:
304
320
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:
321
+
```agda
322
+
FiberSubsingleton f y = (p q : Echo f y) → proj₁ p ≡ proj₁ q -- K-free
323
+
324
+
injective⇒fiber-subsingleton : -- any A
325
+
(inj : ∀ {x x′} → f x ≡ f x′ → x ≡ x′) → FiberSubsingleton f y
308
326
309
-
> **O-THERMO-∞.** There is no function
327
+
bennett-reversible-arbitrary : -- A : Set a arbitrary; no Fin, no ≃
328
+
(inj : ∀ {x x′ : A} → f x ≡ f x′ → x ≡ x′)
329
+
(d : Dec (Echo f y)) (T : Temperature) →
330
+
reversible-erasure-cost f y d T ≡ 0
331
+
```
332
+
333
+
This is **not** a vacuous re-definition: `occupancy≡FiberSize-fin`
334
+
proves the occupancy *coincides with* the established honest count
335
+
`FiberSize-fin` on every finite restriction under the subsingleton
336
+
hypothesis, and `bennett-arbitrary-refines-finite` shows it strictly
337
+
subsumes the `Fin n` result of PR #58. The `--without-K` reason
338
+
for the first-projection form (not full fiber `isProp`) is recorded in
339
+
the module header: full `isProp` needs `B` an h-set / UIP, unavailable
340
+
under `--without-K`; the projection form is K-free provable from
341
+
injectivity and is exactly what the count needs.
342
+
343
+
**The real CNO theorem, on the infinite carrier.** `cno-identity :
344
+
Program → Program` (the absolute-zero `Program = List Instruction`
345
+
carrier — *infinite*, the very `ProgramState`-flavoured type the
346
+
original companion remarks disclaimed) is injective, so
347
+
`bennett-reversible-cno-identity` gives erasure cost `≡ 0` at every
348
+
fiber and temperature. "A CNO dissipates zero Landauer energy" is now
349
+
a *real* theorem for the identity/injective CNO over the genuine
350
+
infinite carrier — no longer the vacuous claim the deleted
0 commit comments