Documentation

Lean.Elab.BuiltinNotation

Return syntax Prod.mk elems[0] (Prod.mk elems[1] ... (Prod.mk elems[elems.size - 2] elems[elems.size - 1])))

Instances For

    Return syntax PProd.mk elems[0] (PProd.mk elems[1] ... (PProd.mk elems[elems.size - 2] elems[elems.size - 1])))

    Instances For

      Return syntax MProd.mk elems[0] (MProd.mk elems[1] ... (MProd.mk elems[elems.size - 2] elems[elems.size - 1])))

      Instances For
        def Lean.Elab.Term.isCDotForInfo (s : Syntax) (hygieneInfo? : Option Name) :

        Returns whether or not this cdot is for the given HygieneInfo name; if no hygiene info is given, then matches any cdot, no matter its hygieneInfo.

        Instances For

          Returns true if the given expression contains a cdot for the given HygieneInfo name. If no HygieneInfo name is given, then returns true if there is any cdot. The search is delimited by cdot binders (any syntax satisfying isCDotBinderKind).

          def Lean.Elab.Term.expandCDot? (stx : Term) (hygieneInfo? : Option Name) :

          If the term contains any cdots that match the given HygieneInfo name (see isCDotForInfo), then returns some with the expanded syntax, otherwise returns none.

          Examples:

          • · + 1 => fun x => x + 1
          • f · · b => fun x1 x2 => f x1 x2 b
          Instances For

            Helper method for elaborating terms such as (.+.) where a constant name is expected. This method is usually used to implement tactics that take function names as arguments (e.g., simp).

            Instances For

              Elaborator for by_elab.

              Instances For