Skip to content

Commit f67fbe6

Browse files
committed
proof(entropy): entropy-blind-parametric — parametric-distribution non-distinguishing
Generalises EchoEntropy's discrete fibre-count blindness (Headline 3, entropy-shadow-blind, a function of a single ℕ count) to the parametric form the companion remark flagged open: any information functional H : (Fin 2 → W) → X of any fibre-determined distribution over the fibre of collapse at tt agrees on echo-true and echo-false (entropy-blind-parametric), paired with the matched-negative that a witness-determined distribution distinguishes (entropy-witness-distinguishes, via sigma-distinguishes). The non-distinguishing now holds for ANY real-/rational-/abstract-valued entropy, Renyi entropy or mutual-information functional once supplied — no reals/log library needed, the blindness is structural. Constructing a concrete real-valued H(P) = -Sigma p log p remains an orthogonal reals+logarithm task, independent of Echo, and is deliberately not attempted. Verified: agda proofs/agda/Smoke.agda + proofs/agda/All.agda exit 0 under --safe --without-K, zero postulates, no funext. Both headlines pinned in Smoke.agda. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWMMxryCcPrAjJ8tuGvygG
1 parent 7020621 commit f67fbe6

2 files changed

Lines changed: 90 additions & 12 deletions

File tree

proofs/agda/EchoEntropy.agda

