Skip to content

Commit a5efd0b

Browse files
hyperpolymathclaude
andcommitted
docs(abi): propagate open-ended progressive framing to source-level comments
ROADMAP.adoc and README.adoc already have the correct framing (TypeLL is open-ended, L1-L10 is the initial checked set, not a ceiling). This commit propagates that framing into the source files that still described L10 as the permanent top: - LevelMonotonicity.idr: "defines 10 levels" → "initial checked set (L1-L10); open-ended — new levels added as theory demands; L10 is current top, not cap" - Soundness.idr: "(10 levels, QTT …)" → "(initial L1-L10 levels; open-ended …)" - src/abi/README.md: "10-level hierarchy" → "L1-L10 initial checked set; open-ended"; "L10 is top" → "L10 is current top (open-ended above)" - tests/integration_test.rs: "all 10 levels" → "all L1-L10 levels (initial checked set)" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 619ac8e commit a5efd0b

4 files changed

Lines changed: 17 additions & 12 deletions

File tree

src/abi/LevelMonotonicity.idr

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
-- SPDX-License-Identifier: PMPL-1.0-or-later
22
-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
--
4-
||| TypeLL 10-Level Type Safety Hierarchy — Monotonicity Proofs
4+
||| TypeLL Progressive Type Safety Hierarchy — Monotonicity Proofs
55
|||
6-
||| The TypeLL level system defines 10 levels of type safety:
6+
||| TypeLL is an open-ended progressive framework: levels are added as the
7+
||| type theory demands, with no fixed upper bound. The initial checked
8+
||| set (L1-L10) is defined below; L10 is the current top, not a ceiling.
79
|||
10+
||| Initial checked set (L1-L10):
811
||| L1 : Parse-time safety (well-formed AST)
912
||| L2 : Schema-binding safety (named type resolution)
1013
||| L3 : Type-compatible operations (unification + operator checking)

src/abi/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ abi/
1515
├── Foreign.idr # FFI declarations for the Zig layer (libtypell)
1616
├── Soundness.idr # Progress + Preservation proofs for core calculus
1717
├── InferenceSoundness.idr # Unification + type inference soundness proofs
18-
└── LevelMonotonicity.idr # 10-level hierarchy monotonicity proofs (L1-L10)
18+
└── LevelMonotonicity.idr # L1-L10 hierarchy monotonicity proofs (initial checked set; open-ended above)
1919
```
2020

2121
## Soundness Proofs
@@ -33,13 +33,14 @@ Models unification (`unify.rs`) and inference (`infer.rs`).
3333
- **Substitution idempotence**: MGU applied twice equals MGU applied once
3434
- **Arrow decomposition**: unifying function types decomposes to component unification
3535

36-
### LevelMonotonicity.idr — 10-Level Hierarchy
37-
Models the L1-L10 type safety hierarchy from `ROADMAP.adoc`.
36+
### LevelMonotonicity.idr — Progressive Level Hierarchy (initial L1-L10)
37+
Models the L1-L10 type safety hierarchy from `ROADMAP.adoc`. TypeLL is open-ended;
38+
L1-L10 is the current checked set, not a fixed ceiling.
3839
- **Level total order**: any two levels are comparable
3940
- **Strict increase**: each level strictly subsumes the previous
4041
- **Feature monotonicity**: higher levels include all lower-level features
4142
- **No downgrade**: programs requiring level N features cannot be checked at level M < N
42-
- **Lattice bounds**: L1 is bottom, L10 is top
43+
- **Lattice bounds**: L1 is bottom, L10 is the current top (open-ended above)
4344

4445
## Planned Modules
4546

src/abi/Soundness.idr

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
||| Together these establish type safety: well-typed programs do not get stuck.
1919
|||
2020
||| These proofs model the core calculus underlying typell-core's check.rs,
21-
||| infer.rs, and unify.rs. The full TypeLL type system (10 levels, QTT,
22-
||| sessions, effects, dimensions) extends this core; level-specific proofs
23-
||| are in LevelMonotonicity.idr.
21+
||| infer.rs, and unify.rs. The full TypeLL type system (initial L1-L10
22+
||| levels; open-ended progressive — new levels added as theory demands;
23+
||| QTT, sessions, effects, dimensions) extends this core; level-specific
24+
||| proofs are in LevelMonotonicity.idr.
2425
|||
2526
||| @see check.rs — TypeChecker orchestration
2627
||| @see infer.rs — Bidirectional type inference

tests/integration_test.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
//
66
// Exercises the full pipeline: TypeLL core -> VCL bridge -> level checking.
77
// Verifies that:
8-
// - A VCL query type-checks through all 10 levels
8+
// - A VCL query type-checks through all L1-L10 levels (initial checked set; TypeLL is open-ended above)
99
// - Higher levels require lower levels to pass first
1010
// - The TypeChecker, VCL bridge, and safety level determination work together
1111
// - Full round-trip: VCL query -> UnifiedType -> TypeChecker -> CheckResult
@@ -37,8 +37,8 @@ use typell_vql::rules::{
3737
// Full pipeline: VCL -> TypeLL core -> level checking
3838
// ============================================================================
3939

40-
/// Build a fully-annotated VCL query that passes all 10 levels,
41-
/// then verify it through the full TypeLL pipeline.
40+
/// Build a fully-annotated VCL query that passes all L1-L10 levels
41+
/// (the initial checked set), then verify it through the full TypeLL pipeline.
4242
#[test]
4343
fn test_full_pipeline_level_10_query() {
4444
// Step 1: Construct a VCL query with all extensions.

0 commit comments

Comments
 (0)