USD Core Specification in Lean 4: formalization and conformance

This site summarizes usdspec-conformance: a Lean 4 formalization ("the Lean model") of the AOUSD USD Core Specification v1.1.0, together with differential conformance tests that replay Lean-generated test vectors against two implementations, LightUSD and stock OpenUSD, and a citation-checked registry of specification findings.

An independent project led by Light Transport Entertainment Inc. Not affiliated with or endorsed by the Alliance for OpenUSD (AOUSD). Source repository: lighttransport/usdspec-conformance.

Every page on this site exists in two forms: .html (this page: for humans) and the identical content as raw .md markdown at the same path (for AI agents), e.g. index.md.

Background: why formalize a specification

The USD Core Specification is prose plus normative pseudocode. Formalizing it in Lean 4 accomplishes three things that plain reading cannot:

The pieces

ComponentRole
Lean model (verif/lean/UsdSpec, 44 modules)Machine-checked model of the normative parts of the spec: list operations, dictionaries, layer offsets, paths and element ordering, Unicode, crate (integer coding, LZ4 framing, value reps), USDA grammar/round-trip, schema families, population, strength ordering, composition (incl. a trimmed prim-index builder), value resolution.
LightUSD (src/next)The implementation under test; its C++ consumers read the Lean-generated vectors (refreshed from this repository's generators).
Stock OpenUSD 26.11The conformance oracle (usd-core==26.11, hash-pinned), the baseline for differential testing. A separately built local OpenUSD track records fork-compatibility results.
AOUSD supplemental composition suite 1.0.1Upstream's 138-case composition corpus, used as an additional ratcheted suite.
Unicode UCD 15.1.0Hash-pinned reference data for XID and normalization gates (official corpus, negative controls, sweeps).
Findings registry73 SPEC-ISSUE findings with citations, classification and reviewer sign-off; drafts for upstream reports live in issues/.

Current status (snapshot)

Headline numbers at the time of the 2026-11-07 verification (see also the Status page, which is the detailed, dated record):

AOUSD specification gaps (findings)

Findings by category (numbering bands of the registry; see the Spec findings page for each entry):

BandAreaFindings
0xxList operations1
1xxDictionaries / layer offsets5
2xxPaths and element ordering9
3xxSchema families1
4xxCrate10
5xxComposition11
6xxPopulation5
7xxValue resolution20
8xxUSDA grammar11

Caution with unpublished findings: drafts exist in issues/aousd/01-21, but nothing has been filed with AOUSD or OpenUSD yet.

Implementation status: LightUSD and OpenUSD

Explore

PageContent
StatusFull verification and conformance status, open items, how to reproduce.
Lean formalizationModules, build instructions, axiom audit, Unicode conformance gates.
ReflectionHow the model is reflected into LightUSD.
Spec findingsThe 73-entry findings registry (the AOUSD spec gaps).
Verification reportLatest dated full-suite setup and execution report.
Execution ledgerDetailed, dated follow-up and checkpoint ledger.

Agents: every page above is also served as ./<name>.md.