Skip to content

Commit 751a061

Browse files
hyperpolymathclaude
andcommitted
docs+build: update to two-pillar six-prover completion (post-PR #100)
- Justfile: build-coq now builds all 14 theories (CNO+OND) via coq_makefile; add build-mizar/build-idris/verify (canonical gate → verify-all-provers.sh) + verify-mizar/verify-idris; drop banned rescript/typescript from build-all; fix verify-z3 (cno_properties.smt2 → verify.sh + ond/OND_checks.smt2). - .machine_readable/6a2/STATE.a2ml: refresh proof state to the six-prover completion — tech-stack, per-prover components, working-features, milestones, blockers, next-actions, and a 2026-07-06 session-history entry. - README.md: OND no longer "design/roadmap stage" (OND-1..5 proved); fix directory tree (ond/, verify-all-provers.sh); rewrite prerequisites/build to the real toolchains (drop banned npm/rescript, add all six provers + Idris). - ROADMAP.adoc: rewrite "Honest Current State" to the reproduced reality; flip OND status to OND-1..5 landed / OND-6 open. - docs/OND-PILLAR-STRUCTURE.adoc, docs/MACHINE_VERIFICATION.adoc: dated status banners; OND modules authored, examples marked historical. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 6b591f1 commit 751a061

6 files changed

Lines changed: 180 additions & 120 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 36 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -11,90 +11,83 @@ repo = "github.com/hyperpolymath/absolute-zero"
1111
version = "1.0.0-alpha"
1212
schema-version = "1.0"
1313
created = "2026-01-03"
14-
last-updated = "2026-06-12"
14+
last-updated = "2026-07-07"
1515
status = "active"
1616

1717
[project-context]
1818
name = "Absolute Zero"
19-
tagline = "Formal Verification of Certified Null Operations"
20-
tech-stack = ["Coq", "Lean 4", "Z3", "Agda", "Isabelle", "ReScript", "Rust"]
19+
tagline = "Formal Verification of Two Null-Operation Pillars: Certified Null Effect (CNO) and Observational Null Disclosure (OND)"
20+
tech-stack = ["Coq", "Lean 4", "Agda", "Z3", "Isabelle", "Mizar", "Idris 2", "Rust"]
2121

2222
[position]
23-
phase = "proof-completion"
24-
completion-percentage = 65
23+
phase = "two-pillar completion / hardening"
24+
completion-percentage = 88
2525
maturity = "experimental"
2626

2727
[recent-work]
28-
# Delta since the previous STATE update (2026-05-27), from
29-
# `git log --since=2026-05-27 --oneline origin/main`.
3028
since = "2026-05-27"
31-
summary = "CI/governance work only — no proof-track changes since the Phase-1 axiom triage (PR #58)"
29+
summary = "Two-pillar completion (PR #100): both CNO and OND machine-checked across six provers + Idris; OND pillar authored from scratch; CNO axioms cut 98→small classified remainder; three latent-unsound axioms found and fixed"
3230
items = [
33-
"PR #68 — ci(scorecard): add job-level permissions for reusable workflow",
34-
"PR #69 — ci: repin orphan reusable SHAs (97df7621/4fdf4314 → live)",
35-
"PR #71 — ci(codeql): cron weekly→monthly (cut 3, standards#233 Option B)",
36-
"PR #72 — chore(deps): bump the actions group with 2 updates",
37-
"README sponsor badge added (commit 4867f1f)",
38-
"2026-06-12 — estate-standardization-20260607 merged on the governance-checkpoint branch: flat .machine_readable/contractiles/, svc/k9 → self-validating/ rename, GOVERNANCE.adoc + MAINTAINERS.adoc + .github/CODEOWNERS, Guix manifest.scm, 6a2 manifest/README + anchor/, removal of the duplicate root .machine_readable/*.scm set and the root contractiles/ template dir, SPDX header normalization",
39-
"2026-06-12 — governance checkpoint: bot_directives/ trio, fully-populated flat contractiles (incl. new Dustfile/Bustfile), 6a2/anchor/ANCHOR.a2ml, README dedup (README.md → pointer), docs/archive/ index, wiki currency fixes",
31+
"PR #100 (MERGED, squash 6b591f12) — feat(proofs): complete CNO + OND pillars, verified across six provers",
32+
"proofs/verify-all-provers.sh → ALL-PROVERS-GREEN (Coq 14/14, Agda, Lean 4+Mathlib, Z3, Isabelle/HOL, Mizar, Idris 2 ABI)",
33+
"OND pillar authored: proofs/coq/ond/OND.v (OND-1..5, all Closed under global context) + Lean/Agda/Z3 mirrors; OND-6 open by design; OND-7 residue register seeded",
34+
"CNO axiom discharge: filesystem 26→0, category 1→0, QuantumMechanicsExact 2→0; QuantumCNO 41→12; physics postulates kept + tagged METAL-BOUNDARY",
35+
"Soundness fixes: removed no_cloning (provably false) + Cconj_Cexp (false); corrected eta_equivalence (false as stated → no_lambda-guarded theorem)",
36+
"Idris ABI packaging fixed + 6 latent type errors repaired; Isabelle CNO.thy repaired + OND.thy added; Mizar CNO.miz rewritten and verifies (needs dict/cno.voc)",
4037
]
4138

4239
[components]
43-
# Format: name = [percentage, "notes"]
44-
coq-proofs = [90, "11/11 files compile (Coq 8.18.0+8.20.1); 0 Admitted (rescue 2026-05-18); 75→72 Axioms + 42 Parameters; Phase 1 triage 2026-05-27 (PR #58) classifies 72 Coq Axioms into §c TRUSTED-BASE (52) + §a DISCHARGE backlog (17) + §b PROPERTY-TEST (3); see docs/proof-debt-triage.md"]
45-
lean4-proofs = [95, "lake build 1631/1632 green (mathlib + 6 lean_lib targets); verified 2026-05-20"]
46-
z3-proofs = [90, "10 theorems encoded, needs z3 runtime"]
47-
agda-proofs = [60, "CNO.agda type-checks clean — 0 postulates/holes/unsolved metas (verified 2026-05-18)"]
48-
isabelle-proofs = [40, "phase 1 complete"]
49-
mizar-proofs = [10, "stub, needs installation"]
40+
# Format: name = [percentage, "notes"]. Reproduce all via proofs/verify-all-provers.sh → ALL-PROVERS-GREEN.
41+
coq-proofs = [95, "14/14 theories compile (Coq 8.18.0), both pillars, via coq_makefile -f _CoqProject; 0 Admitted. CNO axioms 98→small: filesystem/category/QuantumMechanicsExact fully discharged (0); QuantumCNO 41→12 (2 metal-boundary physics + 4 class-A open); physics postulates kept + tagged METAL-BOUNDARY. OND pillar ond/OND.v OND-1..5 all Closed under global context (0 axioms)."]
42+
lean4-proofs = [95, "lake build green (Mathlib + CNO libs + new OND lib proofs/lean4/OND.lean, 0 sorry); verified 2026-07-06"]
43+
z3-proofs = [95, "CNO checks (proofs/z3/verify.sh) + OND bounded instances (proofs/z3/ond/OND_checks.smt2, sat/unsat/sat); z3 4.16.0"]
44+
agda-proofs = [90, "CNO.agda + new OND.agda type-check clean (--safe --without-K, 0 postulates); verified 2026-07-06"]
45+
isabelle-proofs = [90, "CNO.thy repaired + new OND.thy; session AbsoluteZero-CNO builds (Isabelle2025-2), 0 sorry"]
46+
mizar-proofs = [90, "CNO.miz rewritten into a genuine 12-theorem article; accom+verifier → empty CNO.err (Mizar 8.1.15); requires proofs/mizar/dict/cno.voc"]
47+
idris-abi = [95, "absolute-zero-abi.ipkg builds clean (idris2 0.8.0); packaging + 6 latent type errors fixed"]
5048

5149
[working-features]
5250
features = [
53-
"Core CNO theory fully proven",
54-
"Category theory fully proven",
55-
"Statistical mechanics fully proven",
56-
"Lambda calculus 90% proven",
57-
"Quantum computing 70% proven",
58-
"Filesystem 57% proven",
51+
"CNO pillar (certified null effect): core theory, category, statistical mechanics, filesystem, quantum (1-qubit fragment) — headline results proved, not axiomatised",
52+
"OND pillar (certified null disclosure): OND-1 definition, OND-2 trivial case, OND-3 CNO⊥OND independence (anchored to real core is_CNO), OND-4 real-op template, OND-5 non-composition — all proved, zero axioms",
53+
"Six-prover reproducible verification gate (proofs/verify-all-provers.sh)",
54+
"Idris 2 ABI boundary builds and type-checks",
5955
]
6056

6157
[route-to-mvp]
6258
milestones = [
63-
{ id = "v0.8", label = "Compliance sprint", status = "in-progress", completion = 40 },
64-
{ id = "v0.9", label = "Container verification", status = "not-started", completion = 0 },
65-
{ id = "v1.0", label = "Publication release", status = "not-started", completion = 0 },
59+
{ id = "v0.8", label = "Two-pillar six-prover completion", status = "done", completion = 100 },
60+
{ id = "v0.9", label = "Container / CI proof verification", status = "in-progress", completion = 20 },
61+
{ id = "v1.0", label = "Publication release", status = "not-started", completion = 0 },
6662
]
6763

6864
[blockers-and-issues]
6965
critical = []
70-
high = [
71-
"Python interpreters violate RSR",
72-
]
66+
high = []
7367
medium = [
74-
"LandauerDerivation.v needs measure theory",
75-
"17 §a DISCHARGE Coq axioms backlog (post-Phase-1 triage, see docs/proof-debt-triage.md)",
76-
"Triage Phase 2 for 52 Lean axioms + 7 Idris2 postulates (#27) still pending",
68+
"OND-6 conditional composition theorem — research capstone, deliberately open (see docs/OND-ROADMAP.adoc)",
69+
"Class-A open axioms (true, provable in principle): CNOT_gate_unitary + unitary_inverse_property + fidelity_bound (need finite-dim/tensor QM model); y_not_cno (needs coinductive/step-indexed β non-termination argument)",
7770
]
7871
low = [
79-
"y_not_cno non-termination proof",
72+
"Physics-constant deduplication (kB_positive/temperature_positive declared across QuantumCNO/StatMech/LandauerDerivation)",
73+
"No CI job yet builds/verifies the proofs — add a proof-verification workflow",
8074
]
8175

8276
[critical-next-actions]
8377
immediate = [
84-
"Phase 2 triage: Lean axioms (52) + Idris2 postulates (#27, 7)",
78+
"Owner ratification of the three PR #100 judgment calls (OND model shape; accepting the class-A remainder; unsound-axiom removals) — already merged, revisit only if desired",
8579
]
8680
this-week = [
87-
"Begin discharging the 17 §a Coq DISCHARGE-backlog axioms (lowest-hanging: cno_zero_energy_dissipation_derived, fidelity_bound, unitary_inverse_property, *_not_identity existence pair)",
88-
"Physics-constant deduplication (kB_positive/temperature_positive declared 3x across QuantumCNO/StatMech/LandauerDerivation)",
89-
"Migrate Python to Rust",
81+
"Add a CI workflow that runs the lighter provers (Coq/Agda/Z3/Idris) on PRs",
9082
]
9183
this-month = [
9284
"Container pipeline",
93-
"Paper draft",
85+
"Paper draft (both pillars, six-prover story)",
9486
]
9587

9688
[session-history]
9789
sessions = [
90+
{ date = "2026-07-06", agent = "opus", summary = "Two-pillar completion (PR #100, MERGED squash 6b591f12). Installed all six provers to ~/.local (Z3 4.16, Isabelle2025-2, Mizar 8.1.15, Lean 4.16+Mathlib). Authored the OND disclosure pillar from scratch — OND-1..5 proved in Coq (ond/OND.v, all Closed under global context, zero axioms) + Lean/Agda/Z3 mirrors; OND-3 anchored to real core is_CNO; OND-6 left open (research). Discharged CNO axioms 98→small: filesystem 26→0, category 1→0, QuantumMechanicsExact 2→0; QuantumCNO 41→12 (kept 2 metal-boundary physics + 4 class-A). FOUND+FIXED three latent-unsound axioms: no_cloning (provably false), Cconj_Cexp (false), eta_equivalence (false as stated → no_lambda-guarded theorem). Repaired Isabelle CNO.thy + added OND.thy; rewrote Mizar CNO.miz (verifies, needs dict/cno.voc); fixed Idris ABI packaging + 6 type errors. Single gate proofs/verify-all-provers.sh → ALL-PROVERS-GREEN. Method: Opus coordinated, fanned out per-file discharge + per-prover repair to sub-agents (each machine-checked with its prover, no Admitted/admit/new-axiom cheats)." },
9891
{ date = "2026-05-27", agent = "opus", summary = "Phase 1 per-axiom triage of all 72 Coq Axioms per standards#203 trusted-base policy. Classification: 52 §c TRUSTED-BASE (physics constants, quantum primitives, POSIX semantics, Kolmogorov+Shannon axioms, Cexp algebra, physical laws), 17 §a DISCHARGE (derivable theorems incl. 2 named *_derived), 3 §b PROPERTY-TEST (decidability over opaque types). Surfaced 5 follow-ups (physics-constant dedup ×3, quantum-law dedup ×2, Cexp constructive in Complex.v). PR #58 MERGED 2026-05-27 (commit e17256b). Also: traced phantom '315 Lean sorries' figure to a metric mismatch — actual local user-sorry count = 0; canonical figure is 129 (now 124) escape hatches across all proof languages per standards#195 + scripts/check-trusted-base.sh." },
9992
{ date = "2026-05-20", agent = "opus", summary = "Post-T0 axiom audit: 117 declarations triaged into Tier A/B/C; 2 unsound axioms (eval_respects_state_eq_left/right) deleted with downstream refactor; logically_reversible weakened to =st=; cno_eval_on_equal_states + cno_logically_reversible re-proved without axioms; 75→73 Axioms total" },
10093
{ date = "2026-05-20", agent = "opus", summary = "Rescue branch rebased onto current main (clean); eval_deterministic Axiom discharged → Theorem (via step_deterministic_strong helper); Print Assumptions Closed under global context; 11/11 Coq + 1631/1632 Lean targets green; PR #24 MERGED (admin-squash 69e7a22)" },

Justfile

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,43 +14,53 @@ default:
1414
# Build Commands
1515
# ============================================================================
1616

17-
# Build everything
18-
build-all: build-rescript build-coq build-lean build-agda build-isabelle build-typescript
17+
# Build everything (all six prover backends + the Idris ABI)
18+
build-all: build-coq build-lean build-agda build-isabelle build-mizar build-idris
1919
@echo "✓ All builds complete"
2020

2121
# Build ReScript interpreters
2222
build-rescript:
2323
@echo "Building ReScript interpreters..."
2424
cd interpreters/rescript && npx rescript build
2525

26-
# Build Coq proofs
26+
# Build Coq proofs — all 14 theories (CNO + OND pillars) via coq_makefile
2727
build-coq:
28-
@echo "Building Coq proofs..."
28+
@echo "Building Coq proofs (14 theories, both pillars)..."
2929
@if command -v coqc >/dev/null 2>&1; then \
30-
cd proofs/coq/common && coqc CNO.v && \
31-
cd ../physics && coqc -R ../common CNO StatMech.v && \
32-
coqc -R ../common CNO LandauerDerivation.v && \
33-
cd ../quantum && coqc -R ../common CNO QuantumMechanicsExact.v && \
34-
cd ../malbolge && coqc -R ../common CNO MalbolgeCore.v && \
35-
echo "✓ Coq proofs compiled"; \
30+
cd proofs/coq && coq_makefile -f _CoqProject -o Makefile.all >/dev/null && \
31+
make -f Makefile.all -j"$(nproc)" && \
32+
echo "✓ Coq proofs compiled (CNO + OND)"; \
3633
else \
3734
echo "⚠ coqc not found, skipping Coq build"; \
3835
fi
3936

40-
# Build Lean 4 proofs
37+
# Build Lean 4 proofs (CNO libs + OND; needs Mathlib cache)
4138
build-lean:
4239
@echo "Building Lean 4 proofs..."
4340
cd proofs/lean4 && lake build
4441

45-
# Build Agda proofs
42+
# Build Agda proofs (CNO + OND, --safe --without-K)
4643
build-agda:
4744
@echo "Building Agda proofs..."
48-
cd proofs/agda && agda CNO.agda
45+
cd proofs/agda && agda --safe --without-K CNO.agda && agda --safe --without-K OND.agda
4946

50-
# Build Isabelle/HOL proofs
47+
# Build Isabelle/HOL proofs (CNO + OND session)
5148
build-isabelle:
5249
@echo "Building Isabelle/HOL proofs..."
53-
isabelle build -D proofs/isabelle
50+
isabelle build -d proofs/isabelle AbsoluteZero-CNO
51+
52+
# Build Mizar article (needs MIZFILES + proofs/mizar/dict/cno.voc)
53+
build-mizar:
54+
@echo "Building Mizar CNO article..."
55+
@if command -v verifier >/dev/null 2>&1; then \
56+
cd proofs/mizar && accom CNO && verifier CNO && \
57+
{ test -s CNO.err && { echo "✗ Mizar errors (CNO.err)"; exit 1; } || echo "✓ Mizar verified"; }; \
58+
else echo "⚠ mizar verifier not found, skipping"; fi
59+
60+
# Build the Idris 2 ABI package
61+
build-idris:
62+
@echo "Building Idris 2 ABI..."
63+
idris2 --build absolute-zero-abi.ipkg
5464

5565
# Build TypeScript
5666
build-typescript:
@@ -62,19 +72,24 @@ build-typescript:
6272
# Verification Commands
6373
# ============================================================================
6474

65-
# Verify all proofs
66-
verify-all: verify-coq verify-z3 verify-lean verify-agda verify-isabelle
75+
# Verify BOTH pillars across ALL six provers + the Idris ABI (canonical gate).
76+
# Single source of truth; prints ALL-PROVERS-GREEN on success.
77+
verify:
78+
@proofs/verify-all-provers.sh
79+
80+
# Verify all proofs (per-prover targets; `just verify` is the canonical one-shot)
81+
verify-all: verify-coq verify-z3 verify-lean verify-agda verify-isabelle verify-mizar verify-idris
6782
@echo "✓ All verifications complete"
6883

6984
# Verify Coq proofs
7085
verify-coq: build-coq
7186
@echo "✓ Coq proofs verified"
7287

73-
# Verify Z3 SMT properties
88+
# Verify Z3 SMT properties (CNO checks + OND bounded instances)
7489
verify-z3:
7590
@echo "Verifying Z3 SMT properties..."
7691
@if command -v z3 >/dev/null 2>&1; then \
77-
z3 proofs/z3/cno_properties.smt2 && echo "✓ Z3 verification complete"; \
92+
sh proofs/z3/verify.sh && z3 proofs/z3/ond/OND_checks.smt2 && echo "✓ Z3 verification complete"; \
7893
else \
7994
echo "⚠ z3 not found, skipping Z3 verification"; \
8095
fi
@@ -92,6 +107,14 @@ verify-agda: build-agda
92107
verify-isabelle: build-isabelle
93108
@echo "✓ Isabelle/HOL proofs verified"
94109

110+
# Verify the Mizar CNO article
111+
verify-mizar: build-mizar
112+
@echo "✓ Mizar proofs verified"
113+
114+
# Verify the Idris 2 ABI package
115+
verify-idris: build-idris
116+
@echo "✓ Idris ABI verified"
117+
95118
# ============================================================================
96119
# Testing Commands
97120
# ============================================================================

README.md

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,13 @@ proof and the physical metal.
6868

6969
See **`docs/TWO-PILLARS.adoc`** (narrative), **`docs/OND-ROADMAP.adoc`**
7070
(prioritised obligations), and **`docs/OND-PILLAR-STRUCTURE.adoc`**
71-
(module layout). The OND pillar is at the design/roadmap stage: its
72-
obligations are currently `Admitted` (specified, not yet proved) — the
73-
normal honest starting state, mirroring CNO’s own open obligations.
71+
(module layout). **Both pillars are now machine-checked.** OND obligations
72+
**OND-1..5** are proved with **zero axioms** in Coq (`proofs/coq/ond/OND.v`,
73+
every theorem *Closed under the global context*), mirrored in Lean 4, Agda,
74+
and Z3; the independence theorem is anchored to the real core `is_CNO`. Only
75+
**OND-6** (conditional composition, the research capstone) remains open, by
76+
design. Reproduce the whole estate — both pillars, all six provers plus the
77+
Idris ABI — with **`proofs/verify-all-provers.sh`** (`ALL-PROVERS-GREEN`).
7478

7579
# Project Structure
7680

@@ -97,9 +101,11 @@ normal honest starting state, mirroring CNO’s own open obligations.
97101
│ ├── agda/ # Agda proofs (dependent types)
98102
│ ├── isabelle/ # Isabelle/HOL (production-grade)
99103
│ ├── mizar/ # Mizar proofs (mathematical library)
104+
│ ├── ond/ # OND Coq module (OND-1..5 proved, zero axioms)
100105
│ ├── observation-models/ # OND: declared observation models O (proof inputs)
101-
│ └── residue/ # OND: residue lists (the model-vs-metal gap)
102-
│ # Each prover dir hosts CNO.* and (to author) co-equal OND.* modules
106+
│ ├── residue/ # OND: residue lists (the model-vs-metal gap)
107+
│ └── verify-all-provers.sh # one-shot gate: both pillars, all six provers + Idris
108+
│ # Each prover dir hosts CNO.* and co-equal OND.* modules (OND now authored)
103109
104110
├── interpreters/ # Language interpreters with CNO detection
105111
│ ├── rescript/ # Malbolge (ReScript)
@@ -126,33 +132,38 @@ normal honest starting state, mirroring CNO’s own open obligations.
126132
127133
├── Justfile # Build automation
128134
├── Containerfile # Containerized verification (Podman/Docker)
129-
├── VERIFICATION.md # Detailed verification status
130-
└── .gitlab-ci.yml # CI/CD pipeline
135+
├── PROOF-STATUS.adoc # Reproduced verification status, prover by prover
136+
└── .github/workflows/ # CI/CD (GitHub Actions)
131137

132138
# Quick Start
133139

134140
## Prerequisites
135141

136-
**Fedora**: `` `bash `` `sudo` `dnf` `install` `coq` `z3` `nodejs`
137-
`opam` `just` `npm` `install` `-g` `rescript@11.1`\`
142+
The proofs span six provers plus the Idris 2 ABI. Coq, Agda, Z3, and Idris 2 are
143+
the lightest; Lean needs Mathlib, and Isabelle/Mizar are large downloads.
138144

139-
**Ubuntu**: `` `bash `` `sudo` `apt` `install` `coq` `z3` `nodejs` `npm`
140-
`npm` `install` `-g` `rescript@11.1` `cargo` `install` `just`\`
145+
- **Coq** 8.18+ (`coqc`, `coq_makefile`)
146+
- **Agda** 2.6.3 (with agda-stdlib)
147+
- **Lean 4** (via `elan`; toolchain pinned in `proofs/lean4/lean-toolchain`, needs Mathlib)
148+
- **Z3** 4.16+
149+
- **Isabelle** 2025-2 (ships a prebuilt HOL image)
150+
- **Mizar** 8.1.x (set `MIZFILES` to its MML)
151+
- **Idris 2** 0.8+
152+
- **just** (task runner), **Rust/cargo** (interpreters/tools)
141153

142-
## Build
154+
## Build & verify
143155

144156
```bash
145-
# Install dependencies
146-
npm install
157+
# One-shot: both pillars, all six provers + the Idris ABI → ALL-PROVERS-GREEN
158+
proofs/verify-all-provers.sh
147159

148-
# Build everything
149-
just build-all
160+
# Or via the task runner (canonical gate)
161+
just verify
150162

151-
# Verify all proofs
152-
just verify-all
153-
154-
# Run tests
155-
just test-all
163+
# Individual prover targets also exist, e.g.
164+
just build-coq # all 14 Coq theories (CNO + OND) via coq_makefile
165+
just verify-agda
166+
just verify-mizar
156167
```
157168

158169
## Container (Podman/Docker)

0 commit comments

Comments
 (0)