Skip to content

Commit fe651c9

Browse files
hyperpolymathclaude
andcommitted
docs+annotate: Lambda cluster — inline AXIOM: comments + §(c)/§(d) proof-debt entries
Phase 2a of the standards#203 trusted-base reduction policy rollout (follow-up to #58/#59 Coq triage). First cluster: `proofs/coq/lambda/` and `proofs/lean4/LambdaCNO.lean`. Coq (2 markers, both §(c) AXIOM per Phase 1 triage): - `LambdaCNO.v:356` `y_not_cno` — inline `(* AXIOM: ... *)` added - `LambdaCNO.v:376` `eta_equivalence` — inline `(* AXIOM: ... *)` added Lean (3 markers — new Phase 2a triage): - `LambdaCNO.lean:183` `subst_closed_term` → §(d) DEBT (provable by induction on `t`; INDEFINITE owner @hyperpolymath) - `LambdaCNO.lean:232` `y_combinator_not_identity` → §(c) AXIOM (mirrors Coq `y_not_cno`; inline `-- AXIOM:` added) - `LambdaCNO.lean:258` `eta_equivalence` → §(c) AXIOM (mirrors Coq `eta_equivalence`; inline `-- AXIOM:` added) `docs/proof-debt.md` gains a Phase 2a triage section and a §(d) entry for the Lean DEBT item. The two §(c) Lean entries are inline-annotated per the policy contract (`-- AXIOM:` leading comment). Verification: `bash standards/scripts/check-trusted-base.sh .` now reports 0 Lambda errors (down from 5 of the original 129 markers). The remaining 123 errors are the Quantum/Filesystem/Physics clusters, scheduled for follow-up PRs. Refs standards#203, absolute-zero#58, absolute-zero#59. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2723aad commit fe651c9

3 files changed

Lines changed: 52 additions & 3 deletions

File tree

