# theoria v0.1.0 - API Reference

## Modules

- [Theoria](Theoria.md): An Elixir-native proof/spec kernel inspired by Lean's trusted-kernel design.
- [Theoria.Context](Theoria.Context.md): Typing context for bound variables.
- [Theoria.Env](Theoria.Env.md): Kernel environment containing checked constants and definitions.

- [Theoria.Env.Constant](Theoria.Env.Constant.md): A checked constant or definition in a kernel environment.
- [Theoria.Kernel](Theoria.Kernel.md): The trusted type-checking kernel.
- [Theoria.Normalize](Theoria.Normalize.md): Normalization and definitional equality for core terms.
- [Theoria.Term](Theoria.Term.md): Core terms for Theoria's trusted kernel.
- [Theoria.Term.App](Theoria.Term.App.md): Function application.
- [Theoria.Term.BVar](Theoria.Term.BVar.md): A bound variable represented by a de Bruijn index.
- [Theoria.Term.Const](Theoria.Term.Const.md): A named environment constant.
- [Theoria.Term.Forall](Theoria.Term.Forall.md): Dependent function type. Non-dependent functions are encoded as forall types.
- [Theoria.Term.Lam](Theoria.Term.Lam.md): Lambda abstraction.
- [Theoria.Term.Sort](Theoria.Term.Sort.md): A universe level, written `Type n` in the surface language.

- Exceptions
  - [Theoria.Error](Theoria.Error.md): Kernel error returned when a term cannot be checked.

