Relevanceops
We can take advantage of non-cumulativity of SProp to avoid fully retyping terms when we just want to know if they inhabit some proof-irrelevant type.
val relevance_of_term : Environ.env -> Constr.constr -> Sorts.relevance
val relevance_of_rel : Environ.env -> int -> Sorts.relevance
val relevance_of_var : Environ.env -> Names.Id.t -> Sorts.relevance
val relevance_of_constant : Environ.env -> Constr.pconstant -> Sorts.relevance
val relevance_of_constructor : Environ.env -> Constr.pconstructor -> Sorts.relevance
val relevance_of_projection_repr : Environ.env -> Names.Projection.Repr.t UVars.puniverses -> Sorts.relevance
val relevance_of_projection : Environ.env -> Names.Projection.t UVars.puniverses -> Sorts.relevance