Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
d4edb7c
Document IxCertified port and growth plan
johnchandlerburnham Sep 17, 2026
70396a0
Ix.Kernel K0: port the set model, address split, kernel scaffold, and…
johnchandlerburnham Sep 17, 2026
ade9216
Ix.Kernel K1 and K2: certified checker for definitions, inductive blo…
johnchandlerburnham Sep 17, 2026
402ab09
Plan certified kernel implementation and lean4ix retirement
johnchandlerburnham Sep 29, 2026
457591a
P00: retain certified kernel search and performance baselines
johnchandlerburnham Sep 29, 2026
b13b348
P01: preserve certified search failures and normalization progress
johnchandlerburnham Sep 29, 2026
d09c83b
P02: prove exact reading and admission fidelity
johnchandlerburnham Sep 29, 2026
b8b782a
P03: reuse formed expected types and context extensions
johnchandlerburnham Sep 29, 2026
08e69f4
K2: gate supported-profile parity and document verification retirement
johnchandlerburnham Sep 29, 2026
d9ca0d5
K3: isolate pure production Ixon data types
johnchandlerburnham Sep 29, 2026
0a31c8d
build: Update Lean to v4.34.0
johnchandlerburnham Sep 29, 2026
c68c9d6
K3: certify Ixon ingress at physical declaration references
johnchandlerburnham Sep 29, 2026
b067697
K3: prove exact Ixon egress with retained layout
johnchandlerburnham Sep 29, 2026
48e4995
K4: isolate Ixon codecs and prove exact constant framing
johnchandlerburnham Sep 29, 2026
ad2667f
D01: retire lean4ix and legacy verification machinery
johnchandlerburnham Sep 29, 2026
d4f0f20
K4: bound universe decoding and prove budget fidelity
johnchandlerburnham Sep 29, 2026
5594859
K4: bound constant records and certify canonical byte decoding
johnchandlerburnham Sep 29, 2026
7cc17b9
K4: certify admission from canonical Ixon bytes
johnchandlerburnham Sep 29, 2026
0773a80
K4: bound decoded record structure by consumed bytes
johnchandlerburnham Sep 29, 2026
11aa564
K4: reconstruct projection addresses with pure BLAKE3
johnchandlerburnham Sep 29, 2026
c153673
K4: certify canonical mutual-block ordering
johnchandlerburnham Sep 29, 2026
f499ccf
K4: account for complete parser work
johnchandlerburnham Sep 29, 2026
ac442a2
T0: record takeover, Ixon v3 and Lean 4.34 sequence
johnchandlerburnham Sep 29, 2026
dd6dec8
V1: merge ix main (Ixon v3) into ix-certified
johnchandlerburnham Sep 29, 2026
0d3038f
V2: carry every Ixon v3 contract through ingress and egress
johnchandlerburnham Sep 30, 2026
919a6c2
V3: restate the K4 byte ladder against the Ixon v3 decoder
johnchandlerburnham Sep 30, 2026
80857e6
L1: merge ix jcb/ix-compilatrix (Lean 4.34.0)
johnchandlerburnham Sep 30, 2026
b89cb6d
R1: find Eq/Iff/Nonempty eliminators by interface, not position
johnchandlerburnham Sep 30, 2026
8eb6b1c
R2: fuel never changes installed content
johnchandlerburnham Sep 30, 2026
5d50110
R3: one admission fold, frozen checkEnv statements, and the EmptyType…
johnchandlerburnham Sep 30, 2026
d5b946b
R4: state installed fidelity exactly; reading determinism and checkEn…
johnchandlerburnham Sep 30, 2026
a44dc96
C0: kernel census harness with an inline timing mode
johnchandlerburnham Sep 30, 2026
f859d08
G: complete universe-level order by Géran's sublevels; admit Std
johnchandlerburnham Sep 30, 2026
e45d478
P1: indexed environment and ingress stores
johnchandlerburnham Sep 30, 2026
b0ed150
P2: ingress reads each sharing entry once
johnchandlerburnham Sep 30, 2026
f88400f
X1: accept supplied recursors that differ up to conversion
johnchandlerburnham Sep 30, 2026
b4a4465
P3/P09/X3: lazy delta conversion, beta at never binders, string literals
johnchandlerburnham Sep 30, 2026
44cea10
P8a: per-frame caches for reduction, inference and conversion
johnchandlerburnham Sep 30, 2026
06e88bc
Quick wins: transparent let, no unfolding of theorems and opaques, no…
johnchandlerburnham Sep 30, 2026
267fcd2
A0.1: work budget for reduction, inference and conversion
johnchandlerburnham Sep 30, 2026
9a6ce6a
A0.2: census runs checks inline by default; work budget 10^6 units pe…
johnchandlerburnham Sep 30, 2026
d6ccde4
A1: structural binder annotation and one-pass lambda towers
johnchandlerburnham Sep 30, 2026
2e7d71c
A5a: literal arithmetic (add, sub, mul, pow, pred, beq, ble) by check…
johnchandlerburnham Sep 30, 2026
1c9bf05
A0.3 census guard; A6a: reducibility heights (Lean's hints) and same-…
johnchandlerburnham Sep 30, 2026
945c90d
Avoid repeated conversion and annotation work in the certified kernel
johnchandlerburnham Sep 30, 2026
11dd603
A2: ordinary fields after recursive fields, via the canonical block a…
johnchandlerburnham Sep 30, 2026
6d58533
Skip repeated reduction probes on neutral application spines
johnchandlerburnham Sep 30, 2026
73ae008
A3: large elimination through result indices (Acc)
johnchandlerburnham Sep 30, 2026
12055ac
Reuse formed-type evidence and preserve substitution sharing
johnchandlerburnham Sep 30, 2026
3780470
B2: term metadata (computed fields), cutoff substitutions, pointer-fi…
johnchandlerburnham Sep 30, 2026
e8862aa
Sync certified performance work with completed InitStd coverage changes
johnchandlerburnham Sep 30, 2026
6900b02
A6c: official let inference (substitute), literal steps only on close…
johnchandlerburnham Sep 30, 2026
1bfa30e
Integrate completed structural metadata before UID runtime
johnchandlerburnham Sep 30, 2026
3c74e34
Integrate A6c (official let inference; closed-term literal steps in c…
johnchandlerburnham Sep 30, 2026
a4a192d
Lazy delta: decide the unfolding side before instantiating a body
johnchandlerburnham Sep 30, 2026
de40689
Reduction: carry the application spine through each step
johnchandlerburnham Sep 30, 2026
801e3b3
Conversion: spine-wise application congruence without prefix fallback
johnchandlerburnham Sep 30, 2026
f9f5cbf
S1 phase 1A: runtime terms with free variables as levels
johnchandlerburnham Sep 30, 2026
21f8558
S1 phase 1B: the binder stack, its view, and weakening-only stamps
johnchandlerburnham Sep 30, 2026
cfabaf6
S1 phase 1C: the close commutation lemmas and weakening along a stack
johnchandlerburnham Sep 30, 2026
e048dce
B1a: infer-only claims for rule steps (IOClaim, SupportClaim, IOReduc…
johnchandlerburnham Sep 30, 2026
2b063d6
B1b: infer-only rule application (applyIOC) at iota, projection, eta …
johnchandlerburnham Sep 30, 2026
ac593c1
B1c: projection iota without endpoint inference at non-Prop fields
johnchandlerburnham Sep 30, 2026
a50d048
L1: con-leche set theory (SetTheory, SetModel, Term), verbatim at ae0…
johnchandlerburnham Oct 1, 2026
526dc80
L2: con-leche implementation core (Kernel, Cached, Rules, PinGen), ve…
johnchandlerburnham Oct 1, 2026
201420d
L3a: con-leche base verification (Verify outside Cached/Frontend), ve…
johnchandlerburnham Oct 1, 2026
199a7b2
L3b: con-leche semantics (Semantics/**), verbatim at ae0c0c4e
johnchandlerburnham Oct 1, 2026
383b75b
L3c: con-leche model (Model/**), verbatim at ae0c0c4e
johnchandlerburnham Oct 1, 2026
a2673a1
L3d: con-leche capstone (Verify/Cached, Denotes) and model_exists on …
johnchandlerburnham Oct 1, 2026
3ae94b6
L0a: roadmap amendments for the in-place con-leche port
johnchandlerburnham Oct 1, 2026
76c3c19
L0b: provenance schema for the con-leche port
johnchandlerburnham Oct 1, 2026
8d544b5
L0c: audit allowlists for the con-leche port as data
johnchandlerburnham Oct 1, 2026
3212fa7
L0d: con-leche's layering and trust-surface fences, wired into check-…
johnchandlerburnham Oct 1, 2026
d2289ce
int-2: con-leche provenance rows, licence and header
johnchandlerburnham Oct 1, 2026
7b069a5
L4a-A: con-leche frontend passes (InModel, ProjRec, Prepare, NatOpGro…
johnchandlerburnham Oct 1, 2026
5579558
L4a-B: Ixon reader for con-leche, the Ixon prelude and pin table, and…
johnchandlerburnham Oct 1, 2026
2c09c84
L4a-C: kernel-census-cl, a per-record census of con-leche through the…
johnchandlerburnham Oct 1, 2026
b1e0d10
L4a-D: end-to-end fixtures for the con-leche Ixon entry
johnchandlerburnham Oct 1, 2026
cb46694
int-3: con-leche frontend provenance rows
johnchandlerburnham Oct 1, 2026
e6a6ae2
L4b-A: literal users depend on the constants their literals reference
johnchandlerburnham Oct 1, 2026
83c2c53
L4b-B: build the census's hint map once, not per definition record
johnchandlerburnham Oct 1, 2026
4372c5a
L4b-C: Nat-operation pins from Ixon; no JSON on the build path
johnchandlerburnham Oct 1, 2026
4f42cd0
L4b-D: keyName is injective
johnchandlerburnham Oct 1, 2026
059c99f
L4c: mutual definition blocks in the Ixon reader
johnchandlerburnham Oct 1, 2026
9a6db84
L5-A: record the public theorem statements before the con-leche switch
johnchandlerburnham Oct 1, 2026
720cf1e
L5-B: restated public theorems of the con-leche Ixon entry, with fide…
johnchandlerburnham Oct 1, 2026
f1c3d5f
L5-C: audits root at the con-leche entry; ConLeche.SetTheory instance…
johnchandlerburnham Oct 1, 2026
7144e34
L5-D: the certified Ixon API is con-leche behind the Ixon reader
johnchandlerburnham Oct 1, 2026
36a805b
L5-E: record the public theorem statements after the con-leche switch
johnchandlerburnham Oct 1, 2026
587e56c
int-4: drop the unbuilt upstream NatOpPins module; globs restored
johnchandlerburnham Oct 1, 2026
d37a07a
L6-A: retire the intrinsic entry points and their consumers
johnchandlerburnham Oct 1, 2026
5ef23c3
L6-B: delete the intrinsic kernel core
johnchandlerburnham Oct 1, 2026
f695ebf
L6-C: docs: the roadmap and kernel page record the retirement
johnchandlerburnham Oct 1, 2026
bdf3b2d
L6b-1: the byte stage rejects duplicate record and blob addresses
johnchandlerburnham Oct 1, 2026
aac7ccb
L6b-2: kernel-entry-cases: host-compiled Lean cases through the certi…
johnchandlerburnham Oct 1, 2026
9e91b30
L6b-3: docs: the kernel page describes the con-leche entry on Ixon
johnchandlerburnham Oct 1, 2026
d074c70
cl-m1-A: the modeller forms container groups largest family first
johnchandlerburnham Oct 1, 2026
6f18741
cl-m1-B: the census declines invalid verdicts at levels con-leche doe…
johnchandlerburnham Oct 1, 2026
bf8212e
T1-1: the reader context builds its record maps once
johnchandlerburnham Oct 1, 2026
8b8105d
T1-2: kernel-census --fold: the batch fold over the census's accepted…
johnchandlerburnham Oct 1, 2026
101e9b4
T1-3: the census steps on a dedicated thread, its inputs persistent
johnchandlerburnham Oct 1, 2026
1cbf9c4
T1-4: one name object per reference address in the reader
johnchandlerburnham Oct 1, 2026
869538b
cl-opt: kernel-census-opt, a measurement driver: streaming load, work…
johnchandlerburnham Oct 1, 2026
f345766
int-5: pull con-leche #323 KEEPPROJ (3ca9e2fe)
johnchandlerburnham Oct 1, 2026
76cc670
cl-level-A: con-leche's level comparison decides nanoda's missing cas…
johnchandlerburnham Oct 1, 2026
0acdedf
cl-level-B: the census drops its level-comparison decline, dead since…
johnchandlerburnham Oct 1, 2026
018a800
ci: ignore RUSTSEC-2026-0253 (lru via iroh-relay), as for the other I…
johnchandlerburnham Oct 1, 2026
6bf8f71
mergeability: remove the retired intrinsic kernel from tracked text
johnchandlerburnham Oct 1, 2026
c8bf435
univ-canon-A: canonUniv self-strips an atom only into a leak-free con…
johnchandlerburnham Oct 1, 2026
74124c3
univ-canon-B: the Rust twin mirrors the leak-free self-strip (canon_u…
johnchandlerburnham Oct 1, 2026
343de95
univ-canon-C: value-preservation tests for the universe canonicalizat…
johnchandlerburnham Oct 1, 2026
2afaa30
cl-fid-1: reader fidelity against a direct translation of Lean's cons…
johnchandlerburnham Oct 1, 2026
f2558e2
cl-fid-2: egress fidelity: projection records, re-reading, installed …
johnchandlerburnham Oct 1, 2026
5381dbf
cl-fid-3: a persistent read cache for the census (CENSUS_READ_CACHE)
johnchandlerburnham Oct 1, 2026
50ae304
final-1: the block-order entry checks recursor blocks in motive order
johnchandlerburnham Oct 1, 2026
fcd16ce
final-2: vendor con-leche under Ix.Kernel (ConLeche/** -> Ix/Kernel/**)
johnchandlerburnham Oct 1, 2026
6d66a8a
final-3a: Ix-authored kernel modules, namespaces and executables with…
johnchandlerburnham Oct 1, 2026
126dc4b
final-3b: environment-check env vars, scripts and directories (CENSUS…
johnchandlerburnham Oct 1, 2026
079c5c4
final-3c: prose: environment check, environment, constants (no census…
johnchandlerburnham Oct 1, 2026
f9913de
final-4: untrack the roadmap; nothing under plans/ is versioned
johnchandlerburnham Oct 1, 2026
676897c
final-5: docs: measured environment-check numbers
johnchandlerburnham Oct 1, 2026
a17180f
final-6: docs: Mathlib streaming and parallel measurements
johnchandlerburnham Oct 1, 2026
cc4362e
final-7: ci: pin the certified-kernel job's actions as main does (#653)
johnchandlerburnham Oct 1, 2026
9cf6cd0
final-8: ci: run the certified-kernel job on a RunsOn runner, as main…
johnchandlerburnham Oct 1, 2026
03e73bb
polish-n: audits: state what the frozen closures contain, not how the…
johnchandlerburnham Oct 1, 2026
eff828d
polish-n: kernel boundary and entry: name con-leche-derived code by i…
johnchandlerburnham Oct 1, 2026
1aae207
polish-n: remove leftovers of the retired intrinsic kernel (unused fi…
johnchandlerburnham Oct 1, 2026
80462f4
polish-n: kernel tests: self-contained comments, module docs, level-c…
johnchandlerburnham Oct 1, 2026
ed97aec
polish-n: environment-check drivers: drop port labels and plan refere…
johnchandlerburnham Oct 1, 2026
ebc7d89
polish-n: set-theory model: describe the current package, not its his…
johnchandlerburnham Oct 1, 2026
2fc78d3
polish-n: docs/kernel.md and lakefile comments: current names, no wor…
johnchandlerburnham Oct 1, 2026
4335197
polish-n: universe canonicalization comments: state the leak-free pro…
johnchandlerburnham Oct 1, 2026
d3ae712
polish-n: audits: drop ruled modules that do not exist in Ix.Kernel (…
johnchandlerburnham Oct 1, 2026
fc1552a
polish-n: rename the lake test suite kernel-reader-fidelity to kernel…
johnchandlerburnham Oct 1, 2026
49f8983
polish-n: remove the unimported Ix/IxonMode.lean shim and two trailin…
johnchandlerburnham Oct 1, 2026
1a58b2c
polish-n: stale gate commands in two Ixon v3 docs and Lean4Lean aside…
johnchandlerburnham Oct 1, 2026
a73ba79
polish-n: Ix.Kernel is derived from con-leche, not vendored: authored…
johnchandlerburnham Oct 1, 2026
27b1547
polish: remove the retirement guard
johnchandlerburnham Oct 1, 2026
8bd9aab
polish: remove the provenance manifest and its checker
johnchandlerburnham Oct 1, 2026
7544f2b
polish: check-kernel no longer checks a generated glob block
johnchandlerburnham Oct 1, 2026
f8d5b65
polish-b2: the kernel fences in Lean: kernel-layering and kernel-trus…
johnchandlerburnham Oct 1, 2026
0359439
polish-b2: the environment-check helpers as kernel-check-ixe modes (-…
johnchandlerburnham Oct 1, 2026
62712a4
polish-b2: check-kernel runs the Lean fences; docs name the Lean tools
johnchandlerburnham Oct 1, 2026
c1ac5fc
polish-b2: delete the shell and Python fences and environment-check h…
johnchandlerburnham Oct 1, 2026
ac5871e
polish-b2: delete scripts/vendor-conleche.py (attribution only: no ve…
johnchandlerburnham Oct 1, 2026
54491ab
polish-b2: no python3 in the dev shells (no Python left in the reposi…
johnchandlerburnham Oct 1, 2026
b61a8b0
polish-b2: no copyright/SPDX header blocks in Ix-authored Lean files …
johnchandlerburnham Oct 1, 2026
00e9610
polish-b1: one kernel library, no generated globs (IxKernelTree: all …
johnchandlerburnham Oct 1, 2026
fddb6ad
polish-b1: Ix/Kernel/Ref.lean is Ix's own: drop its port header and t…
johnchandlerburnham Oct 1, 2026
d291a73
polish-b1: drop the per-file con-leche headers (445 one-line, 7 port …
johnchandlerburnham Oct 1, 2026
249c821
polish-b1: no copyright/SPDX header blocks in Ix-authored Lean files …
johnchandlerburnham Oct 1, 2026
b94eb60
polish-b1: docs and comments: one origin-and-attribution section in d…
johnchandlerburnham Oct 1, 2026
e9654e3
polish-b1: the axiom pin loses its port header; Ix/Kernel/NOTICE attr…
johnchandlerburnham Oct 1, 2026
c40dc62
polish-s: .gitattributes collapses the con-leche-derived kernel and t…
johnchandlerburnham Oct 1, 2026
01de241
polish-s: CI gates on certified-kernel; all four lean-toolchain files…
johnchandlerburnham Oct 1, 2026
1b36d07
polish-s: docs/kernel.md: the toolchain-bump procedure for the certif…
johnchandlerburnham Oct 1, 2026
a79dadf
polish-s: README: the certified Ixon checker and its gate
johnchandlerburnham Oct 1, 2026
65986eb
polish-s: entry cases for a mutual inductive, structural recursion ov…
johnchandlerburnham Oct 1, 2026
7c6fd77
polish-b1: sweep: the gate list matches check-kernel (level compariso…
johnchandlerburnham Oct 2, 2026
98b1b08
polish-b1: no copyright/SPDX header in the entry-case modules, nor in…
johnchandlerburnham Oct 2, 2026
ff3ad12
fix: aux_gen regenerates .below/.brecOn when any of the block's famil…
johnchandlerburnham Oct 2, 2026
972c4c4
fix: closures carry the mutual siblings a definition's `all` names
johnchandlerburnham Oct 2, 2026
82f7b89
fix: move the benchmark packages' dependency pins to Lean 4.34.0
johnchandlerburnham Oct 2, 2026
4fb45d5
fix: re-pin IxVM kernel-check and shard FFT costs at Lean 4.34.0
johnchandlerburnham Oct 2, 2026
f86d8f7
fix: ix pack keeps an unstored aux_gen original as provenance instead…
johnchandlerburnham Oct 2, 2026
131f241
fix: aux_gen decides auxiliary block membership per family, not per name
johnchandlerburnham Oct 2, 2026
8e97247
fix: dependency closures carry an auxiliary's whole family block
johnchandlerburnham Oct 2, 2026
bf0e743
driver: one check loop over any step and loop source, its reading and…
johnchandlerburnham Oct 2, 2026
9f44e44
driver: kernel-check-ixe streams the records by default (--load eager…
johnchandlerburnham Oct 2, 2026
c8df762
driver: delete the kernel-check-ixe-opt prototype
johnchandlerburnham Oct 2, 2026
a3a49b6
driver: docs for the streaming default, --load and --jobs; measuremen…
johnchandlerburnham Oct 2, 2026
a1f9258
api: the runnable entry no longer imports the main theorem
johnchandlerburnham Oct 2, 2026
5db9a80
api: one Admission namespace, without the alias layer
johnchandlerburnham Oct 2, 2026
fd4e424
api: one file convention for the entries: X.lean, X/Theorems.lean, X/…
johnchandlerburnham Oct 2, 2026
0e39006
api: move the entry under Ix/Kernel/Admission
johnchandlerburnham Oct 2, 2026
a66e8c9
api: namespaces: Ix.Kernel.Admission for the entry, Ixon.* for the co…
johnchandlerburnham Oct 2, 2026
49e3c86
api: e.outcome for the projection and block-order variants
johnchandlerburnham Oct 2, 2026
99d2717
api: drop the qualifications the Ix.Ixon namespace needed
johnchandlerburnham Oct 2, 2026
c47bba5
api: docs for the consolidated API
johnchandlerburnham Oct 2, 2026
248c6ef
final: audits: the entry and byte-admission closures without the hist…
johnchandlerburnham Oct 2, 2026
f2ccc3a
final: docs/kernel.md: the runnable entry's import closure is 76 repo…
johnchandlerburnham Oct 2, 2026
51dea0f
final: docs: idle-box timings of kernel-check-ixe (Init+Std, Mathlib,…
johnchandlerburnham Oct 2, 2026
a4e62e6
final: docs: the wall speed-up at 32 workers is 4.04× (1209.95 s / 29…
johnchandlerburnham Oct 2, 2026
6da7573
fix: regenerate the .below/.brecOn family of a nested Prop inductive …
johnchandlerburnham Oct 2, 2026
9a69887
test: nested Prop inductives in the aux-gen fixtures and closure suites
johnchandlerburnham Oct 2, 2026
7d246d7
merge main (Ixon v4 with canonical sharing, #658) into ix-certified
johnchandlerburnham Oct 2, 2026
346470a
v4-D: primitive addresses for Ixon v4 × Lean 4.34.0
johnchandlerburnham Oct 2, 2026
13d1b65
v4-D: regenerate IxVM Rust for the 4.34.0 primitive literals
johnchandlerburnham Oct 2, 2026
c519b9d
v4-D: regenerate the pin tables for Ixon v4 × Lean 4.34.0
johnchandlerburnham Oct 2, 2026
a38e8b9
v4-B1: merge sharing's v4 codec proofs into Ix/Ixon/Verify; move TagN
johnchandlerburnham Oct 2, 2026
cd3e543
v4-B2: re-prove the byte-stage work and resource proofs for TagN
johnchandlerburnham Oct 2, 2026
70437a6
v4-B2: re-record the codec runtime closure for TagN
johnchandlerburnham Oct 2, 2026
3432f39
v4-S: move sharing's construction proofs from Ix/Compile/Verify to Ix…
johnchandlerburnham Oct 2, 2026
a770546
v4-S: rename Ix.Compile.Verify to Ix.Sharing.Verify / Ixon.Verify in …
johnchandlerburnham Oct 2, 2026
dd82d8b
v4-S: Lake library IxSharingVerify and umbrella Ix.Sharing.Verify
johnchandlerburnham Oct 2, 2026
947f5fc
v4-S: Lean 4.34.0 deprecation renames and proof repairs in the moved …
johnchandlerburnham Oct 2, 2026
78c3775
v4-S: Builder: the compiler's sharing builder, salvaged from CompileS…
johnchandlerburnham Oct 2, 2026
b1192f0
v4-S: audits for the sharing proofs
johnchandlerburnham Oct 2, 2026
8bfdf21
v4-C: Reader docstring no longer names Ixon v3
johnchandlerburnham Oct 2, 2026
2862bcc
v4-H: re-record the entry, byte-admission, projection and block-order…
johnchandlerburnham Oct 2, 2026
3cb1b43
v4-G: codec, parser-work and byte-admission fixtures for TagN
johnchandlerburnham Oct 2, 2026
6bfe6c3
v4-G: kernel-entry-cases --records <case>, the producer of Tests/Ix/K…
johnchandlerburnham Oct 2, 2026
c6aafb9
v4-G: Reader.lean's frozen LTree and levelCanon records regenerated f…
johnchandlerburnham Oct 2, 2026
e560d09
v4-D: re-pin IxVM kernel-check and shard FFT costs for Ixon v4 × Lean…
johnchandlerburnham Oct 2, 2026
48a44c3
v4-J: sharing runtime docstrings point at Ix.Sharing.Verify, not the …
johnchandlerburnham Oct 2, 2026
1dd06c7
v4-J: docs for Ixon v4 and the relocated sharing proofs
johnchandlerburnham Oct 2, 2026
fd6ccb2
v4-K: lake lint builds every target and lists the failures
johnchandlerburnham Oct 2, 2026
58ce61b
v4-J: stale comments: Ixon contracts are not v3-only; DecodeCtx.Shari…
johnchandlerburnham Oct 2, 2026
e9cb732
docs: environment-check timings and memory on Ixon v4
johnchandlerburnham Oct 2, 2026
946c534
merge main (Lean 4.34.1, #654; weekly Rust toolchain update, #656) in…
johnchandlerburnham Oct 2, 2026
477d480
v4.34.1: regenerate the pin tables (provenance only)
johnchandlerburnham Oct 2, 2026
f829b76
v4.34.1: name the toolchain the kernel tree builds on
johnchandlerburnham Oct 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 19 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Collapse in GitHub's diff the files a reviewer does not read line by line.

# The certified checker's kernel, derived from con-leche (docs/kernel.md),
# except Ix's own boundary and modules beside it.
Ix/Kernel/**/*.lean linguist-generated=true
Ix/Kernel/Admission.lean -linguist-generated
Ix/Kernel/Admission/** -linguist-generated
Ix/Kernel/Ixon/** -linguist-generated
Ix/Kernel/Audit/** -linguist-generated
Ix/Kernel/Ingress/** -linguist-generated
Ix/Kernel/Egress/** -linguist-generated
Ix/Kernel/Ref.lean -linguist-generated
Ix/Kernel/Search.lean -linguist-generated
Ix/Kernel/LevelGeran.lean -linguist-generated
Ix/Kernel/Verify/LevelGeran.lean -linguist-generated

# The pin tables, written by `kernel-pin-gen`.
Ix/Kernel/Ixon/PinData.lean linguist-generated=true
Ix/Kernel/Ixon/NatOpPinData.lean linguist-generated=true
52 changes: 47 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,15 @@ jobs:
test-args: "--wfail"
lint-args: "-- --wfail -v"
use-github-cache: false
- name: Build Ix.Tc formal verification
run: lake build IxTcVerify
- name: Check codegen'd IxVM kernel is up to date
if: github.event_name != 'push'
run: lake exe ix codegen --check
- name: Check Lean versions match for Ix and compiler bench
- name: Check Lean versions match for Ix, compiler bench, certified kernel and its model
if: github.event_name != 'push'
run: diff lean-toolchain Benchmarks/Compile/lean-toolchain
run: |
diff lean-toolchain Benchmarks/Compile/lean-toolchain
diff lean-toolchain IxKernel/lean-toolchain
diff lean-toolchain Models/SetTheory/lean-toolchain
- name: Test Ix CLI
if: github.event_name != 'push'
run: lake test --wfail -- cli
Expand All @@ -72,6 +73,47 @@ jobs:
lake exe ixon-v4-primitives
lake exe ixon-v4-tests --primitives

# A fresh package build keeps host dependencies out of the certified import
# closure. Mathlib is confined to its separate model package; its cache only
# supplies pinned dependency objects, not this checkout's kernel or fixtures.
# No sticky disk and no Cargo cache: the job builds from an empty tree.
certified-kernel:
name: Certified Lean kernel
runs-on: runs-on=${{ github.run_id }}-certified-kernel-${{ github.run_attempt }}/cpu=16/family=r7i+r8i+r7a+r8a/image=ubuntu26-full-x64/volume=100gb/extras=s3-cache
steps:
- uses: runs-on/action@dfae4d98c5537a0dc7bbb7e6b9211f30ba240f6d # v2.4.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: $/.github/actions/setup-rust-toolchain
with:
codegen: portable
use-github-cache: "false"
- uses: leanprover/lean-action@50fcf42d2e460296f1a34b402e990d1b24f8b596 # v1.6.0
with:
auto-config: false
use-github-cache: false
- name: Fetch pinned set-theory dependencies
run: |
MATHLIB_NO_CACHE_ON_UPDATE=1 lake -d Models/SetTheory update
lake -d Models/SetTheory exe cache get \
Mathlib.SetTheory.Cardinal.Regular \
Mathlib.SetTheory.ZFC.VonNeumann \
Mathlib.SetTheory.ZFC.Cardinal
- name: Check certified kernel, codec and order differentials, model, entry cases and reader fidelity
run: lake run check-kernel --with-model
- name: Retain codec, block-order, entry-case and reader-fidelity results
if: ${{ always() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: certified-kernel-differential
path: |
.lake/build/kernel-codec.log
.lake/build/kernel-order.jsonl
.lake/build/kernel-entry-cases.jsonl
.lake/build/kernel-reader-fidelity.log
if-no-files-found: warn

rust-test:
runs-on: runs-on=${{ github.run_id }}-rust-test-${{ github.run_attempt }}/cpu=8/family=r7i+r8i+r7a+r8a/image=ubuntu26-full-x64/volume=100gb/sticky=ci-rust-test-x86-64-v4:50gb/extras=s3-cache
steps:
Expand Down Expand Up @@ -190,7 +232,7 @@ jobs:

ci-gate:
if: ${{ always() }}
needs: [lean-test, rust-test, cuda-compile, lints]
needs: [lean-test, certified-kernel, rust-test, cuda-compile, lints]
permissions:
actions: read
checks: read
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/merge-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ jobs:
rust-canon-roundtrip serial-canon-roundtrip parallel-canon-roundtrip
graph-cross condense-cross rust-serialize ixon-corpus
rust-decompile validate-aux aux-gen-diff decompile-diff
aux-gen-closure canon-closure-aux
- name: Lake ignored tests (compile)
kind: lake
test_args: --ignored compile
Expand All @@ -149,7 +150,7 @@ jobs:
kind: tc
test_args: >-
tc-anon-diff tc-init tc-tutorial tc-roundtrip tc-ingress-meta
tc-pins tc-accel-diff lean4lean
tc-pins tc-accel-diff
# On-demand rather than Spot: a reclaimed partition restarts from scratch
# only after the whole attempt finishes, and the longest partitions
# already run close to the merge queue's status-check timeout, so one
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,12 @@ jobs:
# The root package plus every package under Benchmarks/ — `/**`
# walks the whole tree (catching Catalog's nested fixture
# workspaces) and skips dotted directories, so `.lake`
# dependency checkouts are never swept up.
lake_package_directory: ". Benchmarks/**"
# dependency checkouts are never swept up — and the certified
# kernel's package and its model, whose Mathlib `rev` is a Lean
# version tag and moves with the toolchain. The pin tables and
# frozen audit counts are not regenerated here: see "On a
# toolchain bump" in docs/kernel.md.
lake_package_directory: ". Benchmarks/** IxKernel Models/SetTheory"
bump_mode: pinned-tags
pr: true
update_lean4_nix: true
2 changes: 0 additions & 2 deletions Benchmarks/Compile/TruthMines/Members/Lean4Lean.lean

This file was deleted.

10 changes: 0 additions & 10 deletions Benchmarks/Compile/TruthMines/lake-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,16 +375,6 @@
"inputRev": "453f4feb6508ec787fc325a70523d38e4378ef8f",
"inherited": true,
"configFile": "lakefile.lean"},
{"url": "https://github.com/digama0/lean4lean",
"type": "git",
"subDir": null,
"scope": "",
"rev": "e0e3f6bcccb840cb0ea6f11c2b274ada93a12e00",
"name": "lean4lean",
"manifestFile": "lake-manifest.json",
"inputRev": "e0e3f6bcccb840cb0ea6f11c2b274ada93a12e00",
"inherited": true,
"configFile": "lakefile.toml"},
{"url": "https://github.com/leanprover-community/import-graph",
"type": "git",
"subDir": null,
Expand Down
10 changes: 0 additions & 10 deletions Benchmarks/Compile/lake-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -168,16 +168,6 @@
"inputRev": null,
"inherited": true,
"configFile": "lakefile.lean"},
{"url": "https://github.com/argumentcomputer/lean4ix",
"type": "git",
"subDir": null,
"scope": "",
"rev": "a5621ecfe6416360d4e310c0ed40f3e79ae0710e",
"name": "lean4lean",
"manifestFile": "lake-manifest.json",
"inputRev": "a5621ecfe6416360d4e310c0ed40f3e79ae0710e",
"inherited": true,
"configFile": "lakefile.toml"},
{"url": "https://github.com/leanprover/lean4-cli",
"type": "git",
"subDir": null,
Expand Down
2 changes: 1 addition & 1 deletion Benchmarks/Compile/lakefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ name = "TauCeti"
git = "https://github.com/TauCetiProject/TauCeti"
rev = "afb1aacb3632d3236eee756ea1683290c07270a3"

# Keep the workspace's Lean 4.33 dependency closure authoritative over
# Keep the workspace's Lean 4.34 dependency closure authoritative over
# older or moving transitive Mathlib pins.
[[require]]
name = "mathlib"
Expand Down
Loading
Loading