Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
559b408
#89 stage 3: register SP-15 (certificate A as kernel-term data): regi…
claude Oct 16, 2026
9949f67
#89 stage 3: kernel terms by free variables, placeholders, and increm…
claude Oct 16, 2026
80b96cd
#89 stage 3: certificate A as kernel-term data, first root (program l…
claude Oct 16, 2026
0580d20
#89 stage 3: certificate A data: lets by substitution, axioms by cons…
claude Oct 16, 2026
3b01fcd
#89 stage 3: certificate A data: encoders and recursion plans
claude Oct 16, 2026
68720c0
#89 stage 3: certificate A data: structural recursion by the argument…
claude Oct 16, 2026
556839c
#89 stage 3: certificate A data: mutual structural recursion on one t…
claude Oct 16, 2026
9441399
#89 stage 3: certificate A data: well-founded recursion by WellFounde…
claude Oct 16, 2026
1509a62
#89 stage 3: certificate A data: violation matches by cases on the pa…
claude Oct 16, 2026
cc00f2f
#89 stage 3: certificate A recorded in the notation, the SP-15 case a…
claude Oct 16, 2026
0abe254
Certificate A: collection templates and key comparisons as kernel terms
claude Oct 16, 2026
c1aee39
Merge the collection templates as data into claude/issue-89-certifica…
claude Oct 16, 2026
e07c156
#89 stage 3: certificate A data: boundary validators and entry as ker…
claude Oct 16, 2026
dd5ebe3
#89 stage 3: certificate A data: boundary validators in the crate's e…
claude Oct 16, 2026
e40874a
#89 stage 3: certificate A data: a definition a model construct elabo…
claude Oct 16, 2026
41c1c44
Merge the collection templates into the boundary
claude Oct 16, 2026
82e4615
#89 stage 3: certificate A data: the group's implementation records n…
claude Oct 16, 2026
a870346
Merge the boundary validators and entry as data into claude/issue-89-…
claude Oct 16, 2026
d9c6655
#89 stage 3: the statement oracle compares by the kernel's definition…
claude Oct 16, 2026
07590c8
#89 stage 3: the record of the statement oracle over the committed ce…
claude Oct 16, 2026
cd7d3d2
#89 stage 3: the text generator of certificate A is deleted from the …
claude Oct 16, 2026
b3682de
#89 stage 3: SPEC, CHANGELOG, and the source scan of SP-15
claude Oct 16, 2026
43aa048
#89 stage 3: certificate A is clippy-clean under -D warnings
claude Oct 16, 2026
6757a48
Merge the clippy cleanup of certificate A into claude/issue-89-certif…
claude Oct 16, 2026
deaa451
#89 stage 3: the conformance cases read certificate A as data (SP-10 …
claude Oct 16, 2026
8a73c1c
#89 stage 3: SP-02 reads the root theorem of certificate A as a row
claude Oct 16, 2026
d30c246
#89 stage 3: the certificate-rejected fixture plants its defect in ce…
claude Oct 16, 2026
34de345
Merge origin/claude/issue-89-typed-certificates (#146, 3b25b10a7) int…
claude Oct 16, 2026
ea75694
#89 stage 3: SP-05 reads certificate A at its notation path; the reso…
claude Oct 16, 2026
5407b6b
#89 stage 3: the certificate-resource-exhausted limit is 1 MiB for th…
claude Oct 16, 2026
703e71a
#89 stage 3: the certificate-resource-exhausted lock is current
claude Oct 16, 2026
dc15c0b
#89 stage 3: certificate A weighs its recorded notation against max_f…
claude Oct 16, 2026
9960874
#89 stage 3: certificate A data: the boundary derivation follows the …
claude Oct 16, 2026
d80980a
Merge the source-derived boundary into claude/issue-89-certificate-a
claude Oct 16, 2026
6387196
Merge origin/main (#146) into claude/issue-89-certificate-a
claude Oct 16, 2026
3e70d97
wip: the sizes of certificate A by stress family (local, not pushed)
claude Oct 17, 2026
1ecbff0
wip: the sizes of the mixed stress shapes (local, not pushed)
claude Oct 17, 2026
3a5a3d6
wip: the size-limit message names the certificate (local, not pushed)
claude Oct 17, 2026
c07981f
wip: the edge of the mixed shapes by certificate A alone (local, not …
claude Oct 17, 2026
113129b
wip: the wide-match sizes of certificate A (local, not pushed)
claude Oct 17, 2026
c4c579f
wip: the fitting enumeration is measured by count (local, not pushed)
claude Oct 17, 2026
8fe8800
wip: the fitting enumeration is 240 constructors, recorded in the not…
claude Oct 17, 2026
db18102
wip: the data behind the costs of certificate A (local, not pushed)
claude Oct 17, 2026
698c2fd
wip: the bound data takes mixed scalings (local, not pushed)
claude Oct 17, 2026
5855fe0
wip: the least costs of certificate A, refitted to the recorded notat…
claude Oct 17, 2026
00f3a30
Lower the expression cost of the certificate A bound to fit the large…
claude Oct 17, 2026
4c4fba3
Merge origin/main (ea0a4eda, #162) into certificate A
claude Oct 17, 2026
dfe7b65
cargo fmt
claude Oct 17, 2026
7653ed1
Plants: a lowering the generator refuses in lockstep counts as caught…
claude Oct 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,23 @@ versions, and the entries below say what each tag does and does not claim.
`leanchecker`; a mismatch is `LLI9001`, naming the record and both digests.
Every CI job installs the same pinned toolchain, so this held by practice
and is now checked.
- Certificate A as kernel-term data (SPEC.md §17.17, `SP-15`; stage 3 of #89).
The preservation certificate of every production root is no longer written as
Lean text by `production/certificate.rs`: the compiler builds it as a native
core module of schema `lexlean/core-module/2` on the vehicle of
certificate E (`production/kernel.rs`), the program literal, encoders, width
predicates, relation theorems, validators, and entry as rows, each lemma
applied with every argument written, structural and well-founded recursion as
recursor and `WellFounded.fix` terms with the source's own decrease theorems,
and the collection templates' clause proofs as kernel terms in place of
tactics. The verify record holds the module in the authoring notation
(`R<i>.lex.tex` in place of `R<i>.lean`), which reads back to the data byte
for byte, and `preservation.json` binds those bytes. The statements of the 57
certificates A of the four corpora are those the text stated, up to the
kernel's definitional equality
(`tests/preservation-certificates/A-STATEMENTS.md`). Roughly 5 000 lines of the
text generator are gone from `production/certificate.rs`. Certificate B is
still Lean text. No diagnostic code is new; the register gains `SP-15` (403 rows).
- Certificate E as kernel-term data (SPEC.md §17.17, `SP-14`; stage 1 of #89,
stage 5 of #27). The composition certificate of every production root is no
longer written as Lean text by `production/certificate.rs`: the compiler
Expand All @@ -126,9 +143,9 @@ versions, and the entries below say what each tag does and does not claim.
policies, forbidden constants) and the audit module prints and checks the
axioms of every one of its rows. The statements of the 76 certificates E of
the four corpora are those the text stated, kernel term for kernel term
(`tests/preservation-certificates/E-STATEMENTS.md`). Certificates A and B are
still Lean text, so the data certificate is rendered outside the module
system until they follow. Languages 1.0 and 1.1 have no certificates and are
(`tests/preservation-certificates/E-STATEMENTS.md`). Certificate B (and, until
stage 3 of #89, certificate A) is still Lean text, so the data certificate is
rendered outside the module system until they follow. Languages 1.0 and 1.1 have no certificates and are
untouched. No diagnostic code is new; the register gains `SP-14` (383 rows with `SP-13`, `RB-09`, and `PX-13`).
- Program equalities over all inputs (#117, SPEC.md §17.12, `PF-20`..`PF-23`,
no new diagnostic code). Language 1.2 orders `Int` and every fixed-width
Expand Down
1 change: 1 addition & 0 deletions CONFORMANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ the error registry does not sanction (R5, `ERRORS.md`).
| `SP-12` | `build` | The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. |
| `SP-13` | `build` | Certificate text writes every list and array of any length as a term the pinned Lean elaborates without binders: one of at most 32 elements as a literal and a longer one as a chain of List.cons, so that no certificate holds a literal Lean splits under let binders; a root calling a function of 33 parameters with 33 operands, a root copying a record of 33 fields, and a root matching on 33 constructors of one field each verify through the whole pipeline, and none of their certificates writes a literal of more than 32 elements. |
| `SP-14` | `build` | Certificate E of every production root is kernel-term data: a native core module of schema lexlean/core-module/2 that the compiler builds from the lowered program, the layout, and the recorded types of the preservation library's lemmas, every argument and universe level explicit, which the one core backend renders to the Lean that verification compiles and whose record is the authoring notation, reading back to the data byte for byte; its theorems state what §17.17 states for the composition, each row pins its axioms exactly and the audit module prints and checks them, a certificate held as data is audited row by row and never as text (no axiom row, no forbidden constant, imports within the environment), and a planted wrong lemma, a changed statement, a forged crate reference, or an added axiom is refused. |
| `SP-15` | `build` | Certificate A of every production root is kernel-term data: a native core module of schema lexlean/core-module/2 that the compiler builds from the lowered program, the layout, the semantic source of the root's closure, and the recorded types of the preservation library's lemmas, every argument and universe level explicit, so that no Lean text template for certificate A remains in the production compiler; its program literal, encoders, width predicates, relation theorems, validators, and entry are rows of that module, which the one core backend renders to the Lean that verification compiles and whose record is the authoring notation, reading back to the data byte for byte; each theorem states, up to elaboration, the statement the text certificate stated, which an oracle over the committed corpora records, every row pins its axioms exactly, and a wrong lemma application, a changed statement, a forged program literal, or an added axiom is refused. |

## production

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ just vv # the complete normative acceptance gate (SPEC.md §9.2)
just release # vv, then the §30 release criterion; refused until 1.0.0
```

All 402 registered conformance IDs are implemented and pass; `just vv` runs clean from a checkout with the pinned toolchain installed.
All 403 registered conformance IDs are implemented and pass; `just vv` runs clean from a checkout with the pinned toolchain installed.

The differential against the independent generator `lean4-prod` (SPEC.md §17.19, `OR-01`..`OR-08`) acquires it at its pinned commit: from the checkout `LEXLEAN_ORACLE_DIR` names, or by fetching the commit with `git` into the Cargo target directory (`LEXLEAN_ORACLE_CACHE` overrides), and builds it with the pinned Lean and Rust toolchains. It is validation evidence only and no input to any identity. An oracle that cannot be acquired, is not the pinned files, or fails is unavailable: that fails the gate on Linux x86-64 and is printed as `NOT VALIDATED` elsewhere, and is never reported as agreement.

Expand Down Expand Up @@ -174,7 +174,7 @@ Every row is validated by `just vv`; the IDs link the claim to its register row,
| The canonical Rust backend: a closed, checked Rust AST whose every construct corresponds to the calculus; hygienic identifiers, single ownership with last-use and component moves, exact failure typing, and no hidden allocation; contiguous lists with constant-work cells; a closed runtime library boundary of stated machine primitives; deterministic packages with checked exports, a declared lint gate, and provenance | `RB-01`..`RB-09` | `build` |
| GNAF requests over the calculus: an optimizer-independent complete-system universe, a machine contract that accounts every action, scalar and Pareto orders without weighting, fail-closed validation, and kernel-checked answers and authority vectors | `GN-01`..`GN-08` | `build` |
| GNAF certification: certificates that prove a global optimum, an argmin, or a complete Pareto frontier over the independent universe from a premise for every system, a library proving the checker sound, closed transformation schemas, local normality kept distinct from optimality, a bridge from a representation metric to execution cost, and honest non-global statuses | `GC-01`..`GC-11` | `build` |
| Semantic preservation from the source to the calculus: a validated lowering of every production root, a kernel-checked certificate per root relating the lowered program to the source denotation with exact width predicates, a differential evaluator, a proof library that is LexLean source (native core modules migrated once from the Lean it replaces, its Lean generated by the compiler) pinned by exact axioms, certificate checking in verification, a declared Rust machine on which every rendering is evaluated, certificate B relating every rendering to its program, certificate E composing them end to end, boundary validators, and a rustc differential of the declared machine | `SP-01`..`SP-14` | `build` |
| Semantic preservation from the source to the calculus: a validated lowering of every production root, a kernel-checked certificate per root relating the lowered program to the source denotation with exact width predicates, a differential evaluator, a proof library that is LexLean source (native core modules migrated once from the Lean it replaces, its Lean generated by the compiler) pinned by exact axioms, certificate checking in verification, a declared Rust machine on which every rendering is evaluated, certificate B relating every rendering to its program, certificate E composing them end to end, boundary validators, and a rustc differential of the declared machine | `SP-01`..`SP-15` | `build` |
| Language-1.2 models: content-addressed typed artifacts, contracts with sound validators, exact deterministic, rule, statistical, neural, and composite realizations, generated evidence obligations restated in Lean, checked runtime boundaries, and their identity, production, and verification | `MD-01`..`MD-12` | `build` |
| The differential validation oracle: `lean4-prod` pinned by commit and content hash as validation evidence only, a corpus of every production root and one probe per runtime construct, a comparison of acceptance, contract, behavior, and resources that never compares bytes, versioned tables of known differences and of constructs outside the overlap, planted discrepancies detected, failures that are unavailable rather than validated, and its isolation from every identity | `OR-01`..`OR-08` | `build` |
| The production export contract: a stable, versioned `lexlean::api::production` façade and its CLI through which a consumer compiles production roots to certified Rust packages; closed requests refused before Lean on every root, target, pin, evidence, path, and package defect; results binding every output to the source, semantic, compiler-semantics, target, compiler-input, preservation, and certificate identities with unforgeable certification; deterministic, confined, offline bundles; source-free replay; versioned schemas; each output's effects and what `recursion` asks of the host | `PX-01`..`PX-13` | `build` |
Expand Down
Loading