Skip to content

Commit 478c560

Browse files
hyperpolymathclaude
andcommitted
refactor(proofs/coq): consolidate physics constants in CNO.PhysicsConstants (Follow-up 1)
Replaces three triplicated `Parameter kB / Axiom kB_positive` + `Parameter temperature / Axiom temperature_positive` declarations across QuantumCNO.v, StatMech.v, and LandauerDerivation.v with a single canonical source at `proofs/coq/common/PhysicsConstants.v`. Each caller now does `Require Import CNO.PhysicsConstants` instead of redeclaring. Net escape-hatch count: 129 → 125 (−4: removed 6 sites, added 2 canonical sites). `check-trusted-base.sh` undocumented count unchanged at 4 (Idris2 BoJ markers; out of Phase 2 scope). Verification: - `coqc -R common CNO common/PhysicsConstants.v` — OK - `coqc -R common CNO physics/StatMech.v` — OK - `coqc -R common CNO physics/LandauerDerivation.v` — OK - `coqc -R common CNO quantum/QuantumCNO.v` — OK - `check-trusted-base.sh` — 4/125 undocumented (unchanged) Refs: docs/proof-debt-triage.md (Phase 1, #58); Follow-up 1 listed in "Follow-ups surfaced by triage", now marked DONE in the same file. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5650dd0 commit 478c560

6 files changed

Lines changed: 70 additions & 47 deletions

File tree

docs/proof-debt-triage.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,12 @@ These are concrete sub-projects that fall out of the table. Each is
161161
its own PR-sized piece of work — none of them is in scope for this
162162
triage PR.
163163

164-
1. **De-duplicate physics constants.** `kB_positive` and
165-
`temperature_positive` are axiomatised three times (QuantumCNO,
166-
StatMech, LandauerDerivation). Move to a shared `Physics.Constants`
167-
module and import.
164+
1. **De-duplicate physics constants.** ✅ DONE 2026-05-27.
165+
`kB_positive` and `temperature_positive` previously axiomatised
166+
three times (QuantumCNO, StatMech, LandauerDerivation); now
167+
consolidated in `proofs/coq/common/PhysicsConstants.v` and imported
168+
via `Require Import CNO.PhysicsConstants`. Net: 129 → 125 markers
169+
(−4: removed 6 sites, added 2 canonical sites).
168170
2. **De-duplicate quantum laws.** `unitary_preserves_entropy` and
169171
`no_cloning` appear in both `QuantumMechanicsExact.v` and
170172
`QuantumCNO.v` with the same name. Pick one as canonical.

proofs/coq/_CoqProject

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
-R common CNO
22
-R malbolge Malbolge
33

4+
common/PhysicsConstants.v
45
common/CNO.v
56
malbolge/MalbolgeCore.v
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
(** * Physical Constants — Shared Across CNO Theory
2+
3+
Single source of truth for the [kB] (Boltzmann constant) and
4+
[temperature] parameters that show up in the quantum and statistical
5+
mechanics modules. Consolidates triplicated declarations from
6+
[QuantumCNO.v], [StatMech.v], and [LandauerDerivation.v] (Follow-up 1
7+
of [docs/proof-debt-triage.md]).
8+
9+
Author: Jonathan D. A. Jewell
10+
Project: Absolute Zero
11+
License: MPL-2.0
12+
*)
13+
14+
Require Import Coq.Reals.Reals.
15+
16+
Open Scope R_scope.
17+
18+
(** ** Boltzmann constant *)
19+
20+
(** Boltzmann constant [k_B] (J/K). In SI units:
21+
[kB ≈ 1.380649 × 10^{-23} J/K]. *)
22+
Parameter kB : R.
23+
24+
(* AXIOM: kB_positive; Boltzmann constant — physical constant.
25+
Consolidated from QuantumCNO.v:31, StatMech.v:25,
26+
LandauerDerivation.v:28 (Follow-up 1 of docs/proof-debt-triage.md).
27+
§(c) per docs/proof-debt.md. *)
28+
Axiom kB_positive : kB > 0.
29+
30+
(** ** Temperature *)
31+
32+
(** Temperature in Kelvin (must be positive). Room temperature ≈ 300 K. *)
33+
Parameter temperature : R.
34+
35+
(* AXIOM: temperature_positive; Temperature scalar — physical precondition.
36+
Consolidated from QuantumCNO.v:35, StatMech.v:30,
37+
LandauerDerivation.v:32 (Follow-up 1 of docs/proof-debt-triage.md).
38+
§(c) per docs/proof-debt.md. *)
39+
Axiom temperature_positive : temperature > 0.

proofs/coq/physics/LandauerDerivation.v

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,20 @@ Require Import Coq.micromega.Psatz.
1616
Require Import Coq.Lists.List.
1717
Require Import Lia.
1818
Require Import CNO.CNO.
19+
(* Shared physics constants — kB, temperature, kB_positive,
20+
temperature_positive. See proofs/coq/common/PhysicsConstants.v
21+
(consolidated by Follow-up 1 of docs/proof-debt-triage.md). *)
22+
Require Import CNO.PhysicsConstants.
1923
Import ListNotations.
2024

2125
Open Scope R_scope.
2226

23-
(** ** Physical Constants (Measured Values, Not Derived) *)
27+
(** ** Physical Constants (Measured Values, Not Derived)
2428
25-
(** Boltzmann constant: k_B = 1.380649 × 10^-23 J/K *)
26-
(** This is a measured physical constant, grounded in experiment *)
27-
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). *)
31-
Axiom kB_positive : kB > 0.
32-
33-
(** Temperature in Kelvin (must be positive) *)
34-
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). *)
38-
Axiom temperature_positive : temperature > 0.
29+
Boltzmann constant [k_B = 1.380649 × 10^{-23} J/K] and [temperature]
30+
in Kelvin (must be positive) are imported from [CNO.PhysicsConstants]
31+
(consolidated by Follow-up 1). These are measured physical constants,
32+
grounded in experiment. *)
3933

