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

full_name: Lean.Meta.Grind.Preprocessor.Context.simp
code: structure Context where
  simp     : Simp.Context
  simprocs : Array Simp.Simprocs
  deriving Inhabited
goal: Lean.Meta.Simp.Context

full_name: Lean.Meta.Grind.Preprocessor.Context
code: structure Context where
  simp     : Simp.Context
  simprocs : Array Simp.Simprocs
  deriving Inhabited
goal: Type

full_name: Lean.Meta.Grind.Preprocessor.Context.simprocs
code: structure Context where
  simp     : Simp.Context
  simprocs : Array Simp.Simprocs
  deriving Inhabited
goal: Array Lean.Meta.Simprocs

full_name: Lean.Meta.Grind.Preprocessor.instInhabitedContext
code: structure Context where
  simp     : Simp.Context
  simprocs : Array Simp.Simprocs
  deriving Inhabited
goal: Inhabited Lean.Meta.Grind.Preprocessor.Context

full_name: Lean.Meta.Grind.Preprocessor.State.simpStats
code: structure State where
  simpStats : Simp.Stats := {}
  goals     : PArray Goal := {}
  deriving Inhabited
goal: Lean.Meta.Simp.Stats

full_name: Lean.Meta.Grind.Preprocessor.instInhabitedState
code: structure State where
  simpStats : Simp.Stats := {}
  goals     : PArray Goal := {}
  deriving Inhabited
goal: Inhabited Lean.Meta.Grind.Preprocessor.State

full_name: Lean.Meta.Grind.Preprocessor.State.goals
code: structure State where
  simpStats : Simp.Stats := {}
  goals     : PArray Goal := {}
  deriving Inhabited
goal: Lean.PArray Lean.Meta.Grind.Goal

full_name: Lean.Meta.Grind.Preprocessor.State
code: structure State where
  simpStats : Simp.Stats := {}
  goals     : PArray Goal := {}
  deriving Inhabited
goal: Type

full_name: Lean.Meta.Grind.Preprocessor.PreM
code: abbrev PreM 
goal: Type

full_name: Lean.Meta.Grind.Preprocessor.PreM.run
code: def PreM.run (x : PreM α) : GrindM α 
goal: Lean.Meta.Grind.GrindM α

full_name: Lean.Meta.Grind.Preprocessor.simp
code: def simp (_goal : Goal) (e : Expr) : PreM Simp.Result 
goal: Lean.Meta.Grind.Preprocessor.PreM Lean.Meta.Simp.Result

full_name: Lean.Meta.Grind.Preprocessor.IntroResult
code: inductive IntroResult where
  | done
  | newHyp (fvarId : FVarId) (goal : Goal)
  | newDepHyp (goal : Goal)
  | newLocal (fvarId : FVarId) (goal : Goal)
goal: Type

full_name: Lean.Meta.Grind.Preprocessor.IntroResult.newLocal
code: inductive IntroResult where
  | done
  | newHyp (fvarId : FVarId) (goal : Goal)
  | newDepHyp (goal : Goal)
  | newLocal (fvarId : FVarId) (goal : Goal)
goal: Lean.Meta.Grind.Preprocessor.IntroResult

full_name: Lean.Meta.Grind.Preprocessor.IntroResult.done
code: inductive IntroResult where
  | done
  | newHyp (fvarId : FVarId) (goal : Goal)
  | newDepHyp (goal : Goal)
  | newLocal (fvarId : FVarId) (goal : Goal)
goal: Lean.Meta.Grind.Preprocessor.IntroResult

full_name: Lean.Meta.Grind.Preprocessor.IntroResult.newHyp
code: inductive IntroResult where
  | done
  | newHyp (fvarId : FVarId) (goal : Goal)
  | newDepHyp (goal : Goal)
  | newLocal (fvarId : FVarId) (goal : Goal)
goal: Lean.Meta.Grind.Preprocessor.IntroResult

full_name: Lean.Meta.Grind.Preprocessor.IntroResult.newDepHyp
code: inductive IntroResult where
  | done
  | newHyp (fvarId : FVarId) (goal : Goal)
  | newDepHyp (goal : Goal)
  | newLocal (fvarId : FVarId) (goal : Goal)
goal: Lean.Meta.Grind.Preprocessor.IntroResult

full_name: Lean.Meta.Grind.Preprocessor.introNext
code: def introNext (goal : Goal) : PreM IntroResult 
goal: Lean.Meta.Grind.Preprocessor.PreM Lean.Meta.Grind.Preprocessor.IntroResult

full_name: Lean.Meta.Grind.Preprocessor.pushResult
code: def pushResult (goal : Goal) : PreM Unit 
goal: Lean.Meta.Grind.Preprocessor.PreM Unit

full_name: Lean.Meta.Grind.Preprocessor.isCasesCandidate
code: def isCasesCandidate (fvarId : FVarId) : MetaM Bool 
goal: Lean.MetaM Bool

full_name: Lean.Meta.Grind.Preprocessor.applyCases?
code: def applyCases? (goal : Goal) (fvarId : FVarId) : MetaM (Option (List Goal)) 
goal: Lean.MetaM (Option (List Lean.Meta.Grind.Goal))

full_name: Lean.Meta.Grind.Preprocessor.applyInjection?
code: def applyInjection? (goal : Goal) (fvarId : FVarId) : MetaM (Option Goal) 
goal: Lean.MetaM (Option Lean.Meta.Grind.Goal)

full_name: Lean.Meta.Grind.Preprocessor.loop
code: partial def loop (goal : Goal) : PreM Unit 
goal: Lean.Meta.Grind.Preprocessor.PreM Unit

full_name: Lean.Meta.Grind.Preprocessor.preprocess
code: def preprocess (mvarId : MVarId) : PreM State 
goal: Lean.Meta.Grind.Preprocessor.PreM Lean.Meta.Grind.Preprocessor.State

full_name: Lean.Meta.Grind.main
code: partial def main (mvarId : MVarId) (mainDeclName : Name) : MetaM (List MVarId) 
goal: Lean.MetaM (List Lean.MVarId)