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

full_name: Lean.Elab.Term.Arg.stx
code: /--
  Auxiliary inductive datatype for combining unelaborated syntax
  and already elaborated expressions. It is used to elaborate applications. -/
inductive Arg where
  | stx  (val : Syntax)
  | expr (val : Expr)
  deriving Inhabited
goal: Lean.Elab.Term.Arg

full_name: Lean.Elab.Term.Arg.expr
code: /--
  Auxiliary inductive datatype for combining unelaborated syntax
  and already elaborated expressions. It is used to elaborate applications. -/
inductive Arg where
  | stx  (val : Syntax)
  | expr (val : Expr)
  deriving Inhabited
goal: Lean.Elab.Term.Arg

full_name: Lean.Elab.Term.instInhabitedArg
code: /--
  Auxiliary inductive datatype for combining unelaborated syntax
  and already elaborated expressions. It is used to elaborate applications. -/
inductive Arg where
  | stx  (val : Syntax)
  | expr (val : Expr)
  deriving Inhabited
goal: Inhabited Lean.Elab.Term.Arg

full_name: Lean.Elab.Term.Arg
code: /--
  Auxiliary inductive datatype for combining unelaborated syntax
  and already elaborated expressions. It is used to elaborate applications. -/
inductive Arg where
  | stx  (val : Syntax)
  | expr (val : Expr)
  deriving Inhabited
goal: Type

full_name: Lean.Elab.Term.instInhabitedNamedArg
code: /-- Named arguments created using the notation `(x := val)` -/
structure NamedArg where
  ref  : Syntax := Syntax.missing
  name : Name
  val  : Arg
  deriving Inhabited
goal: Inhabited Lean.Elab.Term.NamedArg

full_name: Lean.Elab.Term.NamedArg.ref
code: /-- Named arguments created using the notation `(x := val)` -/
structure NamedArg where
  ref  : Syntax := Syntax.missing
  name : Name
  val  : Arg
  deriving Inhabited
goal: Lean.Syntax

full_name: Lean.Elab.Term.NamedArg
code: /-- Named arguments created using the notation `(x := val)` -/
structure NamedArg where
  ref  : Syntax := Syntax.missing
  name : Name
  val  : Arg
  deriving Inhabited
goal: Type

full_name: Lean.Elab.Term.NamedArg.name
code: /-- Named arguments created using the notation `(x := val)` -/
structure NamedArg where
  ref  : Syntax := Syntax.missing
  name : Name
  val  : Arg
  deriving Inhabited
goal: Lean.Name

full_name: Lean.Elab.Term.NamedArg.val
code: /-- Named arguments created using the notation `(x := val)` -/
structure NamedArg where
  ref  : Syntax := Syntax.missing
  name : Name
  val  : Arg
  deriving Inhabited
goal: Lean.Elab.Term.Arg

full_name: Lean.Elab.Term.addNamedArg
code: /--
  Add a new named argument to `namedArgs`, and throw an error if it already contains a named argument
  with the same name. -/
def addNamedArg (namedArgs : Array NamedArg) (namedArg : NamedArg) : MetaM (Array NamedArg) 
goal: Lean.MetaM (Array Lean.Elab.Term.NamedArg)

full_name: Lean.Elab.Term.expandArgs
code: partial def expandArgs (args : Array Syntax) : MetaM (Array NamedArg × Array Arg × Bool) 
goal: Lean.MetaM (Array Lean.Elab.Term.NamedArg × Array Lean.Elab.Term.Arg × Bool)

full_name: Lean.Elab.Term.expandApp
code: def expandApp (stx : Syntax) : MetaM (Syntax × Array NamedArg × Array Arg × Bool) 
goal: Lean.MetaM (Lean.Syntax × Array Lean.Elab.Term.NamedArg × Array Lean.Elab.Term.Arg × Bool)