Skip to content

Commit 456c20c

Browse files
committed
agda: add first concrete Veblen-interface instantiation
1 parent 1d68671 commit 456c20c

5 files changed

Lines changed: 67 additions & 0 deletions

File tree

docs/buchholz-plan.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ The order / well-foundedness track now has an explicit staged split:
107107
pinning constructor-by-constructor decrease obligations and explicit
108108
deferred same-binder obligations (`dec-ψα`, `dec-+2`) for the Veblen
109109
follow-up.
110+
* WF-1.6 (`Ordinal.Buchholz.VeblenIdentityModel`): first concrete
111+
instantiation of the interface (identity-measure bootstrap), keeping
112+
`dec-ψα` and `dec-+2` as explicit assumptions.
110113
* WF-2 (in progress): explicit inversion lemmas for the still-open
111114
mixed head cases (`Ω/+`, `ψ/+`) and the newly admitted comparison
112115
bridge `bpsi ν α <ᵇ bOmega μ` under `ν ≤Ω μ`.

proofs/agda/All.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ open import Ordinal.Buchholz.Examples
4040
open import Ordinal.Buchholz.WellFormed
4141
open import Ordinal.Buchholz.WellFounded
4242
open import Ordinal.Buchholz.VeblenInterface
43+
open import Ordinal.Buchholz.VeblenIdentityModel
4344
open import Ordinal.Buchholz.Smoke
4445

4546
open import Smoke

proofs/agda/Ordinal/Buchholz/Smoke.agda

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,8 @@ open import Ordinal.Buchholz.WellFormed using
112112
open import Ordinal.Buchholz.VeblenInterface using
113113
( VeblenWFInterface
114114
)
115+
116+
open import Ordinal.Buchholz.VeblenIdentityModel using
117+
( identity-interface
118+
; core-wf-from-identity
119+
)
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
3+
-- Minimal concrete instantiation of the Veblen WF interface.
4+
--
5+
-- This uses the identity measure on BT as a bootstrap model to confirm
6+
-- interface coherence. The two same-binder obligations remain explicit
7+
-- parameters (`dec-ψα`, `dec-+2`), matching the currently deferred hard
8+
-- cases.
9+
10+
module Ordinal.Buchholz.VeblenIdentityModel where
11+
12+
open import Induction.WellFounded using (WellFounded)
13+
14+
open import Ordinal.Buchholz.Syntax using (BT; bzero; bOmega; bplus; bpsi)
15+
open import Ordinal.Buchholz.Order using
16+
( _<ᵇ_
17+
; <ᵇ-0-Ω
18+
; <ᵇ-0-+
19+
; <ᵇ-0-ψ
20+
; <ᵇ-ΩΩ
21+
; <ᵇ-Ωψ
22+
; <ᵇ-ψΩ
23+
; <ᵇ-ψΩ≤
24+
; <ᵇ-+ω
25+
; <ᵇ-+ψω
26+
; <ᵇ-+1
27+
)
28+
open import Ordinal.Buchholz.WellFounded using (wf-<ᵇ)
29+
open import Ordinal.Buchholz.VeblenInterface using (VeblenWFInterface)
30+
31+
identity-interface :
32+
(dec-ψα : {ν α β} α <ᵇ β bpsi ν α <ᵇ bpsi ν β)
33+
(dec-+2 : {x y₂ z₂} y₂ <ᵇ z₂ bplus x y₂ <ᵇ bplus x z₂)
34+
VeblenWFInterface BT _<ᵇ_
35+
identity-interface dec-ψα dec-+2 = record
36+
{ measure = λ x x
37+
; ≺-wf = wf-<ᵇ
38+
; dec-0-Ω = <ᵇ-0-Ω
39+
; dec-0-+ = <ᵇ-0-+
40+
; dec-0-ψ = <ᵇ-0-ψ
41+
; dec-ΩΩ = <ᵇ-ΩΩ
42+
; dec-Ωψ = <ᵇ-Ωψ
43+
; dec-ψΩ = <ᵇ-ψΩ
44+
; dec-ψΩ≤ = <ᵇ-ψΩ≤
45+
; dec-+ω = <ᵇ-+ω
46+
; dec-+ψω = <ᵇ-+ψω
47+
; dec-+1 = <ᵇ-+1
48+
; dec-ψα = dec-ψα
49+
; dec-+2 = dec-+2
50+
}
51+
52+
core-wf-from-identity :
53+
(dec-ψα : {ν α β} α <ᵇ β bpsi ν α <ᵇ bpsi ν β)
54+
(dec-+2 : {x y₂ z₂} y₂ <ᵇ z₂ bplus x y₂ <ᵇ bplus x z₂)
55+
WellFounded _<ᵇ_
56+
core-wf-from-identity dec-ψα dec-+2 =
57+
VeblenWFInterface.core-wf (identity-interface dec-ψα dec-+2)

readme.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ Ordinal/Buchholz track status:
8181
** `<ᵇ-+ω`, `<ᵇ-+ψω`
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.
84+
* `Ordinal.Buchholz.VeblenIdentityModel` provides a first concrete instantiation of that interface (identity measure bootstrap), with `dec-ψα` / `dec-+2` kept as explicit parameters.
8485
* Open work remains for general `Ω/+` and `ψ/+` comparisons and for the shared-binder cases (`<ᵇ-ψα`, `<ᵇ-+2`) in a `--without-K`-compatible style.
8586

8687
== External Bridge Targets (local workspace)

0 commit comments

Comments
 (0)