Skip to content

Commit e6d6fbd

Browse files
Merge branch 'main' into experimental/echo-additive-r2-r3
2 parents 2bbdb49 + 44de47e commit e6d6fbd

23 files changed

Lines changed: 2108 additions & 69 deletions

.github/workflows/codeql.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ jobs:
3131
fail-fast: false
3232
matrix:
3333
include:
34-
- language: javascript-typescript
35-
build-mode: none
36-
# Also analyse the GitHub Actions workflows themselves
37-
# (CodeQL `actions` language) — directly relevant given the
38-
# workflow-hardening in this PR, and closes the Hypatia
34+
# CodeQL `actions` language scans the GitHub Actions workflow
35+
# files (present in every repo). The repo has no JS/TS source,
36+
# so the prior JS/TS matrix entry recorded zero results /
37+
# failed "no source files"; closes the Hypatia
3938
# `codeql_missing_actions_language` finding.
4039
- language: actions
4140
build-mode: none

.machine_readable/agent_instructions/debt.a2ml

Lines changed: 48 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,68 @@
1111

1212
[metadata]
1313
version = "1.0.0"
14-
last-updated = "2026-06-12"
14+
last-updated = "2026-06-14"
15+
16+
# ============================================================================
17+
# OUTSTANDING PROOFS — the live frontier (single inventory, 2026-06-14)
18+
#
19+
# Status legend:
20+
# OPEN-EXTERNAL — mechanisable, but needs new external mathematics
21+
# (no in-repo route exists yet).
22+
# WALLED — proven not closable on the current object under
23+
# --safe --without-K; close-out is a falsifiable verdict.
24+
# OPEN-DESIGN — closable, but gated on a substantial design decision
25+
# (e.g. truncation / Cubical).
26+
# MECHANICAL — closable now, bounded, no new ideas needed.
27+
#
28+
# 2026-06-14 progress note: the two long-standing ordinal "should"
29+
# items (unbudgeted _<ᵇʳᶠ_; K-limited shared-binder; surface-route WF)
30+
# are now DONE in their ACHIEVABLE (sound-carrier) form — wf-<ᵇ²,
31+
# wf-<ᵇʳᶠ², wf-<ᵇ⁺² (PRs #208/#212/#214). What remains of them is the
32+
# native-order form, which is WALLED. All four paper.adoc [EXPAND]
33+
# tags are cleared (#215). The genuine remaining ordinal frontier is
34+
# now order-type fidelity (D-2026-06-14).
35+
# ============================================================================
1536

1637
# ============================================================================
1738
# SHOULD — would fix next wave
1839
# ============================================================================
1940

2041
[[debt.should]]
21-
component = "ordinal-track / Ordinal.Buchholz"
22-
issue = "Unbudgeted _<ᵇʳᶠ_ global WF: eliminate the explicit ℕ budget from wf-<ᵇʳᶠᵇ without leaving --safe --without-K."
42+
component = "ordinal-track / Bachmann-Howard order-type fidelity"
43+
issue = "Order-type fidelity: prove the well-formed Buchholz notation IS the Bachmann-Howard ordinal order, not merely well-founded. Either (a) a verified order-preserving denotation ‖·‖ : BT → 𝒪 of height ψ₀(Ω_ω) with s <ᵇ t iff ‖s‖ < ‖t‖ on the well-formed fragment, or (b) a direct order-type computation (fundamental sequences / collapsing-function correctness)."
44+
status = "OPEN-EXTERNAL"
2345
effort = "hard"
2446
impact = "high"
25-
discovered = "2026-05-20"
26-
note = "Solo, not swarmable; the named next bottleneck toward Bachmann-Howard."
47+
discovered = "2026-06-14"
48+
note = "Decision-log D-2026-06-14 (decisions/ordinal-bh-order-type-fidelity-open.adoc). The genuine remaining ordinal-strength frontier; WF (done, sound-carrier) is the prerequisite, not the result. Gates the Pillar E ordinal appendix's strong reading (the WF-milestone appendix is already written, #215)."
2749

