File: .lake/packages/lean4/src/lean/Lean/Meta/Tactic/Generalize.lean

full_name: Lean.Meta.GeneralizeArg
code: /-- The `generalize` tactic takes arguments of the form `h : e = x` -/
structure GeneralizeArg where
  expr   : Expr
  xName? : Option Name := none
  hName? : Option Name := none
  deriving Inhabited
goal: Type

full_name: Lean.Meta.GeneralizeArg.expr
code: /-- The `generalize` tactic takes arguments of the form `h : e = x` -/
structure GeneralizeArg where
  expr   : Expr
  xName? : Option Name := none
  hName? : Option Name := none
  deriving Inhabited
goal: Lean.Expr

full_name: Lean.Meta.GeneralizeArg.xName?
code: /-- The `generalize` tactic takes arguments of the form `h : e = x` -/
structure GeneralizeArg where
  expr   : Expr
  xName? : Option Name := none
  hName? : Option Name := none
  deriving Inhabited
goal: Option Lean.Name

full_name: Lean.Meta.instInhabitedGeneralizeArg
code: /-- The `generalize` tactic takes arguments of the form `h : e = x` -/
structure GeneralizeArg where
  expr   : Expr
  xName? : Option Name := none
  hName? : Option Name := none
  deriving Inhabited
goal: Inhabited Lean.Meta.GeneralizeArg

full_name: Lean.Meta.GeneralizeArg.hName?
code: /-- The `generalize` tactic takes arguments of the form `h : e = x` -/
structure GeneralizeArg where
  expr   : Expr
  xName? : Option Name := none
  hName? : Option Name := none
  deriving Inhabited
goal: Option Lean.Name

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Generalize.0.Lean.Meta.generalizeCore.go
code: /--
Telescopic `generalize` tactic. It can simultaneously generalize many terms.
It uses `kabstract` to occurrences of the terms that need to be generalized.
-/
private partial def generalizeCore (mvarId : MVarId) (args : Array GeneralizeArg)
    (transparency : TransparencyMode) : MetaM (Array FVarId × MVarId) 
goal: Lean.MetaM Lean.Expr

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Generalize.0.Lean.Meta.generalizeCore
code: /--
Telescopic `generalize` tactic. It can simultaneously generalize many terms.
It uses `kabstract` to occurrences of the terms that need to be generalized.
-/
private partial def generalizeCore (mvarId : MVarId) (args : Array GeneralizeArg)
    (transparency : TransparencyMode) : MetaM (Array FVarId × MVarId) 
goal: Lean.MetaM (Array Lean.FVarId × Lean.MVarId)

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Generalize.0.Lean.Meta.generalizeCore.go'
code: /--
Telescopic `generalize` tactic. It can simultaneously generalize many terms.
It uses `kabstract` to occurrences of the terms that need to be generalized.
-/
private partial def generalizeCore (mvarId : MVarId) (args : Array GeneralizeArg)
    (transparency : TransparencyMode) : MetaM (Array FVarId × MVarId) 
goal: Lean.MetaM (List Lean.Expr × Lean.Expr)

full_name: Lean.MVarId.generalize
code: @[inherit_doc generalizeCore]
def _root_.Lean.MVarId.generalize (mvarId : MVarId) (args : Array GeneralizeArg)
    (transparency := TransparencyMode.instances) : MetaM (Array FVarId × MVarId) 
goal: Lean.MetaM (Array Lean.FVarId × Lean.MVarId)

full_name: Lean.Meta.generalize
code: @[inherit_doc generalizeCore, deprecated MVarId.generalize (since := "2022-07-15")]
def generalize (mvarId : MVarId) (args : Array GeneralizeArg)
    (transparency := TransparencyMode.instances) : MetaM (Array FVarId × MVarId) 
goal: Lean.MetaM (Array Lean.FVarId × Lean.MVarId)

full_name: Lean.MVarId.generalizeHyp
code: /--
Extension of `generalize` to support generalizing within specified hypotheses.
The `hyps` array contains the list of hypotheses within which to look for occurrences
of the generalizing expressions.
-/
def _root_.Lean.MVarId.generalizeHyp (mvarId : MVarId) (args : Array GeneralizeArg) (hyps : Array FVarId := #[])
    (fvarSubst : FVarSubst := {}) (transparency := TransparencyMode.instances) : MetaM (FVarSubst × Array FVarId × MVarId) 
goal: Lean.MetaM (Lean.Meta.FVarSubst × Array Lean.FVarId × Lean.MVarId)