Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 2.86 KB

File metadata and controls

76 lines (53 loc) · 2.86 KB

Trusted computing base (TCB)

LeanVerifier assurance is layered. Removing a layer does not expand what a verified result means; each layer has a distinct trust boundary.

Pinned toolchain: Lean v4.32.1 (lean-toolchain); mathlib v4.32.1 (lakefile.toml / lake-manifest.json). Supported proofs use only kernel-checkable tactics (no native evaluation decide tactics, decide +native, or bitvector decide).

1. Logical soundness TCB

What must be sound for theorem derivations to be trusted:

Component Role
Lean 4 kernel Type / proof checking
Logical axioms Only propext, Classical.choice, Quot.sound on supported decls
Imported theorem dependencies Supported LeanVerifier modules + pinned mathlib

Secondary checking: lean4checker --fresh on supported modules (CI artifact).

Concrete generated modules (eps_nonneg, margin_strict, certified) and CLAIMS-referenced public theorems (including repeated_weight_*) are audited with #print axioms via scripts/audit_axioms.py. Any axiom outside the allowlist fails closed.

2. Statement-correctness TCB

What must be correct for the meaning of a theorem to match the claim:

Component Role
Model / property definitions AffineBinaryClassifier, score, classify, L∞ ball
Theorem statements e.g. affine_margin_robustness
Reviewer judgment Human review that statements match CLAIMS / STATUS

Kernel success does not by itself prove the English claim is the intended one.

3. Manifest-correspondence TCB

What must be correct so JSON inputs match the Lean instance that was checked:

Component Role
JSON Schema + parser schemas/, leanverifier.manifest
Canonicalizer Rational grammar and digests
Generator Deterministic Lean emission (leanverifier.generator)
Digest implementation Model / request content addressing

A sound proof of the wrong instance is still a correspondence failure.

4. Execution and provenance TCB

What must be trustworthy for builds and release evidence:

Component Role
Host OS Process isolation, filesystem
Elan / Lean toolchain install Bootstrap of the pinned compiler
Lake Build orchestration
GitHub Actions (SHA-pinned) CI execution; default contents: read
Packaging / attestation tools Wheel/sdist and (future) RC provenance

Docker pins base image digest and elan tarball sha256 where used.

Explicitly out of TCB

Legacy FormalVerifML, webapp, translators, third-party ML frameworks, unpinned Actions tags, and any experimental tree imports.

Relation to verified

Status verified requires margin check, Lean compile of the concrete generated module, and a concrete axiom audit of that module’s declarations (not only library theorems). See threat-model.md.