Returns true if declName is the name of a grind helper declaration that
should not be unfolded by unfoldReducible. Grind.EqMatch and Grind.MatchCond
are abbrevs, but they are gadgets that must survive until the corresponding
propagators consume them.
Equations
- Lean.Meta.Sym.isGrindGadget declName = (declName == `Lean.Grind.EqMatch || declName == `Lean.Grind.MatchCond)
Instances For
Returns true if declName is a reducible constant that the unfoldReducible
preprocessing step must unfold.
Projection functions are excluded even though they are reducible by default:
unfolding them produces kernel projections, which the foldProjs preprocessing
step folds back into projection function applications.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- Lean.Meta.Sym.instHashableAlphaKey = { hash := fun (k : Lean.Meta.Sym.AlphaKey) => Lean.Meta.Sym.instHashableAlphaKey._private_1 k }
@[instance_reducible]
Equations
- Lean.Meta.Sym.instBEqAlphaKey = { beq := fun (k₁ k₂ : Lean.Meta.Sym.AlphaKey) => Lean.Meta.Sym.instBEqAlphaKey._private_1 k₁ k₂ }