mathlib4 icon indicating copy to clipboard operation
mathlib4 copied to clipboard

feat: add `fast_instance%` elaborator

Open eric-wieser opened this issue 1 year ago • 35 comments
trafficstars

Quoting the docstring:

fast_instance% inst takes an expression for a typeclass instance inst, and unfolds it into constructor applications that leverage existing instances. For instance, when used as

instance instSemiring : Semiring X := sorry
instance instRing : Ring X := fast_instance% Function.Injective.ring ..

this will define instRing as a nested constructor application that refers to instSemiring. The advantage is then that instRing.toSemiring unifies almost immediately with instSemiring, rather than having to break it down into smaller pieces.

Related to #7432


Open in Gitpod

eric-wieser avatar Mar 20 '24 00:03 eric-wieser