docs/proof-debt.md

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,20 @@ Out of scope for Phase 1 (still in §(d) pending future triage):
3131
52 Lean 4 `axiom` declarations and the 7 Idris2 postulates tracked by
3232
[#27](https://github.com/hyperpolymath/absolute-zero/issues/27).
3333

34+
## Phase 2a triage — Lean Lambda cluster (2026-05-27)
35+
36+
Per-cluster Lean triage rolling out 2026-05-27 in cluster-sized PRs.
37+
First cluster: `proofs/lean4/LambdaCNO.lean` (3 axioms).
38+
39+
| Line | Identifier | Disposition | Justification |
40+
|-----:|------------|-------------|---------------|
41+
| 183 | `subst_closed_term` | §(d) DEBT | Standard metatheoretic property of lambda calculus; provable by induction on `t` once the substitution-on-closed-terms lemma is mechanised. |
42+
| 232 | `y_combinator_not_identity` | §(c) AXIOM | Non-termination claim about Y combinator; requires step-indexed semantics or coinduction (same justification as Coq `y_not_cno`). |
43+
| 258 | `eta_equivalence` | §(c) AXIOM | η-equivalence is not derivable under β-only reduction (same justification as Coq `eta_equivalence` at LambdaCNO.v:376). |
44+
45+
The two §(c) entries are annotated inline with `-- AXIOM:` leading
46+
comments. The §(d) entry below has an owner + deadline.
47+
3448
## (a) DISCHARGE backlog (Coq, 17)
3549

3650
Provable propositions currently stated as `Axiom`. Enumerated in
@@ -52,12 +66,33 @@ Full enumeration in [`docs/proof-debt-triage.md`](./proof-debt-triage.md).
5266

5367
## (d) DEBT — actively to be closed
5468

55-
After Phase 1, the §(d) bucket contains only the 52 Lean axioms and
56-
7 Idris2 postulates that have not yet been triaged. Coq markers are
69+
After Phase 1, the §(d) bucket contains only the Lean axioms and 7
70+
Idris2 postulates that have not yet been triaged. Coq markers are
5771
no longer in §(d).
5872

73+
### Lean — provable, awaiting proof
74+
75+
- `proofs/lean4/LambdaCNO.lean:183``subst_closed_term`
76+
- **Owner**: @hyperpolymath
77+
- **Plan**: discharge by induction on `t : LambdaTerm`; closed-term
78+
invariant carries through `LVar`, `LAbs`, `LApp` cases. Sibling to
79+
Coq's `subst` lemmas in `proofs/coq/lambda/LambdaCNO.v`.
80+
- **Deadline**: INDEFINITE (no proof-PR scheduled yet — provable;
81+
awaits Lean-side discharge push).
82+
83+
### Lean — pending triage
84+
85+
49 Lean axioms remain to be triaged (FilesystemCNO 21, QuantumCNO 14,
86+
StatMech 14). Triage planned in cluster-sized PRs through
87+
2026-06 — see this file's status block at the bottom.
88+
89+
### Idris2 — pending triage
90+
91+
7 Idris2 postulates in `src/abi/Layout.idr`. Tracked by
92+
[#27](https://github.com/hyperpolymath/absolute-zero/issues/27).
93+
5994
```
60-
(no Coq markers in §(d) post Phase 1; see triage doc for §a/§b/§c.)
95+
(Coq markers no longer in §(d) post Phase 1; see triage doc for §a/§b/§c.)
6196
```
6297

6398
> If `129` > 30, the list above shows the first 30 only.

proofs/coq/lambda/LambdaCNO.v

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,10 @@ Definition y_combinator : LambdaTerm :=
353353
354354
This is a fundamental result in lambda calculus and is safely axiomatized.
355355
*)
356+
(* AXIOM: y_not_cno; non-termination claim about the Y combinator —
357+
requires step-indexed semantics or coinduction to discharge within
358+
the working logic. §(c) NECESSARY AXIOM per docs/proof-debt.md
359+
(triage: docs/proof-debt-triage.md row LambdaCNO.v:356). *)
356360
Axiom y_not_cno : ~ is_lambda_CNO y_combinator.
357361

358362
(** ** Practical Examples *)
@@ -373,6 +377,10 @@ Definition snd : LambdaTerm :=
373377
(** ** Eta Equivalence *)
374378

375379
(** Eta reduction: (λx. f x) ≡ f *)
380+
(* AXIOM: eta_equivalence; η-equivalence is not derivable under β-only
381+
reduction — requires an extra reduction rule or extensional equality.
382+
§(c) NECESSARY AXIOM per docs/proof-debt.md (triage:
383+
docs/proof-debt-triage.md row LambdaCNO.v:376). *)
376384
Axiom eta_equivalence :
377385
forall f : LambdaTerm,
378386
beta_reduce_star (LAbs (LApp f (LVar 0))) f.

proofs/lean4/LambdaCNO.lean

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,9 @@ def y_combinator : LambdaTerm :=
229229

230230
/-- Y is NOT a CNO because it doesn't act as identity.
231231
Y f reduces to f (Y f), not back to f. -/
232+
-- AXIOM: y_combinator_not_identity; non-termination claim about the Y combinator —
233+
-- requires step-indexed semantics or coinduction to discharge.
234+
-- §(c) NECESSARY AXIOM per docs/proof-debt.md (Lean Lambda triage 2026-05-27).
232235
axiom y_combinator_not_identity :
233236
¬ BetaReduceStar (LApp y_combinator lambda_id) lambda_id
234237

@@ -255,6 +258,9 @@ example : BetaReduceStar (LApp church_zero church_zero) (LAbs (LVar 0)) := by
255258
/-! ## Eta Equivalence -/
256259

257260
/-- Eta reduction: (λx. f x) ≡ f -/
261+
-- AXIOM: eta_equivalence; η-equivalence is not derivable under β-only reduction —
262+
-- requires an extra reduction rule or extensional equality.
263+
-- §(c) NECESSARY AXIOM per docs/proof-debt.md (Lean Lambda triage 2026-05-27).
258264
axiom eta_equivalence (f : LambdaTerm) :
259265
BetaReduceStar (LAbs (LApp f (LVar 0))) f
260266

0 commit comments

Comments
 (0)