Reflection of universe variables #
The reflect
and has_reflect
machinery (sometimes via the `(expr)
syntax) allows
terms to be converted to the expression that constructs them. However, this construction does not
support universe variables.
This file provides a typeclass reflected_univ.{u}
to match a universe variable u
with a level
l
, which allows reflect
to be used universe-polymorphically.
Main definitions #
reflected_univ.{u}
: A typeclass for reflecting the universeu
to alevel
.reflect_univ.{u} : level
: Obtain the level of a universe by typeclass search.tactic.interactive.reflect_name
: solve goals of the formreflected (@foo.{u v})
by searching forreflected_univ.{u}
instances.