Returns true if the legacy simp-based normalizer is selected (backward.grind.normalizer).
Instances For
The Sym.simp-based normalization step: Sym.simp with methods, then Sym.dsimp of the result
with dmethods. The two passes are independent, and their states are threaded through.
Sym.simp does not visit the fixed arguments of an application, e.g. the implicit objects of a
morphism composition, while the legacy normalizer dsimps them (Simp.Config.dsimp). A beta-redex
or a projection of a structure instance left in such an argument makes the term miss the E-matching
patterns of its theorems, so the dsimp pass reduces them. Its result is definitionally equal to
the simp result, so the proof is the one of the simp pass.
Sym requires kernel projections to be folded into projection applications. The legacy normalizer
accepts them, so preprocessImpl folds them only afterwards; they are folded here first.
Instances For
Simplifies the given expression using the grind simprocs and normalization theorems.
Instances For
Preprocesses e using grind normalization theorems and simprocs,
and then applies several other preprocessing steps.
Instances For
A lighter version of preprocess which produces a definitionally equal term,
but ensures assumptions made by grind are satisfied.