Structured description of an inductive family.
Summary
Types
@type t() :: %Theoria.Inductive.Spec{ constructors: [Theoria.Inductive.Constructor.t()], indices: [Theoria.Inductive.Index.t()], name: atom(), num_params: non_neg_integer(), parameters: [Theoria.Inductive.Parameter.t()], recursors: [Theoria.Inductive.Recursor.t()], type: Theoria.Term.t(), universe_params: [atom()] }
Functions
@spec constructor(t(), atom(), Theoria.Term.t()) :: t()
@spec index(t(), atom(), Theoria.Term.t()) :: t()
@spec new(atom(), Theoria.Term.t(), keyword()) :: t()
@spec parameter(t(), atom(), Theoria.Term.t()) :: t()
@spec recursor(t(), atom(), Theoria.Term.t(), Theoria.Env.Reduction.t()) :: t()