4034
(** ** Foundation: Probability Theory *)
4135

proofs/coq/physics/StatMech.v

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,19 @@ Require Import Coq.Logic.FunctionalExtensionality.
1414
Require Import Coq.Lists.List.
1515
Require Import Coq.micromega.Psatz.
1616
Require Import CNO.CNO.
17+
(* Shared physics constants — kB, temperature, kB_positive,
18+
temperature_positive. See proofs/coq/common/PhysicsConstants.v
19+
(consolidated by Follow-up 1 of docs/proof-debt-triage.md). *)
20+
Require Import CNO.PhysicsConstants.
1721
Import ListNotations.
1822

1923
Open Scope R_scope.
2024

21-
(** ** Physical Constants *)
25+
(** ** Physical Constants
2226
23-
(** Boltzmann constant (J/K) *)
24-
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). *)
28-
Axiom kB_positive : kB > 0.
29-
(** In SI units: kB ≈ 1.380649×10⁻²³ J/K *)
30-
31-
(** Temperature (Kelvin) *)
32-
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). *)
36-
Axiom temperature_positive : temperature > 0.
37-
(** Room temperature ≈ 300 K *)
27+
[kB], [temperature], [kB_positive], and [temperature_positive] are
28+
imported from [CNO.PhysicsConstants] (consolidated by Follow-up 1).
29+
In SI units: [kB ≈ 1.380649×10⁻²³ J/K]; room temperature ≈ 300 K. *)
3830

3931
(** ** Probability Distributions *)
4032

proofs/coq/quantum/QuantumCNO.v

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,18 @@ Require Import Coq.Reals.Reals.
2020
Require Import CNO.Complex.
2121
Require Import Coq.Logic.FunctionalExtensionality.
2222
Require Import CNO.CNO.
23+
(* Shared physics constants — kB, temperature, kB_positive,
24+
temperature_positive. See proofs/coq/common/PhysicsConstants.v
25+
(consolidated by Follow-up 1 of docs/proof-debt-triage.md). *)
26+
Require Import CNO.PhysicsConstants.
2327

2428
Open Scope R_scope.
2529
Open Scope C_scope.
2630

27-
(** ** Physical Constants (for Landauer principle) *)
31+
(** ** Physical Constants (for Landauer principle)
2832
29-
(** Boltzmann constant (J/K) *)
30-
Parameter kB : R.
31-
(* AXIOM: kB_positive; Boltzmann constant — physical constant.
32-
§(c) per docs/proof-debt.md (Phase 2d triage). *)
33-
Axiom kB_positive : kB > 0.
34-
35-
(** Temperature (Kelvin) *)
36-
Parameter temperature : R.
37-
(* AXIOM: temperature_positive; Temperature scalar — physical precondition.
38-
§(c) per docs/proof-debt.md (Phase 2d triage). *)
39-
Axiom temperature_positive : temperature > 0.
33+
[kB], [temperature], [kB_positive], and [temperature_positive] are
34+
imported from [CNO.PhysicsConstants] (consolidated by Follow-up 1). *)
4035

4136
(** ** Quantum State Representation *)
4237

0 commit comments

Comments
 (0)