2850
[[debt.should]]
29-
component = "ordinal-track / Order.agda"
30-
issue = "Push the surface-route WF back into Order.agda's main _<ᵇ_ package; close the K-limited shared-binder cases (<ᵇ-ψα, <ᵇ-+2)."
51+
component = "ordinal-track / Order.agda (native _<ᵇ_)"
52+
issue = "Global-native well-foundedness: unbudgeted wf-<ᵇʳᶠ AND the K-limited shared-binder cases (<ᵇ-ψα, <ᵇ-+2) over NATIVE _<ᵇ_ (not the sound carrier)."
53+
status = "WALLED"
3154
effort = "hard"
32-
impact = "high"
55+
impact = "low"
3356
discovered = "2026-04-28"
57+
note = "Native _<ᵇ_ is ordinally unsound (the <ᵇ-+Ω counterexample); all five rank/direct/lex/tower/inverse-image routes are walled (RankBrouwer.agda preamble + buchholz-rank-obstruction.adoc), and rank2 does not escape it. The ACHIEVABLE (sound-carrier) forms are DONE: wf-<ᵇ² / wf-<ᵇʳᶠ² / wf-<ᵇ⁺². Realistic close-out for the native form is a FALSIFIABLE VERDICT, not a positive proof — write it when this item is next picked up."
3458

3559
[[debt.should]]
36-
component = "establishment-track / docs/echo-types/paper.adoc"
37-
issue = "Clear remaining [EXPAND] tags (related work; evaluation; ordinal consumer-evidence appendix)."
38-
effort = "medium"
39-
impact = "medium"
40-
discovered = "2026-05-17"
41-
note = "Author-driven; the ordinal appendix is gated on the Bachmann-Howard milestone. Do NOT auto-run outreach / Zenodo / packaging."
42-
43-
[[debt.should]]
44-
component = "establishment-track / EchoImageFactorization"
45-
issue = "Image factorisation (epi, mono) earn-back requires propositional truncation (Cubical Agda, or a postulated ∥_∥ interface with scoped honest-scope). Substantial design decision."
60+
component = "establishment-track / EchoImageFactorization (epi, mono)"
61+
issue = "Image factorisation (epi, mono) earn-back requires propositional truncation. The postulated-interface placeholder lives in EchoImageFactorizationPropPostulated.agda (the tree's ONLY postulate; not in All.agda)."
62+
status = "OPEN-DESIGN"
4663
effort = "hard"
4764
impact = "medium"
4865
discovered = "2026-05-27"
66+
note = "Cubical Agda (different --safe flag profile) OR a postulated ∥_∥ interface with scoped honest-scope. Substantial design decision; the (equivalence, projection) upper form is already done (Tier 1 + F5)."
67+
68+
[[debt.should]]
69+
component = "earn-back-track / examples/Transport.agda (Gate-3)"
70+
issue = "Two disclosed open items in the transport/Gate-3 example, pending a K-free reformulation (coe-cong-R ∘ sym push). Stated in-file as precise OPENs."
71+
status = "OPEN-DESIGN"
72+
effort = "medium"
73+
impact = "low"
74+
discovered = "2026-05-20"
75+
note = "See earn-back-plan.adoc; nothing is postulated — the items are honestly-stated gaps awaiting a K-free route."
4976

5077
# ============================================================================
5178
# COULD — would fix eventually
@@ -54,16 +81,19 @@ discovered = "2026-05-27"
5481
[[debt.could]]
5582
component = "establishment-track / decoration zoo"
5683
issue = "Wire the remaining decoration modules (Cost / Search / Indexed / Epistemic) as ResidueForm / DecorationStructure instances; mechanical per-module work."
84+
status = "MECHANICAL"
5785
effort = "medium"
5886
impact = "low"
5987
discovered = "2026-05-27"
6088

