Skip to content

Commit 5650dd0

Browse files
docs+annotate: Physics cluster — 38 inline AXIOM: + 4 §(d) DEBT entries (Phase 2e) (#66)
## Summary Phase 2e of the standards#203 trusted-base annotation rollout. Annotates the **Physics cluster** (Coq `LandauerDerivation.v` + `StatMech.v` + Lean `StatMech.lean`) so its 42 escape hatches are policy-compliant under \`scripts/check-trusted-base.sh\`. ### Changes - **11 inline \`(* AXIOM: ... *)\`** in \`proofs/coq/physics/LandauerDerivation.v\` (kB, temperature, Kolmogorov probability axioms, Shannon entropy postulates, second law, entropy_change_erasure, isothermal_work_bound, state_eq_dec — all §(c); duplicates flagged for follow-up 1+3). - **9 inline \`(* AXIOM: ... *)\`** in \`proofs/coq/physics/StatMech.v\` (same pattern; cross-references LandauerDerivation duplicates). - **14 inline \`-- AXIOM:\`** in \`proofs/lean4/StatMech.lean\` (mirrors Coq §(c) classifications). - **New "Phase 2e triage — Lean StatMech cluster" section** in \`docs/proof-debt.md\` classifying all 14 Lean axioms (all §(c)). - **4 new §(d) DEBT entries** in \`docs/proof-debt.md\` (Coq DISCHARGE-class): - \`StatMech.v:229\` \`reversible_zero_dissipation\` - \`LandauerDerivation.v:81\` \`shannon_entropy_additive\` - \`LandauerDerivation.v:277\` \`cno_preserves_shannon_entropy\` - \`LandauerDerivation.v:326\` \`cno_zero_energy_dissipation_derived\` - **Lean pending-triage count: 14 → 0** — Lean side now fully classified per standards#203. ### Verification \`bash ~/developer/repos/standards/scripts/check-trusted-base.sh .\` results: | | Undocumented | |---|---:| | Before this PR | 42/129 | | After this PR | 4/129 | | Drop | **−38** (11 Coq Landauer + 9 Coq StatMech + 14 Lean + 4 Coq §(d) DISCHARGE-mention) | Physics cluster errors → 0. Remaining 4 = Idris2 \`src/abi/Proofs/DivMod.idr\` (out of Phase 2 scope; BoJ vendored proofs). ### Note on Lean \`reversible_zero_dissipation\` The Coq counterpart (\`StatMech.v:229\`) is triaged DISCHARGE; the Lean side keeps it as §(c) AXIOM because no Lean-side derivation chain is in place yet. When the Coq DISCHARGE lands, the Lean side can be reclassified. ### Refs - Phase 1 triage: #58 - Phase 2a (Lambda): #60 - Phase 2b (CNOCategory): #61 - Phase 2c (Filesystem): #62 - Phase 2d (Quantum): #63 - Policy: [standards#203](hyperpolymath/standards#203) - CI enforcement: [standards#211](hyperpolymath/standards#211) ## Test plan - [x] \`check-trusted-base.sh\` Physics cluster errors → 0 (verified locally; cumulative 42 → 4) - [x] No code semantics changed; comments + docs only - [ ] CI green on this branch 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 282c204 commit 5650dd0

4 files changed

Lines changed: 169 additions & 4 deletions

File tree

docs/proof-debt.md

Lines changed: 67 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,42 @@ once a concrete basis-state model lands.
136136
All 11 §(c) entries above are annotated inline with `-- AXIOM:`
137137
leading comments.
138138

139+
## Phase 2e triage — Lean StatMech cluster (2026-05-27)
140+
141+
Fourth Lean cluster: `proofs/lean4/StatMech.lean` (14 axioms).
142+
143+
### Physical constants (§(c) AXIOM — duplicate of Coq, 4)
144+
145+
| Line | Identifier | Disposition |
146+
|-----:|------------|-------------|
147+
| 23 | `kB` | §(c) AXIOM (opaque, mirrors Coq StatMech.v:25) |
148+
| 24 | `kB_positive` | §(c) AXIOM (mirrors Coq StatMech.v:25) |
149+
| 27 | `temperature` | §(c) AXIOM (opaque, mirrors Coq StatMech.v:30) |
150+
| 28 | `temperature_positive` | §(c) AXIOM (mirrors Coq StatMech.v:30) |
151+
152+
### Probability + Shannon entropy (§(c) AXIOM — mirror Coq, 5)
153+
154+
| Line | Identifier | Disposition |
155+
|-----:|------------|-------------|
156+
| 36 | `prob_nonneg` | §(c) AXIOM (mirrors Coq StatMech.v:39) |
157+
| 40 | `prob_normalized` | §(c) AXIOM (mirrors Coq StatMech.v:45) |
158+
| 51 | `shannonEntropy` | §(c) AXIOM (opaque entropy functional) |
159+
| 54 | `shannon_entropy_nonneg` | §(c) AXIOM (mirrors Coq StatMech.v:67) |
160+
| 58 | `shannon_entropy_point_zero`| §(c) AXIOM (mirrors Coq StatMech.v:72) |
161+
162+
### Landauer + execution model (§(c) AXIOM, 5)
163+
164+
| Line | Identifier | Disposition |
165+
|-----:|------------|-------------|
166+
| 91 | `energyDissipatedPhys` | §(c) AXIOM (opaque physical energy primitive) |
167+
| 95 | `landauer_principle` | §(c) AXIOM (mirrors Coq StatMech.v:132) |
168+
| 107 | `postExecutionDist` | §(c) AXIOM (opaque execution-distribution primitive) |
169+
| 116 | `postExecutionDist_id_of_state_preserving` | §(c) AXIOM (bridge to per-state semantics; required because `postExecutionDist` is opaque) |
170+
| 142 | `reversible_zero_dissipation` | §(c) AXIOM (Coq counterpart is DISCHARGE; Lean keeps as §(c) until derivation chain lands) |
171+
172+
All 14 §(c) entries above are annotated inline with `-- AXIOM:`
173+
leading comments.
174+
139175
## (a) DISCHARGE backlog (Coq, 17)
140176

141177
Provable propositions currently stated as `Axiom`. Enumerated in
@@ -250,6 +286,34 @@ no longer in §(d).
250286
Triaged DISCHARGE in #58 (Phase 2d).
251287
- **Deadline**: INDEFINITE.
252288

289+
- `proofs/coq/physics/StatMech.v:229``reversible_zero_dissipation`
290+
- **Owner**: @hyperpolymath
291+
- **Plan**: derivable from `landauer_principle` + reversibility
292+
hypothesis. Triaged DISCHARGE in #58 (Phase 2e).
293+
- **Deadline**: INDEFINITE.
294+
295+
- `proofs/coq/physics/LandauerDerivation.v:81``shannon_entropy_additive`
296+
- **Owner**: @hyperpolymath
297+
- **Plan**: chain rule of entropy; provable from the definition of
298+
`H(X,Y)` given an independence hypothesis. Triaged DISCHARGE in #58
299+
(Phase 2e).
300+
- **Deadline**: INDEFINITE (blocked on `product_dist` semantics).
301+
302+
- `proofs/coq/physics/LandauerDerivation.v:277``cno_preserves_shannon_entropy`
303+
- **Owner**: @hyperpolymath
304+
- **Plan**: should follow from the CNO definition (state in = state
305+
out) + functional Shannon entropy. Triaged DISCHARGE in #58 (Phase 2e).
306+
- **Deadline**: INDEFINITE (blocked on bijection-preserves-entropy
307+
machinery).
308+
309+
- `proofs/coq/physics/LandauerDerivation.v:326``cno_zero_energy_dissipation_derived`
310+
- **Owner**: @hyperpolymath
311+
- **Plan**: name literally says `_derived`; the file admits this
312+
rather than discharging it. Should follow from
313+
`cno_preserves_shannon_entropy` + Landauer. Triaged DISCHARGE in #58
314+
(Phase 2e).
315+
- **Deadline**: INDEFINITE.
316+
253317
### Lean — provable, awaiting proof
254318

255319
- `proofs/lean4/LambdaCNO.lean:183``subst_closed_term`
@@ -299,10 +363,9 @@ no longer in §(d).
299363

300364
### Lean — pending triage
301365

302-
14 Lean axioms remain to be triaged (StatMech only; Lambda, Filesystem,
303-
and QuantumCNO clusters done in Phase 2a/2c/2d). Triage planned in
304-
cluster-sized PRs through 2026-06 — see this file's status block at
305-
the bottom.
366+
0 Lean axioms remain to be triaged — Lambda (Phase 2a), Filesystem
367+
(Phase 2c), QuantumCNO (Phase 2d), and StatMech (Phase 2e) clusters
368+
all done. Lean side fully classified per standards#203 as of 2026-05-27.
306369

307370
### Idris2 — pending triage
308371

proofs/coq/physics/LandauerDerivation.v

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,16 @@ Open Scope R_scope.
2525
(** Boltzmann constant: k_B = 1.380649 × 10^-23 J/K *)
2626
(** This is a measured physical constant, grounded in experiment *)
2727
Parameter kB : R.
28+
(* AXIOM: kB_positive; Boltzmann constant — physical constant. Duplicate of
29+
StatMech.v:25 + QuantumCNO.v:31 (see follow-up 1 in docs/proof-debt-triage.md).
30+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
2831
Axiom kB_positive : kB > 0.
2932

3033
(** Temperature in Kelvin (must be positive) *)
3134
Parameter temperature : R.
35+
(* AXIOM: temperature_positive; Temperature scalar — physical precondition.
36+
Duplicate of StatMech.v:30 + QuantumCNO.v:35 (see follow-up 1).
37+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
3238
Axiom temperature_positive : temperature > 0.
3339

3440
(** ** Foundation: Probability Theory *)
@@ -37,14 +43,24 @@ Axiom temperature_positive : temperature > 0.
3743
Definition StateDistribution : Type := ProgramState -> R.
3844

3945
(** Probability axioms (Kolmogorov) *)
46+
(* AXIOM: prob_nonneg; Kolmogorov probability axiom (non-negativity).
47+
Duplicate of StatMech.v:39 (see follow-up 3 in docs/proof-debt-triage.md).
48+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
4049
Axiom prob_nonneg :
4150
forall (P : StateDistribution) (s : ProgramState), P s >= 0.
4251

52+
(* AXIOM: prob_normalized; Kolmogorov probability axiom (Σp = 1).
53+
Duplicate of StatMech.v:45 (see follow-up 3).
54+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
4355
Axiom prob_normalized :
4456
forall (P : StateDistribution),
4557
exists (states : list ProgramState),
4658
fold_right (fun s acc => acc + P s) 0 states = 1.
4759

60+
(* AXIOM: state_eq_dec; Decidable equality over opaque `ProgramState`;
61+
needs oracle or §(b) refutation budget. Duplicate of StatMech.v:51
62+
`state_dec` (see follow-up 3). PROPERTY-TEST (§(b)) — treated as §(c)
63+
until a property-test budget is attached. *)
4864
Axiom state_eq_dec : forall s1 s2 : ProgramState, {s1 = s2} + {s1 <> s2}.
4965

5066
(** Point distribution (Dirac delta) *)
@@ -60,14 +76,22 @@ Parameter shannon_entropy : StateDistribution -> R.
6076
Definition log2 (x : R) : R := ln x / ln 2.
6177

6278
(** Shannon entropy axioms (from information theory) *)
79+
(* AXIOM: shannon_entropy_nonneg; Shannon entropy core inequality.
80+
Duplicate of StatMech.v:67 (see follow-up 3).
81+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
6382
Axiom shannon_entropy_nonneg :
6483
forall P : StateDistribution, shannon_entropy P >= 0.
6584

6685
(** Point distributions have zero entropy (no uncertainty) *)
86+
(* AXIOM: shannon_entropy_point_zero; H(δ_x) = 0. Duplicate of
87+
StatMech.v:72 (see follow-up 3).
88+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
6789
Axiom shannon_entropy_point_zero :
6890
forall s : ProgramState, shannon_entropy (point_dist s) = 0.
6991

7092
(** Entropy is maximized for uniform distribution *)
93+
(* AXIOM: shannon_entropy_uniform_max; Variant of Gibbs inequality for
94+
uniform distributions. §(c) per docs/proof-debt.md (Phase 2e triage). *)
7195
Axiom shannon_entropy_uniform_max :
7296
forall (P : StateDistribution) (n : nat) (states : list ProgramState),
7397
length states = n ->
@@ -78,6 +102,9 @@ Axiom shannon_entropy_uniform_max :
78102
Parameter product_dist : StateDistribution -> StateDistribution -> StateDistribution.
79103

80104
(** Entropy is additive for independent distributions *)
105+
(* Triaged DISCHARGE in docs/proof-debt-triage.md; enumerated as §(d) DEBT
106+
in docs/proof-debt.md (Phase 2e) — chain rule of entropy, provable from
107+
the definition of `H(X,Y)` given independence hypothesis. *)
81108
Axiom shannon_entropy_additive :
82109
forall P Q : StateDistribution,
83110
(* For independent P and Q *)
@@ -123,6 +150,8 @@ Qed.
123150
ΔS ≥ 0 for irreversible processes
124151
ΔS = 0 for reversible processes *)
125152

153+
(* AXIOM: second_law; Physical postulate (second law of thermodynamics).
154+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
126155
Axiom second_law :
127156
forall (P_initial P_final : StateDistribution),
128157
(* For any physical process *)
@@ -178,6 +207,8 @@ Definition erasure_final (s_final : ProgramState) : StateDistribution :=
178207
179208
This is a fundamental result from information theory.
180209
*)
210+
(* AXIOM: entropy_change_erasure; Landauer–Bennett result.
211+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
181212
Axiom entropy_change_erasure :
182213
forall (n : nat) (s_final : ProgramState),
183214
(n > 0)%nat ->
@@ -194,6 +225,8 @@ Axiom entropy_change_erasure :
194225
This is the minimum work that must be dissipated as heat.
195226
*)
196227

228+
(* AXIOM: isothermal_work_bound; Thermodynamic bound (Helmholtz free energy).
229+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
197230
Axiom isothermal_work_bound :
198231
forall (P_initial P_final : StateDistribution),
199232
work_dissipated P_initial P_final >=
@@ -274,6 +307,9 @@ Definition post_execution_dist (p : Program) (P : StateDistribution) : StateDist
274307
and μ is a probability measure, then H(μ) = H(T_*μ) where T_*μ is the
275308
pushforward measure. For the identity map, T_*μ = μ.
276309
*)
310+
(* Triaged DISCHARGE in docs/proof-debt-triage.md; enumerated as §(d) DEBT
311+
in docs/proof-debt.md (Phase 2e) — should follow from the CNO definition
312+
(state in = state out) + functional Shannon entropy. *)
277313
Axiom cno_preserves_shannon_entropy :
278314
forall (p : Program) (P : StateDistribution),
279315
is_CNO p ->
@@ -323,6 +359,9 @@ Qed.
323359
and is safely axiomatized given the complexity of the thermodynamic machinery
324360
required for a complete proof.
325361
*)
362+
(* Triaged DISCHARGE in docs/proof-debt-triage.md; enumerated as §(d) DEBT
363+
in docs/proof-debt.md (Phase 2e) — name literally says `_derived`; this
364+
file appears to admit the result rather than discharge it. *)
326365
Axiom cno_zero_energy_dissipation_derived :
327366
forall (p : Program) (P : StateDistribution),
328367
is_CNO p ->

proofs/coq/physics/StatMech.v

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,17 @@ Open Scope R_scope.
2222

2323
(** Boltzmann constant (J/K) *)
2424
Parameter kB : R.
25+
(* AXIOM: kB_positive; Boltzmann constant — physical constant. Duplicate of
26+
LandauerDerivation.v:28 + QuantumCNO.v:31 (see follow-up 1).
27+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
2528
Axiom kB_positive : kB > 0.
2629
(** In SI units: kB ≈ 1.380649×10⁻²³ J/K *)
2730

2831
(** Temperature (Kelvin) *)
2932
Parameter temperature : R.
33+
(* AXIOM: temperature_positive; Temperature scalar — physical precondition.
34+
Duplicate of LandauerDerivation.v:32 + QuantumCNO.v:35 (see follow-up 1).
35+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
3036
Axiom temperature_positive : temperature > 0.
3137
(** Room temperature ≈ 300 K *)
3238

@@ -36,18 +42,28 @@ Axiom temperature_positive : temperature > 0.
3642
Definition StateDistribution : Type := ProgramState -> R.
3743

3844
(** Axiom: Probabilities are non-negative *)
45+
(* AXIOM: prob_nonneg; Kolmogorov probability axiom (non-negativity).
46+
Duplicate of LandauerDerivation.v:40 (see follow-up 3).
47+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
3948
Axiom prob_nonneg :
4049
forall (P : StateDistribution) (s : ProgramState),
4150
P s >= 0.
4251

4352
(** Axiom: Probabilities sum to 1 (normalization) *)
4453
(** Note: Proper formalization requires measure theory *)
54+
(* AXIOM: prob_normalized; Kolmogorov probability axiom (Σp = 1).
55+
Duplicate of LandauerDerivation.v:43 (see follow-up 3).
56+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
4557
Axiom prob_normalized :
4658
forall (P : StateDistribution),
4759
exists (states : list ProgramState),
4860
fold_right Rplus 0 (map P states) = 1.
4961

5062
(** State decidability *)
63+
(* AXIOM: state_dec; Decidable equality over opaque `ProgramState`; needs
64+
oracle or §(b) refutation budget. Duplicate of LandauerDerivation.v:48
65+
`state_eq_dec` (see follow-up 3). PROPERTY-TEST (§(b)) — treated as
66+
§(c) until a property-test budget is attached. *)
5167
Axiom state_dec :
5268
forall s1 s2 : ProgramState, {s1 = s2} + {s1 <> s2}.
5369

@@ -64,16 +80,24 @@ Definition point_dist (s0 : ProgramState) : StateDistribution :=
6480
Parameter shannon_entropy : StateDistribution -> R.
6581

6682
(** Axiom: Shannon entropy is non-negative *)
83+
(* AXIOM: shannon_entropy_nonneg; Shannon entropy core inequality. Duplicate
84+
of LandauerDerivation.v:63 (see follow-up 3).
85+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
6786
Axiom shannon_entropy_nonneg :
6887
forall P : StateDistribution,
6988
shannon_entropy P >= 0.
7089

7190
(** Axiom: Point distributions have zero entropy *)
91+
(* AXIOM: shannon_entropy_point_zero; H(δ_x) = 0. Duplicate of
92+
LandauerDerivation.v:67 (see follow-up 3).
93+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
7294
Axiom shannon_entropy_point_zero :
7395
forall s : ProgramState,
7496
shannon_entropy (point_dist s) = 0.
7597

7698
(** Axiom: Entropy is maximized for uniform distribution *)
99+
(* AXIOM: shannon_entropy_maximum; H ≤ log n (Gibbs inequality).
100+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
77101
Axiom shannon_entropy_maximum :
78102
forall (P : StateDistribution) (states : list ProgramState),
79103
(forall s1 s2, In s1 states -> In s2 states -> P s1 = P s2) ->
@@ -129,6 +153,8 @@ Qed.
129153
(** Energy dissipated by a computational process (Joules) *)
130154
Parameter energy_dissipated_phys : StateDistribution -> StateDistribution -> R.
131155

156+
(* AXIOM: landauer_principle; Physical postulate (Landauer's principle).
157+
§(c) per docs/proof-debt.md (Phase 2e triage). *)
132158
Axiom landauer_principle :
133159
forall (P_initial P_final : StateDistribution),
134160
let ΔS := shannon_entropy P_final - shannon_entropy P_initial in
@@ -226,6 +252,9 @@ Qed.
226252

227253
(** Physical axiom: Reversible processes (ΔS = 0) dissipate no energy *)
228254
(** This is a consequence of Landauer's Principle and thermodynamic reversibility *)
255+
(* Triaged DISCHARGE in docs/proof-debt-triage.md; enumerated as §(d) DEBT
256+
in docs/proof-debt.md (Phase 2e) — derivable from `landauer_principle`
257+
+ reversibility hypothesis. *)
229258
Axiom reversible_zero_dissipation :
230259
forall P_initial P_final : StateDistribution,
231260
shannon_entropy P_initial = shannon_entropy P_final ->

0 commit comments

Comments
 (0)