Theoria.Equation.Recursor.Application (theoria v0.3.0)

Copy Markdown View Source

Experimental/internal API for 0.2; subject to change before 0.3. Internal raw recursor application builders used by the equation compiler.

Summary

Functions

Builds a Bool recursor application from the two constructor equations.

Builds a recursor application from a recursor name and positional arguments.

Builds a List recursor application from nil/cons equations.

Builds a Nat recursor application from zero/succ equations.

Builds a Vec recursor application from nil/cons equations.

Functions

bool_rec(motive, on_true, on_false, major)

Builds a Bool recursor application from the two constructor equations.

build(recursor, arguments)

@spec build(atom(), [Theoria.Term.t()]) :: {:ok, Theoria.Term.t()} | {:error, term()}

Builds a recursor application from a recursor name and positional arguments.

list_rec(element_type, motive, nil_case, cons_case, major, levels \\ [1, 1])

Builds a List recursor application from nil/cons equations.

nat_rec(motive, zero_case, succ_case, major)

Builds a Nat recursor application from zero/succ equations.

vec_ind(element_type, motive, nil_case, cons_case, index, major, levels \\ [1])

Builds a Vec recursor application from nil/cons equations.