Documentation

Lean.Meta.Instances

@[inline, reducible]
Instances For
    Instances For
      @[inline, reducible]
      Instances For

        Compute the order the arguments of inst should by synthesized.

        The synthesization order makes sure that all mvars in non-out-params of the subgoals are assigned before we try to synthesize it. Otherwise it goes left to right.

        For example:

        • [Add α] [Zero α] : Foo α returns [0, 1]
        • [Mul A] [Mul B] [MulHomClass F A B] : FunLike F A B returns [2, 0, 1] (because A B are out-params and are only filled in once we synthesize 2)

        (The type of inst must not contain mvars.)

        Instances For
          def Lean.Meta.addInstance (declName : Lake.Name) (attrKind : Lean.AttributeKind) (prio : Nat) :
          Instances For
            Instances For

              Default instance support #

              Instances For
                @[inline, reducible]
                Instances For
                  Instances For
                    Instances For
                      Instances For