6189
[[debt.could]]
6290
component = "establishment-track / Q2.1 truncation generalisation"
6391
issue = "Generalise echo-not-prop: for non-injective f with two distinct preimages of y, is-prop (Echo f y) → ⊥. High-leverage for the truncation distinctness argument but currently low-priority."
92+
status = "OPEN-DESIGN"
6493
effort = "medium"
6594
impact = "medium"
6695
discovered = "2026-04-29"
96+
note = "Shares the propositional-truncation design decision with the (epi, mono) earn-back; resolving one likely informs the other."
6797

6898
[[debt.could]]
6999
component = "rsr-conformance (root Intentfile)"

CLAUDE.md

Lines changed: 103 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,109 @@ work to `main` and refresh all documentation:
206206
name, the commits folded in, the remaining open pieces of the
207207
milestone, and the proposed smallest useful next advance.
208208

209-
## Current rung state (2026-06-13)
210-
211-
### Session arc 2026-06-13 Deniability track — EchoDeniability + wiki (read this first)
209+
## Current rung state (2026-06-14)
210+
211+
### Session arc 2026-06-14 Ordinal track — doubled-ladder Gate 1 closure (read this first)
212+
213+
*Where we started:* Gate 1's residual was the EQUAL-Ω boundary
214+
`bpsi ν α <ᵇ bOmega ν` (ψ_ν(α) < Ω_ν at the SAME marker). The
215+
single ω-power ladder gives ψ and Ω the same exponent block, so
216+
`rank-pow` collapses them (can't order `<ᵇ-ψΩ≤`) and `rank-adm`
217+
inverts `<ᵇ-Ωψ`. A doubled-ladder design (ψ_ν ↦ ω^(2ν+1),
218+
Ω_ν ↦ ω^(2ν+2)) had its arithmetic spine + `rank2` + the equal-Ω
219+
discharge landed (PRs #202/#203); the WfAdm→rank2 bridge was the
220+
next piece.
221+
222+
*Where we ended:* the doubled-ladder programme is COMPLETE — Gate 1
223+
closed for the sound carrier. Six PRs (#204-#209), all
224+
`--safe --without-K`, zero postulates, structural recursion (no
225+
`TERMINATING`):
226+
227+
* `#204` — `rank2-bounded : WfAdm t → rank-pow t <′ ω-rank-pow μ →
228+
rank2 t <′ ω-rank-pow (double μ)`, the scale-transfer bridge.
229+
NOT a plain map: `rank-pow (bpsi ν _) = ω-rank-pow ν` collapses the
230+
ψ-argument α that `rank2` keeps, so the WfAdm `wf-adm-bpsi` field
231+
supplies the per-ψ admissibility bound the bpsi case recurses on.
232+
* `#205` — 4 atomic-boundary primitives (`RankDoubledLadderMono`):
233+
`rank2-mono-{ΩΩ,Ωψ,ψΩ,ψΩ≤}`. The `<ᵇ-ψΩ≤` equal-Ω boundary splits
234+
`ν ≤Ω μ` via `≤Ω-split`.
235+
* `#206` — 5 bzero/via-left primitives (`RankDoubledLadderMonoPlus`):
236+
`rank2-pos-{bOmega,bpsi}`, `rank2-mono-{0-+,Ω+,ψ+}`.
237+
* `#207` — 3 bplus-on-left primitives. `RankDoubledLadderAddPrincipal`
238+
adds Ω-block additive principality (`additive-principal-base` — the
239+
OmegaPow proof re-stated over an arbitrary base, for the ω-marker
240+
target `ω-rank-pow-succ ω = olim (λ n → ω-rank-pow ω ·ℕ n)`) +
241+
`rank2-mono-+Ω`; `RankDoubledLadderMonoPlus2` adds `rank2-mono-+ψ`
242+
(ψ-block additive principality) + `rank2-mono-+1` (joint-bplus,
243+
⊕-left-weakening).
244+
* `#208` — THE CAPSTONE (`RankDoubledLadderUmbrella`): the
245+
rank2-soundness-ready relation `_<ᵇ²_` over all 12 core
246+
constructors (WfAdm witnesses + the `<ᵇ-+ψ` leading-power bound
247+
`rank-pow x <′ ω-rank-pow ν` + WfCNF tail bounds `y ≤ᵇ² x` baked
248+
in), the umbrella `rank2-mono-<ᵇ² : s <ᵇ² t → rank2 s <′ rank2 t`
249+
(structural recursion dispatching to the 12 primitives), the
250+
`≤ᵇ²` companion, and `wf-<ᵇ² : WellFounded _<ᵇ²_` via the standard
251+
`Subrelation` + `On.wellFounded rank2 wf-<′` transport.
252+
* `#209` — doc consolidation in `buchholz-rank-obstruction.adoc`.
253+
254+
*Key honest-scope insight (DO NOT reopen as "incomplete").* `_<ᵇ²_`
255+
is a SOUND CARRIER, exactly like the existing `_<ᵇ⁰_` / `_<ᵇᵘ_`.
256+
It excludes the ordinally-unsound native witnesses (the `<ᵇ-+Ω`
257+
counterexample `bplus bzero (bOmega (fin 1)) <ᵇ bOmega (fin 0)` is
258+
NOT an `_<ᵇ²_` derivation — its tail bound `y ≤ᵇ² x` fails). There is
259+
NO faithful projection `<ᵇ → <ᵇ²` and that is not a gap: native
260+
`_<ᵇ_` is ordinally unsound, so no rank embedding maps it, and its
261+
well-foundedness is ALREADY proved directly in
262+
`WellFounded.wf-<ᵇ` (structural, no rank). The doubled ladder's
263+
contribution is a STRICTLY STRONGER sound carrier than the
264+
single-ladder union `_<ᵇᵘ_`: it closes the equal-Ω boundary
265+
`<ᵇ-ψΩ≤` and the bplus-target `<ᵇ-+1` (the single-ladder Gate 1's
266+
open blocker) with ONE ordinally-sound scalar rank.
267+
268+
*Follow-on (PR #212): the recursive-surface budget eliminated on the
269+
sound carrier.* `Ordinal.Buchholz.RecursiveSurfaceSound` lands
270+
`_<ᵇʳᶠ²_` (= `_<ᵇ²_` core + the two same-binder congruences `ψα`/`+2`)
271+
and its UNBUDGETED `wf-<ᵇʳᶠ²` via the `rank2` embedding: `<ᵇʳᶠ²-core`
272+
`rank2-mono-<ᵇ²`, the two congruences → `⊕-mono-<-right`. This is
273+
roadmap open-item #1 ("eliminate the ℕ budget from `wf-<ᵇʳᶠᵇ`") in its
274+
ACHIEVABLE form. The budget was an artefact of native `_<ᵇ_`'s
275+
unsoundness, not of the same-binder recursion. DO NOT reopen the
276+
GLOBAL unbudgeted `wf-<ᵇʳᶠ` over native `_<ᵇ_`: all five routes are
277+
walled (`RankBrouwer.agda` preamble) and `rank2` does NOT escape the
278+
`<ᵇ-+Ω` counterexample — its realistic close-out is the falsifiable
279+
"cannot close under `--safe --without-K`" verdict, not a positive
280+
proof.
281+
282+
*The `<ᵇ-+ψ` leading-power subtlety (load-bearing).* `rank2-mono-+ψ`
283+
needs the source pieces below the ψ-block's LEADING power
284+
`ω-rank-pow (double ν)` — strictly stronger than "below the whole
285+
ψ-rank" (which is all plain recursion gives, and `ω-rank-pow(double ν)
286+
⊕ rank2 α` is NOT additive principal). So `<ᵇ²-+ψ` carries
287+
`WfAdm x` + `rank-pow x <′ ω-rank-pow ν`, and the umbrella transfers
288+
it via `rank2-bounded`. Do not try to reformulate `rank2-mono-+ψ`
289+
with whole-ψ-rank premises — it is mathematically insufficient.
290+
291+
*Module map (all under `proofs/agda/Ordinal/Buchholz/`):*
292+
`RankDoubledLadder` (rank2 + spine + bridge), `…Mono` (4 atomic),
293+
`…MonoPlus` (5 bzero/via-left), `…AddPrincipal` (+Ω + base-generic
294+
additive principality), `…MonoPlus2` (+ψ, +1), `…Umbrella`
295+
(`_<ᵇ²_`, umbrella, `wf-<ᵇ²`). All wired into `All.agda` +
296+
pinned in `Ordinal/Buchholz/Smoke.agda`.
297+
298+
*Plan for the next Claude.* The doubled-ladder programme is closed.
299+
Genuinely-open ordinal-track frontier (separate, larger scope):
300+
(1) unbudgeted `_<ᵇʳᶠ_` global WF — eliminate the ℕ budget from
301+
`wf-<ᵇʳᶠᵇ` under `--safe --without-K`; (2) the single-ladder Gate 1
302+
`<ᵇ-+1` cross-head rank-equal sub-case, IF one wants it closed on the
303+
ORIGINAL `rank-pow`/union umbrella rather than via the doubled
304+
ladder (the doubled ladder already closes `<ᵇ-+1` on its own carrier);
305+
(3) Pillar E paper `[EXPAND]` ordinal consumer-evidence appendix,
306+
gated on the Bachmann–Howard milestone. DO NOT reopen: the doubled
307+
ladder design (rank2/double/the 12 primitives/the `_<ᵇ²_` carrier
308+
shape are correct); the honest-scope verdict above; the `<ᵇ-+ψ`
309+
leading-power formulation.
310+
311+
### Session arc 2026-06-13 Deniability track — EchoDeniability + wiki
212312

213313
*Where we started:* user pasted `Deniability.agda` (standalone exploration: perfect
214314
deniability via constant production, `refl` proof) and asked for a `DeniabilityPartial.agda`

Fidelity-OPEN-postulates.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
5+
6+
# Fidelity — open postulates (trust boundaries)
7+
8+
Companion to `proofs/agda/Ordinal/Buchholz/Fidelity.agda`. Open problem
9+
**`D-2026-06-14`** (`docs/echo-types/decisions/ordinal-bh-order-type-fidelity-open.adoc`).
10+
11+
## Plain-language summary
12+
13+
**What is now mechanised.** Only the *shape* of the order-type
14+
fidelity claim, plus one genuinely-proved structural fact:
15+
16+
- The **theorem shape** is typed and auditable: `Fidelity.agda` states
17+
"the sound carrier `_<ᵇ²_` (on well-formed terms `WfBT`) has order
18+
type ψ₀(Ω_ω)" as a cofinal order-embedding into a Bachmann–Howard
19+
structure (`OrderTypeBH`, assembled in `fidelity`). The statement is
20+
quantified over the **sound carrier only** — never native `_<ᵇ_`.
21+
- The **lower-bound half** (`fidelity-lower`) is a real term *given the
22+
postulated denotation*: the BH height is attained by the well-formed
23+
carrier term `BH = ψ₀(Ω_ω)` itself (it plumbs `BH`, `BH-wf`, and the
24+
denotation's `pins-BH` field — no postulate of its own).
25+
- The **grammar-level upper shadow** (`marker-≤ω`, `markers-≤ω`) is
26+
proved **for real, postulate-free**: every Ω-marker in any Buchholz
27+
term is `≤Ω ω` (the carrier lives in the ν ≤ ω fragment; the notation
28+
never names a marker above Ω_ω). This is the structural precondition
29+
of the upper bound, *not* the upper bound itself.
30+
31+
**What remains genuinely open.** The two pieces of real content — the
32+
**order-reflecting, height-preserving denotation** `⟦·⟧` and its
33+
**cofinality** — are postulated, together with the existence of a
34+
checked Bachmann–Howard target structure. These are the missing
35+
*objects*, not missing *plumbing*.
36+
37+
**Explicit non-claim.** *Nothing in this module asserts that order type
38+
ψ₀(Ω_ω) is proven.* `fidelity` is only as strong as the three
39+
postulates below; with them open, it asserts the **shape** of fidelity,
40+
not fidelity. `rank2` (the height-collapsing termination measure) is
41+
**not** reused, extended, or tightened toward this claim — fidelity
42+
needs the separate, height-preserving `⟦·⟧`. The status surfaces
43+
(appendix, decision log, roadmap) continue to read **"written at WF
44+
milestone; order-type fidelity OPEN"** and were *not* edited by this
45+
commit.
46+
47+
## The postulates (complete list — `grep postulate Fidelity.agda`)
48+
49+
| # | Name | Statement (in words) | What closes it | Owner |
50+
|---|------|----------------------|----------------|-------|
51+
| 1 | `bh-notation : BHNotation` | A checked well-founded strict order `(𝒪, _<𝒪_)` with a distinguished element `bh-height` whose initial segment is the Bachmann–Howard ordinal ψ₀(Ω_ω). | Construct (or import) a verified Bachmann–Howard ordinal structure in Agda — e.g. a checked ordinal-notation library, or a Cantor/Veblen normal-form development carried to ψ₀(Ω_ω). | **External mathematics** (owner / external) |
52+
| 2 | `denotation : DenotesBH bh-notation` | A denotation `⟦·⟧ : BT → 𝒪` that is **order-preserving** (`s <ᵇ² t → ⟦s⟧ <𝒪 ⟦t⟧`), **order-reflecting** (`⟦s⟧ <𝒪 ⟦t⟧ → s <ᵇ² t`), **cofinal** (image unbounded in `𝒪`), and **pins BH** (`⟦BH⟧ ≡ bh-height`). The height-preserving embedding `rank2` is *not*. | Define `⟦·⟧` mapping each ψ_ν / Ω_ν / + to its genuine ordinal height (not the collapsed ω-power blocks of `rank2`) and prove the four fields. This is the core order-type-correctness work (a denotational semantics for the notation faithful to `_<ᵇ²_`). | **External mathematics** (owner / external); the design route is option (a) in `D-2026-06-14`. |
53+
| 3 | `ordinal-upper-bound : ∀ {t} → WfBT t → ¬ (bh-height <𝒪 ⟦ t ⟧)` | No well-formed carrier term denotes strictly above the BH height (the ⟦·⟧-level upper half of the sandwich). | Cheap *given* postulate #2: combine the real `markers-≤ω` (every marker `≤Ω ω`) with a height calculation through the real `⟦·⟧` (markers `≤ ω` ⇒ denotation `≤ ψ₀(Ω_ω)`). It is postulated only because it quantifies over the not-yet-real `⟦·⟧`; it is **not** independent external mathematics beyond #2. | Discharged alongside / just after #2 (in-repo, once `⟦·⟧` is real). |
54+
55+
## Discharge order
56+
57+
`bh-notation` (#1) and `denotation` (#2) are the genuine external
58+
content and are independent of each other only up to #2 referencing
59+
#1's `𝒪`. `ordinal-upper-bound` (#3) is downstream of #2 and in-repo
60+
once #2 lands. When all three are real, `fidelity : OrderTypeBH`
61+
becomes an unconditional theorem and a **human** may then update the
62+
appendix / decision-log / roadmap from "OPEN" to discharged — per the
63+
hard rule, this commit does not pre-empt that sign-off.

0 commit comments

Comments
 (0)