Auxiliary function for implementing unfoldReducible and unfoldReducibleSimproc.
Performs a single step.
Instances For
Unfolds all reducible declarations occurring in e.
This is meant as a preprocessing step. It does not guarantee maximally shared terms
Instances For
Converts nested Expr.projs into projection applications if possible.
The structural simplifier and pattern matcher do not handle kernel projection
terms; this preprocessing step folds them into projection function applications.
Instances For
Instantiates assigned metavariables, applies shareCommon, and eliminates holes (aka none cells)
in the local context.
Instances For
Normalizes universe levels in constants and sorts.