File: .lake/packages/batteries/Batteries/Tactic/Lint/Simp.lean

full_name: Std.Tactic.Lint.SimpTheoremInfo.rhs
code: /-- The data associated to a simp theorem. -/
structure SimpTheoremInfo where
  /-- The hypotheses of the theorem -/
  hyps : Array Expr
  /-- True if this is a conditional rewrite rule -/
  isConditional : Bool
  /-- The thing to replace -/
  lhs : Expr
  /-- The result of replacement -/
  rhs : Expr
goal: Lean.Expr

full_name: Std.Tactic.Lint.SimpTheoremInfo.lhs
code: /-- The data associated to a simp theorem. -/
structure SimpTheoremInfo where
  /-- The hypotheses of the theorem -/
  hyps : Array Expr
  /-- True if this is a conditional rewrite rule -/
  isConditional : Bool
  /-- The thing to replace -/
  lhs : Expr
  /-- The result of replacement -/
  rhs : Expr
goal: Lean.Expr

full_name: Std.Tactic.Lint.SimpTheoremInfo.isConditional
code: /-- The data associated to a simp theorem. -/
structure SimpTheoremInfo where
  /-- The hypotheses of the theorem -/
  hyps : Array Expr
  /-- True if this is a conditional rewrite rule -/
  isConditional : Bool
  /-- The thing to replace -/
  lhs : Expr
  /-- The result of replacement -/
  rhs : Expr
goal: Bool

full_name: Std.Tactic.Lint.SimpTheoremInfo.hyps
code: /-- The data associated to a simp theorem. -/
structure SimpTheoremInfo where
  /-- The hypotheses of the theorem -/
  hyps : Array Expr
  /-- True if this is a conditional rewrite rule -/
  isConditional : Bool
  /-- The thing to replace -/
  lhs : Expr
  /-- The result of replacement -/
  rhs : Expr
goal: Array Lean.Expr

full_name: Std.Tactic.Lint.SimpTheoremInfo
code: /-- The data associated to a simp theorem. -/
structure SimpTheoremInfo where
  /-- The hypotheses of the theorem -/
  hyps : Array Expr
  /-- True if this is a conditional rewrite rule -/
  isConditional : Bool
  /-- The thing to replace -/
  lhs : Expr
  /-- The result of replacement -/
  rhs : Expr
goal: Type

full_name: Std.Tactic.Lint.isConditionalHyps
code: /-- Given the list of hypotheses, is this a conditional rewrite rule? -/
def isConditionalHyps (lhs : Expr) : List Expr → MetaM Bool
  
goal: List Lean.Expr → Lean.MetaM Bool

full_name: Std.Tactic.Lint.withSimpTheoremInfos
code: /-- Runs the continuation on all the simp theorems encoded in the given type. -/
def withSimpTheoremInfos (ty : Expr) (k : SimpTheoremInfo → MetaM α) : MetaM (Array α) 
goal: Lean.MetaM (Array α)

full_name: Std.Tactic.Lint.isSimpEq
code: /-- Checks whether two expressions are equal for the simplifier. That is,
they are reducibly-definitional equal, and they have the same head symbol. -/
def isSimpEq (a b : Expr) (whnfFirst := true) : MetaM Bool 
goal: Lean.MetaM Bool

full_name: Std.Tactic.Lint.checkAllSimpTheoremInfos
code: /-- Constructs a message from all the simp theorems encoded in the given type. -/
def checkAllSimpTheoremInfos (ty : Expr) (k : SimpTheoremInfo → MetaM (Option MessageData)) :
    MetaM (Option MessageData) 
goal: Lean.MetaM (Option Lean.MessageData)

full_name: Std.Tactic.Lint.isSimpTheorem
code: /-- Returns true if this is a `@[simp]` declaration. -/
def isSimpTheorem (declName : Name) : MetaM Bool 
goal: Lean.MetaM Bool

full_name: Lean.Meta.DiscrTree.elements.trieElements
code: /-- Returns the list of elements in the discrimination tree. -/
partial def _root_.Lean.Meta.DiscrTree.elements (d : DiscrTree α) : Array α 
goal: Lean.Meta.DiscrTree.Trie α → Array α

full_name: Lean.Meta.DiscrTree.elements
code: /-- Returns the list of elements in the discrimination tree. -/
partial def _root_.Lean.Meta.DiscrTree.elements (d : DiscrTree α) : Array α 
goal: Array α

full_name: Std.Tactic.Lint.decorateError
code: /-- Add message `msg` to any errors thrown inside `k`. -/
def decorateError (msg : MessageData) (k : MetaM α) : MetaM α 
goal: Lean.MetaM α

full_name: Std.Tactic.Lint.formatLemmas
code: /-- Render the list of simp lemmas. -/
def formatLemmas (usedSimps : Simp.UsedSimps) (simpName : String) : MetaM MessageData 
goal: Lean.MetaM Lean.MessageData

full_name: Std.Tactic.Lint.simpNF
code: /-- A linter for simp lemmas whose lhs is not in simp-normal form, and which hence never fire. -/
@[env_linter] def simpNF : Linter 
goal: Std.Tactic.Lint.Linter

full_name: Std.Tactic.Lint.simpVarHead
code: /--
A linter for simp lemmas whose lhs has a variable as head symbol,
and which hence never fire.
-/
@[env_linter] def simpVarHead : Linter 
goal: Std.Tactic.Lint.Linter

full_name: _private.«.lake».packages.batteries.Batteries.Tactic.Lint.Simp.0.Std.Tactic.Lint.Expr.eqOrIff?
code: private def Expr.eqOrIff? : Expr → Option (Expr × Expr)
  
goal: Lean.Expr → Option (Lean.Expr × Lean.Expr)

full_name: Std.Tactic.Lint.simpComm
code: /-- A linter for commutativity lemmas that are marked simp. -/
@[env_linter] def simpComm : Linter 
goal: Std.Tactic.Lint.Linter