Preprocessors¶
Preprocessors let the demonstration profile run on ordinary proof-assistant installations. They consume extended source with table declarations and emit ordinary source for schema or data checking.
| Language | Script | Input option | Output option |
|---|---|---|---|
| Agda | preproc/agda_tdb_preprocess.py |
positional input | --out |
| Lean | preproc/lean_tdb_preprocess.py |
--input |
--output |
| Rocq | preproc/rocq_tdb_preprocess.py |
--input |
--output |
All preprocessors support:
--tdb-mode=schema
--tdb-mode=data
--tdb-mode=tables
Data mode also requires:
--tdb-host HOST
--tdb-port PORT
--tdb-name DATABASE
Agda¶
Schema mode rewrites:
x :T: A
into:
x : Type _
x = A
Data mode removes table declarations and emits ordinary Agda definitions for fetched records using encoded UUID identifiers.
Lean¶
Schema mode rewrites table declarations into transparent ordinary Lean abbreviations:
abbrev x : Sort _ := A
Data mode emits fetched records inside a generated
TermDatabaseValidation namespace.
Rocq¶
Schema mode rewrites:
x :T: A.
into:
Definition x : Type := A.
Data mode emits ordinary Rocq Local Definitions with canonical encoded UUID
identifiers.
Limits¶
The preprocessors are demonstration-profile parsers. They are not semantic proof-assistant implementations. The generated ordinary source is the artifact that should be checked by Agda, Lean, or Rocq.