Theoria.Equality (theoria v0.7.0)

Copy Markdown View Source

Untrusted helpers for building equality transport terms.

These helpers only construct core terms. Callers still need to pass the result through Theoria.Kernel before trusting it as a proof.

Summary

Functions

Builds congruence for a unary function.

Builds congruence for applying equal functions to the same argument.

Builds nondependent equality transport by using a constant motive.

Builds an equality-recursion transport term.

Builds a substitution proof from base : motive left and proof : left = right.

Builds a symmetry proof from proof : x = y.

Builds a transitivity proof from left = middle and middle = right.

Functions

congr(domain, codomain, fun, left, right, proof)

Builds congruence for a unary function.

congr_fun(fun_type, result_type, arg, left_fun, right_fun, proof)

Builds congruence for applying equal functions to the same argument.

ndrec(type, codomain, base, proof)

Builds nondependent equality transport by using a constant motive.

rewrite(type, motive, base, proof)

Builds an equality-recursion transport term.

subst(type, motive, base, proof)

Builds a substitution proof from base : motive left and proof : left = right.

symm(type, left, right, proof)

Builds a symmetry proof from proof : x = y.

trans(type, left, middle, right, left_eq_middle, middle_eq_right)

Builds a transitivity proof from left = middle and middle = right.