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

full_name: Lean.Meta.Grind.isInterpreted
code: /--
Returns `true` if `e` is `True`, `False`, or a literal value.
See `LitValues` for supported literals.
-/
def isInterpreted (e : Expr) : MetaM Bool 
goal: Lean.MetaM Bool

full_name: Lean.Meta.Grind.mkENode
code: /--
Creates an `ENode` for `e` if one does not already exist.
This method assumes `e` has been hashconsed.
-/
def mkENode (e : Expr) (generation : Nat := 0) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: Lean.Meta.Grind.getRoot
code: /--
Returns the root element in the equivalence class of `e`.
-/
def getRoot (e : Expr) : GoalM Expr 
goal: Lean.Meta.Grind.GoalM Lean.Expr

full_name: Lean.Meta.Grind.getNext
code: /--
Returns the next element in the equivalence class of `e`.
-/
def getNext (e : Expr) : GoalM Expr 
goal: Lean.Meta.Grind.GoalM Lean.Expr

full_name: Lean.Meta.Grind.isSameExpr
code: @[inline] def isSameExpr (a b : Expr) : Bool 
goal: Bool

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.pushNewEqCore
code: private def pushNewEqCore (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.pushNewEq
code: @[inline] private def pushNewEq (lhs rhs proof : Expr) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.pushNewHEq
code: @[inline] private def pushNewHEq (lhs rhs proof : Expr) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.invertTrans
code: /--
The fields `target?` and `proof?` in `e`'s `ENode` are encoding a transitivity proof
from `e` to the root of the equivalence class
This method "inverts" the proof, and makes it to go from the root of the equivalence class to `e`.

We use this method when merging two equivalence classes.
-/
private partial def invertTrans (e : Expr) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.invertTrans.go
code: /--
The fields `target?` and `proof?` in `e`'s `ENode` are encoding a transitivity proof
from `e` to the root of the equivalence class
This method "inverts" the proof, and makes it to go from the root of the equivalence class to `e`.

We use this method when merging two equivalence classes.
-/
private partial def invertTrans (e : Expr) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.markAsInconsistent
code: private def markAsInconsistent : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.addEqStep.updateRoots
code: private partial def addEqStep (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.addEqStep.updateRoots.loop
code: private partial def addEqStep (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.addEqStep.go
code: private partial def addEqStep (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Meta.Tactic.Grind.Core.0.Lean.Meta.Grind.addEqStep
code: private partial def addEqStep (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: Lean.Meta.Grind.addEqCore
code: partial def addEqCore (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: Lean.Meta.Grind.addEqCore.processTodo
code: partial def addEqCore (lhs rhs proof : Expr) (isHEq : Bool) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: Lean.Meta.Grind.addEq
code: def addEq (lhs rhs proof : Expr) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit

full_name: Lean.Meta.Grind.addHEq
code: def addHEq (lhs rhs proof : Expr) : GoalM Unit 
goal: Lean.Meta.Grind.GoalM Unit