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
## Summary
Mechanical follow-ups 1, 2, 3 from the Phase 1 proof-debt triage (#58).
Consolidates triplicated / duplicated trusted-base axioms into shared
modules and removes dead duplicate copies, reducing the estate trust
base by **11 markers** (129 → 118) without changing semantics.
### Follow-up 1 — physics constants (`PhysicsConstants.v`)
- **New**: `proofs/coq/common/PhysicsConstants.v` — single declaration
of `kB`, `kB_positive`, `temperature`, `temperature_positive`.
- **Updated**: `QuantumCNO.v`, `StatMech.v`, `LandauerDerivation.v` —
drop local declarations, `Require Import CNO.PhysicsConstants`.
### Follow-up 2 — quantum laws (dead-code removal in
`QuantumMechanicsExact.v`)
- **Removed**: `Axiom unitary_preserves_entropy` (line 323) and `Axiom
no_cloning` (line 404) from `QuantumMechanicsExact.v`. Both were dead
code (no in-file callers). The `no_cloning` body `forall ψ, False` was
trivially `True`-equivalent, so removal also strengthens the trust base.
- **Canonical**: `QuantumCNO.v` declarations remain (used by
`quantum_cno_preserves_information` and friends).
### Follow-up 3 — statmech basis (`StatMechBasis.v`)
- **New**: `proofs/coq/common/StatMechBasis.v` — single declaration of
`StateDistribution`, `prob_nonneg`, `prob_normalized`, `state_dec`
(canonical name; subsumes `state_eq_dec`), `point_dist`,
`shannon_entropy`, `shannon_entropy_nonneg`,
`shannon_entropy_point_zero`.
- **Updated**: `StatMech.v` and `LandauerDerivation.v` — drop local
declarations, `Require Import CNO.StatMechBasis`.
### Cleanup + machine-readable
- **`.gitignore`**: adds Coq build artefact patterns (`*.vo`, `*.vok`,
`*.vos`, `*.glob`, `.*.aux`, `.lia.cache`, `.nia.cache`) so future
builds don't pollute status.
- **`_CoqProject`**: registers `common/PhysicsConstants.v` and
`common/StatMechBasis.v` in the build manifest.
- **`.machine_readable/META.scm`**: ADR-011 (Phase 2a–2e Lean triage
campaign) and ADR-012 (Follow-ups 1–3 consolidation) added to the
architecture-decisions ledger.
- **`docs/proof-debt-triage.md`**: Follow-ups 1, 2, 3 marked `✅ DONE
2026-05-27` with the consolidation summaries.
## Verification
```
coqc -R common CNO common/PhysicsConstants.v → OK
coqc -R common CNO common/Complex.v → OK
coqc -R common CNO common/CNO.v → OK
coqc -R common CNO common/StatMechBasis.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
coqc -R common CNO quantum/QuantumMechanicsExact.v → OK
```
`bash ~/developer/repos/standards/scripts/check-trusted-base.sh .`:
| | Total markers | Undocumented |
|---|---:|---:|
| Before this PR (after Phase 2e #66) | 129 | 4 (Idris2 BoJ) |
| After this PR | **118** | 4 (Idris2 BoJ, unchanged) |
| Delta | **−11** | 0 |
The 4 remaining undocumented markers are in `src/abi/Proofs/DivMod.idr`
(BoJ vendored proofs) — explicitly out of Phase 2 scope and tracked at
#27.
## Why this is low-risk
The consolidated axioms are opaque `Parameter`s and `Axiom`s (no
executable definitions). Consolidating means all callers now reference
the **same** symbol instead of nominally-distinct copies — strictly an
improvement for soundness. The dead-code removal in Follow-up 2 is
verified by `coqc` building all downstream files unchanged.
## Refs
- Phase 1 triage: #58
- Phase 2a (Lambda): #60
- Phase 2b (CNOCategory): #61
- Phase 2c (Filesystem): #62
- Phase 2d (Quantum): #63
- Phase 2e (Physics): #66
- Follow-ups source: `docs/proof-debt-triage.md` §"Follow-ups surfaced
by triage" (1, 2, 3 of 5; 4 + 5 require real proof work, deferred)
- Policy:
[standards#203](hyperpolymath/standards#203)
- CI enforcement:
[standards#211](hyperpolymath/standards#211)
## Test plan
- [x] All eight touched/new Coq files compile under `coqc -R common CNO
...` (verified locally)
- [x] `check-trusted-base.sh` — 129 → 118 markers, undocumented count
unchanged at 4
- [x] No code semantics changed; refactor only
- [x] `.gitignore` covers Coq build artefacts
- [x] Machine-readable ADR ledger updated (ADR-011, ADR-012)
- [ ] 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>
("ADR-009" "accepted" "Delete unsound alignmentMatchesPlatformWord Idris2 postulate (HasAlignment carries no evidence; would derive So (1 mod 8 == 0) from CNOResultLayout.alignment); replace single consumer with per-Platform decidable proof. Consolidate remaining alignedSizeCorrect postulate into shared AbsoluteZero.ABI.Proofs.DivMod module as the estate-wide div/mod lemma surface (absolute-zero#27, civic-connect alignUpDivides/mkFieldsAligned/offsetInBoundsPrf migrate here)")
0 commit comments