File: .lake/packages/lean4/src/lean/Lean/Elab/PreDefinition/WF/Eqns.lean

full_name: Lean.Elab.WF.EqnInfo
code: structure EqnInfo extends EqnInfoCore where
  declNames       : Array Name
  declNameNonRec  : Name
  fixedPrefixSize : Nat
  argsPacker      : ArgsPacker
  deriving Inhabited
goal: Type

full_name: Lean.Elab.WF.EqnInfo.declNameNonRec
code: structure EqnInfo extends EqnInfoCore where
  declNames       : Array Name
  declNameNonRec  : Name
  fixedPrefixSize : Nat
  argsPacker      : ArgsPacker
  deriving Inhabited
goal: Lean.Name

full_name: Lean.Elab.WF.EqnInfo.argsPacker
code: structure EqnInfo extends EqnInfoCore where
  declNames       : Array Name
  declNameNonRec  : Name
  fixedPrefixSize : Nat
  argsPacker      : ArgsPacker
  deriving Inhabited
goal: Lean.Meta.ArgsPacker

full_name: Lean.Elab.WF.EqnInfo.declNames
code: structure EqnInfo extends EqnInfoCore where
  declNames       : Array Name
  declNameNonRec  : Name
  fixedPrefixSize : Nat
  argsPacker      : ArgsPacker
  deriving Inhabited
goal: Array Lean.Name

full_name: Lean.Elab.WF.EqnInfo.fixedPrefixSize
code: structure EqnInfo extends EqnInfoCore where
  declNames       : Array Name
  declNameNonRec  : Name
  fixedPrefixSize : Nat
  argsPacker      : ArgsPacker
  deriving Inhabited
goal: Nat

full_name: Lean.Elab.WF.instInhabitedEqnInfo
code: structure EqnInfo extends EqnInfoCore where
  declNames       : Array Name
  declNameNonRec  : Name
  fixedPrefixSize : Nat
  argsPacker      : ArgsPacker
  deriving Inhabited
goal: Inhabited Lean.Elab.WF.EqnInfo

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.PreDefinition.WF.Eqns.0.Lean.Elab.WF.deltaLHSUntilFix
code: private partial def deltaLHSUntilFix (mvarId : MVarId) : MetaM MVarId 
goal: Lean.MetaM Lean.MVarId

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.PreDefinition.WF.Eqns.0.Lean.Elab.WF.rwFixEq
code: private def rwFixEq (mvarId : MVarId) : MetaM MVarId 
goal: Lean.MetaM Lean.MVarId

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.PreDefinition.WF.Eqns.0.Lean.Elab.WF.mkProof.go
code: private partial def mkProof (declName : Name) (type : Expr) : MetaM Expr 
goal: Lean.MetaM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.PreDefinition.WF.Eqns.0.Lean.Elab.WF.mkProof
code: private partial def mkProof (declName : Name) (type : Expr) : MetaM Expr 
goal: Lean.MetaM Lean.Expr

full_name: Lean.Elab.WF.mkEqns
code: def mkEqns (declName : Name) (info : EqnInfo) : MetaM (Array Name) 
goal: Lean.MetaM (Array Lean.Name)

full_name: Lean.Elab.WF.initFn._@..lake.packages.lean4.src.lean.Lean.Elab.PreDefinition.WF.Eqns._hyg.1500
code: builtin_initialize eqnInfoExt : MapDeclarationExtension EqnInfo ← mkMapDeclarationExtension
goal: IO (Lean.MapDeclarationExtension Lean.Elab.WF.EqnInfo)

full_name: Lean.Elab.WF.eqnInfoExt
code: builtin_initialize eqnInfoExt : MapDeclarationExtension EqnInfo ← mkMapDeclarationExtension
goal: Lean.MapDeclarationExtension Lean.Elab.WF.EqnInfo

full_name: Lean.Elab.WF.registerEqnsInfo
code: def registerEqnsInfo (preDefs : Array PreDefinition) (declNameNonRec : Name) (fixedPrefixSize : Nat)
    (argsPacker : ArgsPacker) : MetaM Unit 
goal: Lean.MetaM Unit

full_name: Lean.Elab.WF.getEqnsFor?
code: def getEqnsFor? (declName : Name) : MetaM (Option (Array Name)) 
goal: Lean.MetaM (Option (Array Lean.Name))

full_name: Lean.Elab.WF.getUnfoldFor?
code: def getUnfoldFor? (declName : Name) : MetaM (Option Name) 
goal: Lean.MetaM (Option Lean.Name)

full_name: Lean.Elab.WF.initFn._@..lake.packages.lean4.src.lean.Lean.Elab.PreDefinition.WF.Eqns._hyg.1775
code: builtin_initialize
  registerGetEqnsFn getEqnsFor?
  registerGetUnfoldEqnFn getUnfoldFor?
  registerTraceClass `Elab.definition.wf.eqns
goal: IO Unit