File: .lake/packages/lean4/src/lean/Lean/Elab/BuiltinNotation.lean

full_name: Lean.Elab.Term.elabCoe
code: @[builtin_term_elab coeNotation] def elabCoe : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabCoeFunNotation
code: @[builtin_term_elab coeFunNotation] def elabCoeFunNotation : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabCoeSortNotation
code: @[builtin_term_elab coeSortNotation] def elabCoeSortNotation : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabAnonymousCtor
code: @[builtin_term_elab anonymousCtor] def elabAnonymousCtor : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabBorrowed
code: @[builtin_term_elab borrowed] def elabBorrowed : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.expandShow
code: @[builtin_macro Lean.Parser.Term.show] def expandShow : Macro 
goal: Lean.Macro

full_name: Lean.Elab.Term.elabShow
code: @[builtin_term_elab Lean.Parser.Term.show] def elabShow : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.expandHave
code: @[builtin_macro Lean.Parser.Term.have] def expandHave : Macro 
goal: Lean.Macro

full_name: Lean.Elab.Term.expandSuffices
code: @[builtin_macro Lean.Parser.Term.suffices] def expandSuffices : Macro
  
goal: Lean.Macro

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.BuiltinNotation.0.Lean.Elab.Term.elabParserMacroAux
code: private def elabParserMacroAux (prec e : Term) (withAnonymousAntiquot : Bool) : TermElabM Syntax 
goal: Lean.Elab.TermElabM Lean.Syntax

full_name: Lean.Elab.Term.elabLeadingParserMacro
code: @[builtin_term_elab «leading_parser»] def elabLeadingParserMacro : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.BuiltinNotation.0.Lean.Elab.Term.elabTParserMacroAux
code: private def elabTParserMacroAux (prec lhsPrec e : Term) : TermElabM Syntax 
goal: Lean.Elab.TermElabM Lean.Syntax

full_name: Lean.Elab.Term.elabTrailingParserMacro
code: @[builtin_term_elab «trailing_parser»] def elabTrailingParserMacro : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabPanic
code: @[builtin_term_elab Lean.Parser.Term.panic] def elabPanic : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.expandUnreachable
code: @[builtin_macro Lean.Parser.Term.unreachable]  def expandUnreachable : Macro 
goal: Lean.Macro

full_name: Lean.Elab.Term.expandAssert
code: @[builtin_macro Lean.Parser.Term.assert]  def expandAssert : Macro
  
goal: Lean.Macro

full_name: Lean.Elab.Term.expandDbgTrace
code: @[builtin_macro Lean.Parser.Term.dbgTrace]  def expandDbgTrace : Macro
  
goal: Lean.Macro

full_name: Lean.Elab.Term.elabSorry
code: @[builtin_term_elab «sorry»] def elabSorry : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.mkPairs
code: /-- Return syntax `Prod.mk elems[0] (Prod.mk elems[1] ... (Prod.mk elems[elems.size - 2] elems[elems.size - 1])))` -/
partial def mkPairs (elems : Array Term) : MacroM Term 
goal: Lean.MacroM Lean.Term

full_name: Lean.Elab.Term.mkPairs.loop
code: /-- Return syntax `Prod.mk elems[0] (Prod.mk elems[1] ... (Prod.mk elems[elems.size - 2] elems[elems.size - 1])))` -/
partial def mkPairs (elems : Array Term) : MacroM Term 
goal: Lean.MacroM Lean.Term

full_name: Lean.Elab.Term.hasCDot
code: partial def hasCDot : Syntax → Bool
  
goal: Lean.Syntax → Bool

full_name: Lean.Elab.Term.expandCDot?
code: /--
  Return `some` if succeeded expanding `·` notation occurring in
  the given syntax. Otherwise, return `none`.
  Examples:
  - `· + 1` => `fun _a_1 => _a_1 + 1`
  - `f · · b` => `fun _a_1 _a_2 => f _a_1 _a_2 b` -/
partial def expandCDot? (stx : Term) : MacroM (Option Term) 
goal: Lean.MacroM (Option Lean.Term)

full_name: Lean.Elab.Term.expandCDot?.go
code: /--
  Return `some` if succeeded expanding `·` notation occurring in
  the given syntax. Otherwise, return `none`.
  Examples:
  - `· + 1` => `fun _a_1 => _a_1 + 1`
  - `f · · b` => `fun _a_1 _a_2 => f _a_1 _a_2 b` -/
partial def expandCDot? (stx : Term) : MacroM (Option Term) 
goal: Lean.Syntax → StateT (Array Lean.Ident) Lean.MacroM Lean.Syntax

full_name: Lean.Elab.Term.elabCDotFunctionAlias?
code: /--
  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`).
-/
def elabCDotFunctionAlias? (stx : Term) : TermElabM (Option Expr) 
goal: Lean.Elab.TermElabM (Option Lean.Expr)

full_name: Lean.Elab.Term.elabCDotFunctionAlias?.expandCDotArg?
code: /--
  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`).
-/
def elabCDotFunctionAlias? (stx : Term) : TermElabM (Option Expr) 
goal: Lean.MacroM (Option Lean.Term)

full_name: Lean.Elab.Term.expandParen
code: @[builtin_macro Lean.Parser.Term.paren] def expandParen : Macro
  
goal: Lean.Macro

full_name: Lean.Elab.Term.expandTuple
code: @[builtin_macro Lean.Parser.Term.tuple] def expandTuple : Macro
  
goal: Lean.Macro

full_name: Lean.Elab.Term.expandTypeAscription
code: @[builtin_macro Lean.Parser.Term.typeAscription] def expandTypeAscription : Macro
  
goal: Lean.Macro

full_name: Lean.Elab.Term.elabTypeAscription
code: @[builtin_term_elab typeAscription] def elabTypeAscription : TermElab
  
goal: Lean.Elab.Term.TermElab

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.BuiltinNotation.0.Lean.Elab.Term.isSubstCandidate
code: /-- Return `true` if `lhs` is a free variable and `rhs` does not depend on it. -/
private def isSubstCandidate (lhs rhs : Expr) : MetaM Bool 
goal: Lean.MetaM Bool

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.BuiltinNotation.0.Lean.Elab.Term.withLocalIdentFor
code: /--
  Given an expression `e` that is the elaboration of `stx`, if `e` is a free variable, then return `k stx`.
  Otherwise, return `(fun x => k x) e`
-/
private def withLocalIdentFor (stx : Term) (e : Expr) (k : Term → TermElabM Expr) : TermElabM Expr 
goal: Lean.Elab.TermElabM Lean.Expr

full_name: Lean.Elab.Term.elabSubst
code: @[builtin_term_elab subst] def elabSubst : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabStateRefT
code: @[builtin_term_elab stateRefT] def elabStateRefT : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabNoindex
code: @[builtin_term_elab noindex] def elabNoindex : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabUnsafe
code: @[builtin_term_elab «unsafe»]
def elabUnsafe : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabRunElab
code: /-- Elaborator for `by_elab`. -/
@[builtin_term_elab byElab] def elabRunElab : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabHaveI
code: @[builtin_term_elab Lean.Parser.Term.haveI] def elabHaveI : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.elabLetI
code: @[builtin_term_elab Lean.Parser.Term.letI] def elabLetI : TermElab 
goal: Lean.Elab.Term.TermElab