Documentation

Cvc.Spec

The term-creation specification #

One op% entry per term kind, written in the typed form, split by theory. Nothing is generated here: entries are registered in opSpecExt and consumed by gen_untyped%/gen_typed% in the per-theory modules under Cvc/Untyped/ and Cvc/Typed/.

Spec/Defs.lean holds the data — shapes, sizes, notations, OpSpec and the extension — and Spec/Decl.lean the op% command that populates it. Everything else in this directory is specification, one module per theory.

This root aggregates them for convenience. A generation site imports only the theory it generates, which is what keeps a consumer from compiling specifications it never uses.