Experimental/internal API for 0.2; subject to change before 0.3. Lookup helpers for generated equation theorem metadata.
Summary
Functions
Builds a rewrite database from all generated equation metadata in an environment.
Returns generated equation lemma metadata for a definition.
Returns generated equation theorem names for a definition.
Installs generated equation theorems for one definition.
Installs all generated equation theorems in declaration order.
Returns true when every generated equation theorem for a definition is installed.
Realizes generated equation theorem metadata without installing it.
Builds rewrite rules for generated equations of one definition.
Finds the source definition for a generated equation theorem name.
Returns generated unfold equation lemma metadata for a definition.
Functions
@spec database( Theoria.Env.t(), keyword() ) :: Theoria.Rewrite.Database.t()
Builds a rewrite database from all generated equation metadata in an environment.
@spec generated(Theoria.Env.t(), atom()) :: {:ok, [Theoria.Equation.Lemma.t()]} | {:error, term()}
Returns generated equation lemma metadata for a definition.
@spec get(Theoria.Env.t(), atom()) :: {:ok, [Theoria.Equation.Identity.t()]} | {:error, term()}
Returns generated equation theorem names for a definition.
@spec install(Theoria.Env.t(), atom(), keyword()) :: {:ok, Theoria.Env.t(), [Theoria.Theorem.t()]} | {:error, term()}
Installs generated equation theorems for one definition.
@spec install_all( Theoria.Env.t(), keyword() ) :: {:ok, Theoria.Env.t(), [Theoria.Theorem.t()]} | {:error, term()}
Installs all generated equation theorems in declaration order.
@spec installed?(Theoria.Env.t(), atom()) :: boolean()
Returns true when every generated equation theorem for a definition is installed.
@spec realize(Theoria.Env.t(), atom() | Theoria.Equation.Identity.t()) :: {:ok, Theoria.Equation.Realized.t()} | {:ok, [Theoria.Equation.Realized.t()]} | {:error, term()}
Realizes generated equation theorem metadata without installing it.
@spec rules(Theoria.Env.t(), atom(), keyword()) :: {:ok, [Theoria.Rewrite.Rule.t()]} | {:error, term()}
Builds rewrite rules for generated equations of one definition.
@spec source(Theoria.Env.t(), Theoria.Equation.Identity.t() | atom()) :: {:ok, atom()} | :error
Finds the source definition for a generated equation theorem name.
@spec unfold(Theoria.Env.t(), atom()) :: {:ok, Theoria.Equation.Lemma.t()} | {:error, term()}
Returns generated unfold equation lemma metadata for a definition.