The trusted type-checking kernel.
The kernel is intentionally small: all DSLs, tactics, and automation must reduce to core terms that are accepted here before a theorem is trusted.
Summary
Types
@type result() :: {:ok, Theoria.Term.t()} | {:error, Theoria.Error.t()}