Skip to content

Commit 2b84491

Browse files
committed
agda: start discharging Veblen same-binder obligations
1 parent 456c20c commit 2b84491

5 files changed

Lines changed: 40 additions & 0 deletions

File tree

docs/buchholz-plan.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ The order / well-foundedness track now has an explicit staged split:
110110
* WF-1.6 (`Ordinal.Buchholz.VeblenIdentityModel`): first concrete
111111
instantiation of the interface (identity-measure bootstrap), keeping
112112
`dec-ψα` and `dec-+2` as explicit assumptions.
113+
* WF-1.7 (`Ordinal.Buchholz.VeblenObligations`): start discharging
114+
same-binder obligation shapes; first landed lemma is
115+
`dec-+2-plus-right` (projection-model form).
113116
* WF-2 (in progress): explicit inversion lemmas for the still-open
114117
mixed head cases (`Ω/+`, `ψ/+`) and the newly admitted comparison
115118
bridge `bpsi ν α <ᵇ bOmega μ` under `ν ≤Ω μ`.

proofs/agda/All.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ open import Ordinal.Buchholz.WellFormed
4141
open import Ordinal.Buchholz.WellFounded
4242
open import Ordinal.Buchholz.VeblenInterface
4343
open import Ordinal.Buchholz.VeblenIdentityModel
44+
open import Ordinal.Buchholz.VeblenObligations
4445
open import Ordinal.Buchholz.Smoke
4546

4647
open import Smoke

proofs/agda/Ordinal/Buchholz/Smoke.agda

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,8 @@ open import Ordinal.Buchholz.VeblenIdentityModel using
117117
( identity-interface
118118
; core-wf-from-identity
119119
)
120+
121+
open import Ordinal.Buchholz.VeblenObligations using
122+
( plus-right
123+
; dec-+2-plus-right
124+
)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
3+
-- Step 7a (Veblen-route obligations): isolate the deferred same-binder
4+
-- obligations and prove the easiest one first.
5+
--
6+
-- This module does not yet provide a full Veblen measure model. It
7+
-- records/proves obligation-shaped lemmas that can be reused when the
8+
-- final measure is assembled.
9+
10+
module Ordinal.Buchholz.VeblenObligations where
11+
12+
open import Ordinal.Buchholz.Syntax using (BT; bzero; bOmega; bplus; bpsi)
13+
open import Ordinal.Buchholz.Order using (_<ᵇ_)
14+
15+
-- Project the right summand of a plus-term; non-plus heads map to bzero.
16+
plus-right : BT BT
17+
plus-right bzero = bzero
18+
plus-right (bOmega _) = bzero
19+
plus-right (bpsi _ _) = bzero
20+
plus-right (bplus _ y₂) = y₂
21+
22+
-- First discharged same-binder obligation shape:
23+
-- if y₂ <ᵇ z₂ then right-projection decreases across bplus x _.
24+
dec-+2-plus-right :
25+
{x y₂ z₂}
26+
y₂ <ᵇ z₂
27+
plus-right (bplus x y₂) <ᵇ plus-right (bplus x z₂)
28+
dec-+2-plus-right y₂<z₂ = y₂<z₂
29+
30+
-- The sibling obligation shape (`dec-ψα`) is kept for the next step.

readme.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ Ordinal/Buchholz track status:
8282
** `<ᵇ-inv-+Ωω`, `<ᵇ-inv-+ψω`
8383
* `Ordinal.Buchholz.VeblenInterface` now pins a measure-based WF interface with explicit constructor obligations and deferred same-binder obligations (`dec-ψα`, `dec-+2`) for the Veblen-route follow-up.
8484
* `Ordinal.Buchholz.VeblenIdentityModel` provides a first concrete instantiation of that interface (identity measure bootstrap), with `dec-ψα` / `dec-+2` kept as explicit parameters.
85+
* `Ordinal.Buchholz.VeblenObligations` starts the hard-obligation discharge track with a first concrete lemma for the `dec-+2` shape (`dec-+2-plus-right`).
8586
* Open work remains for general `Ω/+` and `ψ/+` comparisons and for the shared-binder cases (`<ᵇ-ψα`, `<ᵇ-+2`) in a `--without-K`-compatible style.
8687

8788
== External Bridge Targets (local workspace)

0 commit comments

Comments
 (0)