Lines changed: 88 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,21 @@
5353
-- -- matched-negative: proj₁ DOES
5454
-- distinguish (cited from
5555
-- sigma-distinguishes)
56+
-- * entropy-blind-parametric -- parametric: any functional of any
57+
-- fibre-determined distribution is blind
58+
-- * entropy-witness-distinguishes -- matched-negative (parametric): a
59+
-- witness-determined distribution
60+
-- distinguishes
5661
--
57-
-- Scope guardrail. The theorem proved here is the discrete form:
58-
-- "any function factoring through the fibre count is constant on
59-
-- echo-true vs echo-false". The real-valued form quantifying over
60-
-- a parametric probability distribution is a strict generalisation
61-
-- and is NOT formalised — see the companion remark at the end of
62-
-- the file.
62+
-- Scope guardrail. Two non-distinguishing forms are proved: the
63+
-- discrete one ("any function of the fibre count is constant on
64+
-- echo-true vs echo-false") and its parametric generalisation
65+
-- (`entropy-blind-parametric`: any functional of any fibre-determined
66+
-- distribution is constant, with `entropy-witness-distinguishes` the
67+
-- matched-negative). What is NOT formalised is only the *construction*
68+
-- of a concrete real-valued `H(P) = -Σ p log p` — an orthogonal
69+
-- reals/logarithm task; the non-distinguishing already covers any such
70+
-- functional once supplied. See the companion remark at the end.
6371

6472
module EchoEntropy where
6573

@@ -206,15 +214,83 @@ witness-distinguishes-where-entropy-cannot :
206214
(λ g g echo-true ≢ g echo-false)
207215
witness-distinguishes-where-entropy-cannot = sigma-distinguishes
208216

217+
----------------------------------------------------------------------
218+
-- Parametric generalisation: arbitrary distribution, arbitrary
219+
-- information functional.
220+
--
221+
-- Headline 3 (`entropy-shadow-blind`) covers any function of the
222+
-- fibre *count* — a single `ℕ`. The strictly stronger statement the
223+
-- companion remark flags as open quantifies instead over a whole
224+
-- *distribution* across the fibre — the data a real-valued
225+
-- `H(P) = -Σ p log p` actually consumes — valued in an arbitrary
226+
-- weight type `W` and fed to an arbitrary information functional
227+
-- `H : (Fin 2 → W) → X` (Shannon / Rényi entropy, mutual
228+
-- information, the raw probability vector, …).
229+
--
230+
-- The fibre of `collapse` at `tt` is the whole domain `Fin 2`,
231+
-- shared by both echoes. A distribution *read off the fibre* (not off
232+
-- the witness `proj₁ e`) does not mention the echo, so any functional
233+
-- of it is blind. This discharges the *non-distinguishing* content of
234+
-- the "parametric probability distribution" item for ANY such
235+
-- functional, with no reals/log library required — the blindness is
236+
-- structural. Constructing a concrete real-valued `-Σ p log p` is an
237+
-- orthogonal analysis task (a reals + logarithm formalisation),
238+
-- independent of Echo, and is deliberately NOT attempted here.
239+
----------------------------------------------------------------------
240+
241+
-- A fibre-determined distribution valued in `W`: a weight per fibre
242+
-- index, chosen independently of which echo is held. It ignores its
243+
-- echo argument — that is exactly what "read off the fibre, not the
244+
-- witness" means.
245+
fibre-distribution : {W : Set ℓ} (Fin 2 W) Echo collapse tt (Fin 2 W)
246+
fibre-distribution P _ = P
247+
248+
----------------------------------------------------------------------
249+
-- Headline 6 (positive, parametric). Any information functional `H`
250+
-- of any fibre-determined distribution `P` agrees on `echo-true` and
251+
-- `echo-false`. Strictly generalises Headline 3 from a function of
252+
-- the count to a functional of the full distribution — covering
253+
-- real-/rational-/abstract-valued entropy the moment such a
254+
-- functional is supplied. Definitional: `fibre-distribution P`
255+
-- ignores its echo argument.
256+
----------------------------------------------------------------------
257+
258+
entropy-blind-parametric :
259+
{W X : Set ℓ}
260+
(P : Fin 2 W) (H : (Fin 2 W) X)
261+
H (fibre-distribution P echo-true) ≡ H (fibre-distribution P echo-false)
262+
entropy-blind-parametric P H = refl
263+
264+
----------------------------------------------------------------------
265+
-- Headline 7 (negative companion, parametric). A distribution read
266+
-- off the WITNESS — here every index carries the distinguishing bit
267+
-- `proj₁ sigma-distinguishes e` — DOES separate the two echoes under
268+
-- a functional that samples it. Matched-negative for Headline 6:
269+
-- blindness holds for fibre-determined distributions and fails for
270+
-- witness-determined ones, mirroring the fibre-vs-witness split of
271+
-- the discrete result.
272+
----------------------------------------------------------------------
273+
274+
witness-distribution : Echo collapse tt (Fin 2 Bool)
275+
witness-distribution e _ = proj₁ sigma-distinguishes e
276+
277+
entropy-witness-distinguishes :
278+
Σ ((Fin 2 Bool) Bool)
279+
(λ H H (witness-distribution echo-true) ≢ H (witness-distribution echo-false))
280+
entropy-witness-distinguishes = (λ d d zero) , proj₂ sigma-distinguishes
281+
209282
----------------------------------------------------------------------
210283
-- Companion remark on what is NOT claimed.
211284
--
212-
-- * Real-valued Shannon entropy `H(P) = -Σ p log p` for a parametric
213-
-- probability distribution `P` is NOT formalised. The proof above
214-
-- uses the discrete fibre-count proxy, which is the uniform-prior
215-
-- surrogate. Lifting to a parametric distribution requires either
216-
-- a rationals/reals layer or an axiomatic `Probability` interface,
217-
-- neither of which lives in this repo.
285+
-- * The *non-distinguishing* content for a parametric distribution is
286+
-- now formalised: `entropy-blind-parametric` (Headline 6) shows any
287+
-- information functional of any fibre-determined distribution is
288+
-- witness-blind, and `entropy-witness-distinguishes` (Headline 7) is
289+
-- the matched-negative for witness-determined distributions. What
290+
-- remains unformalised is only the *construction* of a concrete
291+
-- real-valued `H(P) = -Σ p log p` — a reals + logarithm formalisation,
292+
-- an analysis task orthogonal to Echo. Headline 6 already covers it
293+
-- for ANY such functional the moment one is supplied.
218294
--
219295
-- * Mutual information `I(X; Y) = H(X) - H(X|Y)` is not formalised
220296
-- either. The corresponding Echo-side statement would be:

proofs/agda/Smoke.agda

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,8 @@ open import EchoEntropy using
572572
; entropy-shadow-blind
573573
; shannon-shadow-blind
574574
; witness-distinguishes-where-entropy-cannot
575+
; entropy-blind-parametric
576+
; entropy-witness-distinguishes
575577
)
576578

577579
open import EchoThermodynamicsFinite using

0 commit comments

Comments
 (0)