- Canonical proof-status reconciliation (2026-11-01)
- Coq — ARCHIVED (historical receipt, 2026-07-07; not built or gated since 2026-10-10)
- OND — the disclosure pillar (Coq/Lean legs ARCHIVED; Agda + Z3 legs active)
- Agda — VERIFIED (this environment)
- Lean 4 — ARCHIVED (historical receipt; not built or gated since 2026-10-10)
- Z3 — ACTIVE, bounded checks (
tested-only) - Isabelle/HOL — ARCHIVED (historical receipt; not built or gated since 2026-10-10)
- Mizar — ARCHIVED (historical receipt; not built or gated since 2026-10-10)
- Idris 2 — VERIFIED (this environment), the ABI boundary
- Honest scope
absolute-zero formalises two co-equal pillars (see docs/TWO-PILLARS.adoc):
CNO — Certified Null Operations (certified null effect) — and OND —
Observational Null Disclosure (certified null disclosure). This document
records the actually reproduced verification state in this environment, prover
by prover, and is explicit about which axioms remain and why.
|
Important
|
2026-07-07 — both pillars machine-checked across six provers (HISTORICAL since 2026-10-10)
Historical (superseded by the 2026-10-10 archive ruling below): all six
provers were reproduced in this environment via |
|
Important
|
Archive notice (2026-10-10). The active proof stack is now Idris 2 (ABI) and Agda (CNO, OND, EchoBridge), with Z3 as a bounded-check solver. Coq, Lean 4, Isabelle/HOL and Mizar are archived under |
This table is the single canonical statement of proof status in this
repository. Where older prose (README, EXPLAINME, ROADMAP, docs/) quotes
counts such as "115 Qed / 0 Admitted / 61 Axioms", those figures describe
the *archived Coq tree under archive/proofs/coq/ only. They are
historical, they are not active, and they are not estate-wide proof-status
ground truth — see "Role of this repository" below.
Grading scheme. Statuses below use the closed proof-ledger vocabulary of
hyperpolymath/standards (3-practice/PROOF-POLICY.adoc §5 and
docs/README-EXPLAINME-STANDARD.adoc §5): proven, proven-with-postulates,
tested-only, argued, open — recorded exactly, never flattened into a
percentage. Grades are Proof Witness Grades (PWG) as defined in
PROOF-POLICY §8 (owner ruling 2026-11-04), which supersedes the "Grade
3/2i/2ii/1" ladder of mathesis’s estate-mathematical-architecture brief
that this file used until 2026-11-09. PWG-3 needs an Agda receipt under the
§2.1 invocation agda --safe --without-K --cubical-compatible, recording the
Agda version, standard-library pin, flags in force, import cone and source
commit; PWG-2i/PWG-2ii additionally need one/both Rocq and Lean legs whose
§2.2 correspondence state is RECONCILED. A theorem below PWG-3 is
ungraded. A status token and a grade are separate fields and are never
written in one cell. Superseded claims are marked historical, not silently
dropped, and axiom dependence is tracked per row.
| Artefact / claim | Stack status | Proof status (ledger token — estate grade) | Scope and assumptions |
|---|---|---|---|
|
ACTIVE (CI |
Status: |
Domain formalisation of both pillars; discharges OND-1..5; contains no OND-6. The canonical profile |
|
ACTIVE as bounded-check solver (CI |
|
unsat` annotation. Receipt reproduced in this sandbox 2026-11-01 ( |
Bounds: finite/bounded programs under a finite declared |
|
ACTIVE (CI |
|
ABI/FFI boundary only; carries |
|
ARCHIVED 2026-10-10 — not built, not gated |
|
Counts describe this archived tree only; class-A / METAL-BOUNDARY tag grammar as recorded in the tree |
|
ARCHIVED 2026-10-10 — not built, not gated |
|
Historical counts describe this tree only |
|
ARCHIVED 2026-10-10 — not built, not gated |
Historical receipts: proved in their day (Isabelle: no |
Not evidence in the active gate |
|
ARCHIVED — superseded by |
GENERATED gate script — historical |
Former six-prover gate (Coq, Agda, Lean, Z3, Isabelle, Mizar + Idris ABI) |
OND-6 — conditional composition (research capstone) |
OPEN in every stack |
|
|
|
ACTIVE inputs |
|
A statement-level review of the active Agda (proofs/agda/ at cbe9ae9)
against the claims in this file, README, EXPLAINME and docs/TWO-PILLARS.adoc.
The terms all type-check: on 2026-11-09 the four modules at cbe9ae9 were rechecked cold
with Agda 2.6.3 and agda-stdlib 2.3 (CI pairs Agda 2.6.3 with agda-stdlib 1.7.3) under
agda --safe --without-K --cubical-compatible, and all passed. That is a local check, not a CI
receipt. The findings concern what the terms state.
| Item | What the Agda actually states | Honest label |
|---|---|---|
|
|
|
|
|
Holds by construction; not a termination result. Resolved 2026-11-09: |
|
|
Holds by construction; not a Landauer/Bennett result. The archived Coq
|
OND-5 "mirrored in Lean 4, Agda, Z3" |
Agda states OND-5 under |
Correspondence state |
OND-3 "anchored to `is_CNO`" |
|
The active Agda OND-3 is not anchored to |
EchoBridge |
The |
|
Downstream: hyperpolymath/echo-types imports CNO (EchoCNOBridge,
EchoCNOSemantics, EchoThermodynamicsArbitrary, EchoCNOPackaging); its
CNO-facing results inherit these limits.
-
Z3 — REPRODUCED HERE.
z34.16.0 (64-bit, via thez3-solverPyPI wheel, the only package host reachable from this sandbox) runningbash proofs/z3/verify.sh→Z3-CHECK OK: 1 file (proofs/z3/ond/OND_checks.smt2), 3(check-sat)verdictssat unsat sat, all matching their; expectannotations, exit 0. Receipt commit: working tree on brancharena/1a7659fe-absolute-zerooverbb46232. -
Agda, Idris 2, Coq, Lean 4, Isabelle/HOL, Mizar, Rust/Creusot — NOT RUNNABLE HERE. The sandbox egress allowlist (github.com, codeload.github.com, api.github.com, registry.npmjs.org, pypi.org, files.pythonhosted.org) blocks apt mirrors, static.rust-lang.org, opam.ocaml.org and Hackage, so none of these toolchains can be installed in this session. Per standards
3-practice/PROOF-POLICY.adoc§6, a leg that cannot run is said so, never reported as passing: the Agda--safe --without-Kchecks, the--cubical-compatiblerecheck (open obligation, above), and the Idris 2 ABI build remain CI receipts (proofs.yml:agda,z3,idrisjobs), not sandbox receipts. Archived provers stay archived and unexecuted.
Working tree on branch claude/ephapax-architecture-plan-gzyctr over cbe9ae9.
-
Z3 — REPRODUCED HERE.
Z3 version 4.8.12 - 64 bit, on the rewritten OND-3 check.z3 proofs/z3/ond/OND_checks.smt2printssat unsat sat sat sat(+ the OND-5 models1 = 2, s2 = 3, pub = 0), exit 0;bash proofs/z3/verify.sh→ok: ond/OND_checks.smt2 — 5 (check-sat) verdict(s) match,Z3-CHECK OK, exit 0. Mutation check: replacingwriter_stepby a step that copies the secret to the output cell turns the OND-3 dir 2 verdict fromunsattosat, so the check is no longer vacuous (see the Z3 section). -
Agda — REPRODUCED HERE, on the
CNO.agdabefore #199 (so not a receipt for the current module).Agda version 2.6.3, stdlib registered byscripts/provision-agda-stdlib.sh(agda-stdlibv1.7.3=0817da6877aa045932221134913d8511caa78d97, into a scratchAGDA_DIR).agda --safe --without-KonCNO.agda,OND.agda,EchoBridgeScaffold.agda,EchoBridgeCNO.agda: exit 0 each.agda --safe --without-K --cubical-compatibleon the same four: exit 0 each. (The stdlib modules themselves were checked under the stdlib’s own pragmas, not re-checked under--cubical-compatible.) -
Gate self-test.
bash proofs/tests/gate-selftest.sh→GATE-SELFTEST OK: 27/27 cases. -
Idris 2 — not run here.
absolute-zero is a consumer and domain formalisation: it applies standard results (Landauer 1961, Bennett 1973, the non-interference literature, category theory) to its own CNO/OND domain concepts. Its historical prover counts (above) are evidence about its own archived trees only, and must not be cited as proof status for any other repository.
Cross-repo note (2026-11-01). epistemic-types (at 5422cd5) is an
independent proof library with no dependency on absolute-zero. Any
cross-repo claim must therefore name the exact theorem, its scope, and its
assumptions (e.g. "OND-1..5, proven, ungraded, Agda --safe --without-K,
relative to a declared `O`") — never a bare count imported from this repo.
Mathesis (the estate mathematical knowledge commons) may catalogue these
receipts and grades, but per its own architecture the original repositories
remain the sovereign owners of their mathematics; this file is the local
proof-status record of record.
|
Note
|
The per-prover sections below this table are historical for Coq, Lean 4, Isabelle/HOL and Mizar (archived 2026-10-10) and active only for Agda, Z3 (bounded) and the Idris 2 ABI. They are kept for the record; the table above is the canonical summary. |
-
coqc8.18.0; clean build from scratch (all.vo/.globdeleted first), viacoq_makefile -f _CoqProjectover 14/14 theories → zero errors. -
Reproduce (historical; the tree is archived):
cd archive/proofs/coq && coq_makefile -f _CoqProject -o Makefile.all && make -f Makefile.all -j.
| Area | Theory |
|---|---|
common |
|
category |
|
quantum |
|
lambda |
|
filesystem |
|
physics |
|
ond |
|
malbolge |
|
The CNO domain modules previously axiomatised their headline results. They have
been re-grounded on concrete models and re-proved. Axiom/Parameter/Conjecture
count fell from 98 to a small, classified remainder:
-
Fully discharged to zero project axioms:
FilesystemCNO.v(13 axioms + 3 parameters → 0;mkdir_rmdir_inverse,transaction_cno,snapshot_restore_identity, … allClosed under the global context),CNOCategory.v(identity/hom functor constructed),QuantumMechanicsExact.v(X-gate unitarity proved; density matrix defined). -
QuantumCNO.v: 41 → 12. 19 axioms discharged, 8 parameters concretised; two latent-unsound axioms removed (no_cloningwas provably false in the flat model;Cconj_Cexpfalse for a genuine phase). Remainder = 2 tagged metal-boundary physics postulates + 4 honestly-labelled class-A items (below). -
LambdaCNO.v:compile_lambdaandhom_functor(inCNOCategory.v) concretised; a third latent-unsound axiom corrected —eta_equivalencewas false as stated (counterexamplef = LVar 5, a normal form that never β-reduces tof; root cause: this file’ssubstdoes not re-index under binders). It is replaced by the honest, proved theoremeta_equivalenceguarded by ano_lambda bodyhypothesis (a genuine statement-shape change, disclosed in-file, made to remove an inconsistency risk — not to dodge a proof). -
Physics (
StatMechBasis.v,PhysicsConstants.v,StatMech.v,LandauerDerivation.v): derivable lemmas discharged; the genuine physical postulates kept and taggedMETAL-BOUNDARY AXIOM— Boltzmann constantkBandkB > 0, absolutetemperature > 0, the Second Law, Landauer’s 1961 bound. These are empirical physics and must remain axioms;state_decis kept becauseMemory = nat → natis not decidably equal (genuinely unprovable).
Every remaining project axiom is either a tagged physical postulate (above) or one of these, each documented in-file with its blocker:
-
LambdaCNO.v—y_not_cno(~ is_lambda_CNO y_combinator). True (Y diverges), but a rigorous proof must rule out reaching the argument under every β-congruence interleaving — a coinductive / step-indexed non-termination argument beyond a single-file fix. -
QuantumCNO.v—CNOT_gate_unitary(needs a 4-dimensional tensor model),unitary_inverse_property(needs finite-dimensional linear algebra),fidelity_bound/approximate_cno(need a concrete fidelity). All out of reach of the flatnat → Csingle-qubit model; faithful discharge is a separate formalisation.
These are the analogue of the OND-6 research fork: openly labelled, not silently
assumed. Print Assumptions on each of the 17 theorems this document names in backticks
prints Closed under the global context — no stdlib axiom and no project axiom (measured
2026-09-23, Coq 8.18). That WAS CI-gated until the 2026-10-10 archive ruling (no longer run): archive/proofs/coq/audit/Assumptions.v lists the 17 and
archive/proofs/coq/check-assumptions.sh (formerly the Coq job of proofs.yml, and the then-canonical
proofs/verify-all-provers.sh gate, now archive/proofs/verify-all-provers.six-prover.sh) failed on any Axioms: block or a
missing line; its --control mode proves the gate bites by requiring that
landauer_limit_positive, which rests on kB_positive, is rejected. The wider tree is not
closed — 109 of 182 top-level theorems are; the other 73 rest on stdlib classical axioms
and/or the tagged parameters — see #171 for the census and the tag-grammar work.
archive/proofs/coq/common/CNO.v now carries the bridge between reversible and the
"composes to a no-op" characterisation the MAA framework (aletheia) cites. All five
new results are Closed under the global context (zero axioms):
-
reversible_iff_exists_reverses— the repo’sreversibleis exactly "exists a one-sided left inverse" (exists p_inv, reverses p p_inv). -
reverses_seq_computes_identity— the core lemma: a left inverse sequenced afterpcomputes the state-identity on every composite transition (viaeval_app
eval_deterministic). -
cno_equiv_seq_empty_of_reverses— repackaged ascno_equiv (p ;; p_inv) [](CNO-equivalence to the canonical no-op). -
reversible_bridge_forward— the faithful forward direction of the aletheia contract: a two-sided inverse makes both composites CNO-equivalent to the no-op. -
reversible_bridge_backward_upto— the backward direction, necessarily up to=st=, with an explicitp_inv-termination hypothesis.
Honesty note. The literal biconditional
reversible p <→ exists p_inv, is_CNO (p;;p_inv) /\ is_CNO (p_inv;;p) is not
provable under these definitions, and is deliberately not asserted: (1) is_CNO
also demands purity and totality, which a reversible program need not have — so
"=== CNO" is rendered by cno_equiv _ [] (the identity-on-state component); (2)
state_eq excludes the program counter while eval propagates it (the
eval_respects_state_eq_* axioms were removed as unsound on 2026-05-20), forcing the
backward direction to be up-to-=st=; (3) the repo’s reversible is one-sided
whereas the contract is two-sided. The in-file section header documents all three.
This is a genuine statement-shape finding: it tells the aletheia contract to be
stated two-sided and =st=-relative, not a proof dodged.
Lean mirror — archive/proofs/lean4/CNOBridge.lean (UNVERIFIED in this environment).
A functional-model mirror of the five bridge results was written for Lean 4, but
it could not be machine-checked here: the Lean toolchain and Mathlib cache
download from GitHub release assets, which the egress policy blocked (HTTP 403).
It is registered in lakefile.lean as a non-@[default_target] lean_lib,
so it does not gate the standard lake build; verify with
lake build CNOBridge (+ #print axioms) where the toolchain is available. Note
the mirror states the bridge with syntactic state equality (Lean’s eval is a
total function and ProgramState.eq includes the PC), a stronger/cleaner form
than the Coq =st=-relative statement — a disclosed cross-model difference, not
a claim of literal equivalence.
archive/proofs/coq/ond/OND.v discharges roadmap obligations OND-1..OND-5 with zero
axioms — every theorem is Closed under the global context:
-
OND-1
is_OND O o— nullity parameterised by an observation modelOover an observable execution (declared output channel + timing); -
OND-2 —
skipis OND under anyO(satisfiability); -
OND-3 —
is_CNO ⊥ is_ONDindependence, additionally anchored to the real coreis_CNO(writer_program_not_core_CNO,skip_program_is_core_CNO); -
OND-4 — a constant-time select operation is OND under a declared
O(+ residue); -
OND-5 — a non-composition counterexample (two ONDs whose composite leaks by state-chaining).
Mirrored in Lean 4 (archive/proofs/lean4/OND.lean), Agda (proofs/agda/OND.agda),
and Z3 (proofs/z3/ond/OND_checks.smt2, the bounded/finite instances). OND-7’s
residue register carries its first real instance
(proofs/residue/ct_select.residue). OND-6 (conditional composition, research
capstone) remains open by design — see docs/OND-ROADMAP.adoc.
-
agda2.6.3 (CI) / 2.6.4.3 (local),--safe --without-K:CNO.agda,OND.agda,EchoBridgeScaffold.agda,EchoBridgeCNO.agdatype-check; every file carries the{-# OPTIONS --safe --without-K #-}pragma and CI (proofs.yml) checks all four. Until 2026-09-23 CI checked only the first two andEchoBridgeCNO.agdahad no pragma of its own. The EchoBridge modules take funext as an explicit hypothesis (not a globalpostulate);OND.agdauses zero postulates. -
Standard library: agda-stdlib
v1.7.3(commit0817da6), registered byscripts/provision-agda-stdlib.sh(just provision-agda-stdlib) — the same script the CIagdajob runs; it fails if the tag no longer resolves to the pinned commit. SetAGDA_DIRto keep it out of~/.agda.
-
Toolchain
leanprover/lean4:v4.16.0with Mathlib@ v4.16.0;lake exe cache get+lake build→ build completed successfully. Covers the CNO libraries and the newONDlibrary (archive/proofs/lean4/OND.lean, core-Lean only, zerosorry). -
Mathlib-free core WAS CI-gated (2026-09-22 until the 2026-10-10 archive ruling; the
leanjob no longer exists):archive/proofs/lean4/check-core.sh(jobleanin.github/workflows/proofs.yml; toolchain fromlean-toolchain, elan fetched as a checksum-verified tarball, zero third-party actions) compilesCNO,OND,CNOCategory,CNOBridge,FilesystemCNO,LambdaCNOwith plainleanand runsarchive/proofs/lean4/AxiomAudit.lean: 96#guard_msgspinning every axiom signature, the three occupancy predicates in full, the #125 derivations as negative controls, and#print axiomsfor every theorem (nosorryAxanywhere).just verify-lean-coreruns the same script locally. -
Issue #125 fixed — the Lean axioms no longer derive
False:FilesystemCNO.leanstatedmkdir_rmdir_inverse,create_unlink_inverseandrename_inversewithout the occupancy preconditions of the Coq lemmas they mirror; withmkdir_idempotentandmkdir_not_identitythat provedFalse. They now carrynoDirAt/noFileAt/noEntryAt, mirrored verbatim fromarchive/proofs/coq/filesystem/FilesystemCNO.v, and the unconditional statement is refuted in-file (unconditional_mkdir_rmdir_inverse_is_false).LambdaCNO.leancarried the unrestrictedeta_equivalenceaxiom (false as stated, the sameLVar 5counterexample the Coq side documents above); it is now the provednoLambda-guarded theorem,subst_closed_termis proved, and the unrestricted claim is refuted (unrestricted_eta_equivalence_is_false). Lean axiom count:FilesystemCNO21 → 21 (same names, three strengthened),LambdaCNO3 → 1 (y_combinator_not_identity, the Lean twin of Coq’s class-Ay_not_cno). -
#167 port reverted pending completion (issue #176): #174 attempted to port
FilesystemCNO.lean’s 21 axioms to concrete definitions and proved theorems, but the port did not compile in the six-module job (unresolved `Directory/Symlinkalternatives, unknown identifiers, failed rewrites). Per #176’s ruling, a half-port must not sit red onmain:FilesystemCNO.leanand its pairedAxiomAudit.leanguards are restored here to the revision above (their last state that compiled, identical to the pre-#174 commit and to the last greenmainrun before #174). #167 stays open with finishing the port as its own acceptance criterion.
-
Historical (2026-07-07):
z34.16.0 onproofs/z3/ond/OND_checks.smt2: the OND-3 timing-leak witness issat,writer-is-OND isunsat, and the OND-5 composite leak issatwith a concrete model. Correction (2026-11-09): thewriter-is-OND block then asserted(not (and (= 0 0) (= 1 1)))— the writer’s observables written down as constants — which isunsatfor any program, so thatunsatchecked nothing about the writer. -
Current (2026-11-09, z3 4.8.12, 5 verdicts
sat unsat sat sat sat): the OND-3 dir 2 block now modelswriter_opperarchive/proofs/coq/ond/OND.v: memory as(Array Int Int),inj s p,writer_step m = store m 0 7,writer_time = 1, and theO_allobservable (output cell 2, time) computed from them; asserting the observables differ for two secrets at the same public input isunsat(writer is OND underO_all). A control block runs the same query on a writer that copies the secret to the output cell (sat), and a third block witnesseswriter_not_null(sat). Mutatingwriter_stepto leak flips the main verdict tosat. -
Remaining scope limit: the OND-3 dir 1 block (
time_leaky secret = secret) and the OND-5 block (p_out = 0,comp_out = secret) still state the observables directly rather than computing them from step functions; they are hand transcriptions of the OND.v results, not independent checks of the composition.
-
Isabelle2025-2, sessionAbsoluteZero-CNO(archive/proofs/isabelle/ROOT):CNO.thy(repaired — the reserved-keywordvaluetype was renamed and the failingnop/steplemmas fixed) andOND.thy(new, OND-1..5) build with nosorry/oops.
-
Mizar
8.1.15;accom CNO && verifier CNOonarchive/proofs/mizar/CNO.mizcompletes with an emptyCNO.err(zero errors).MIZFILESpoints at the bundled MML. The original article was machine-generated and unverifiable (277 errors); it was rewritten into a genuine article (StateSpace = pair ofFuncs(NAT,NAT); state-preserving / pure / reversible / terminating / thermo-reversible attributes; 12 proved theorems incl. composition with a real inverse construction). Requires the committed private vocabularyarchive/proofs/mizar/dict/cno.voc(lowercase filename, needed on Linux). Verifier build artifacts are git-ignored.
-
idris20.8.0;idris2 --build absolute-zero-abi.ipkg→ clean, no warnings. The packaging bug (module paths vs.sourcedir) is fixed, files relocated to match module names, and six latent type errors repaired (null-pointerSowitnesses viachoose,Decidable.Equality/Data.Bitsimports,%runElabstub, erasedHasSizeindex, qualifiedmaxProgramLength). Two unused, non-compilingDecEqinstances were removed with a documented recovery path.
-
Multi-prover, not cross-prover equivalence — each prover checks its own formalisation of the two pillars.
-
"Verified here" = a reproduced compiler/checker run in this environment, not a reading of in-file comments. Reproduce the active stack with
proofs/verify-active-provers.sh(afterscripts/provision-agda-stdlib.sh); the former six-prover gate is archived asarchive/proofs/verify-all-provers.six-prover.shand is not run. -
The Coq census and tag-grammar bullets below describe the archived tree (
archive/proofs/coq/); their scripts are no longer run. -
Axiom census (machine-generated via
archive/proofs/coq/census-assumptions.sh): of 182 top-level theorems across the 14 theories, exactly 109 are closed under the global context (zero axioms), and 73 rest on Coq stdlib classical axioms (ClassicalDedekindReals.,FunctionalExtensionality.,Classical_Prop.classic,ProofIrrelevance.*) and/or the tagged project parameters. Each theory’s logical root is read from_CoqProject’s own `-R <dir> <Root>bindings rather than hardcoded (issue #176: the census previously assumed every theory lived underCNO., which is false formalbolge/— bound toMalbolge— and made the generated driver fail outright instead of censusing it; the table now showsMalbolge.MalbolgeCore | 7 | 7 | 0). A directory with no-Rbinding is a hard census failure, never a silent skip. -
All top-level declarations are verified by
archive/proofs/coq/check-axiom-tags.shto carry a unified tag grammar:(* AXIOM: [METAL-BOUNDARY] … )for physical constants and laws, or(AXIOM: [CLASS-A] … *)for provable-in-principle mathematics. The two former unsound declarations inStatMechBasis.v(prob_nonnegandprob_normalized, which claimed Kolmogorov properties over raw unconstrained functionsProgramState → R) have been deleted; zero theorems depend on either. -
The 17 named headline theorems remain 100% closed under the global context (zero axioms, formerly CI-gated by
archive/proofs/coq/check-assumptions.sh; not run since the 2026-10-10 archive ruling).