Theoria.Kernel.Reference.Normalize (theoria v0.6.0)

Copy Markdown View Source

Reference normalization for kernel differential assurance.

Summary

Functions

Reference definitional equality by full normalization.

Computes full normal form with the reference normalizer.

Computes weak-head normal form with the reference normalizer.

Types

result()

@type result() :: {:ok, Theoria.Term.t()} | {:error, :out_of_fuel}

Functions

defeq?(env, left, right)

@spec defeq?(Theoria.Env.t(), Theoria.Term.t(), Theoria.Term.t()) :: boolean()

Reference definitional equality by full normalization.

normalize(env, term)

@spec normalize(Theoria.Env.t(), Theoria.Term.t()) :: result()

Computes full normal form with the reference normalizer.

whnf(env, term)

@spec whnf(Theoria.Env.t(), Theoria.Term.t()) :: result()

Computes weak-head normal form with the reference normalizer.