File: .lake/packages/lean4/src/lean/Lean/Compiler/IR/NormIds.lean

full_name: Lean.IR.UniqueIds.M
code: abbrev M 
goal: Type

full_name: Lean.IR.UniqueIds.checkId
code: def checkId (id : Index) : M Bool 
goal: Lean.IR.UniqueIds.M Bool

full_name: Lean.IR.UniqueIds.checkParams
code: def checkParams (ps : Array Param) : M Bool 
goal: Lean.IR.UniqueIds.M Bool

full_name: Lean.IR.UniqueIds.checkFnBody
code: partial def checkFnBody : FnBody → M Bool
  
goal: Lean.IR.FnBody → Lean.IR.UniqueIds.M Bool

full_name: Lean.IR.UniqueIds.checkDecl
code: partial def checkDecl : Decl → M Bool
  
goal: Lean.IR.Decl → Lean.IR.UniqueIds.M Bool

full_name: Lean.IR.Decl.uniqueIds
code: /-- Return true if variable, parameter and join point ids are unique -/
def Decl.uniqueIds (d : Decl) : Bool 
goal: Bool

full_name: Lean.IR.NormalizeIds.M
code: abbrev M 
goal: Type

full_name: Lean.IR.NormalizeIds.normIndex
code: def normIndex (x : Index) : M Index 
goal: Lean.IR.NormalizeIds.M Lean.IR.Index

full_name: Lean.IR.NormalizeIds.normVar
code: def normVar (x : VarId) : M VarId 
goal: Lean.IR.NormalizeIds.M Lean.IR.VarId

full_name: Lean.IR.NormalizeIds.normJP
code: def normJP (x : JoinPointId) : M JoinPointId 
goal: Lean.IR.NormalizeIds.M Lean.IR.JoinPointId

full_name: Lean.IR.NormalizeIds.normArg
code: def normArg : Arg → M Arg
  
goal: Lean.IR.Arg → Lean.IR.NormalizeIds.M Lean.IR.Arg

full_name: Lean.IR.NormalizeIds.normArgs
code: def normArgs (as : Array Arg) : M (Array Arg) 
goal: Lean.IR.NormalizeIds.M (Array Lean.IR.Arg)

full_name: Lean.IR.NormalizeIds.normExpr
code: def normExpr : Expr → M Expr
  
goal: Lean.IR.Expr → Lean.IR.NormalizeIds.M Lean.IR.Expr

full_name: Lean.IR.NormalizeIds.N
code: abbrev N 
goal: Type

full_name: Lean.IR.NormalizeIds.withVar
code: @[inline] def withVar {α : Type} (x : VarId) (k : VarId → N α) : N α 
goal: Lean.IR.NormalizeIds.N α

full_name: Lean.IR.NormalizeIds.withJP
code: @[inline] def withJP {α : Type} (x : JoinPointId) (k : JoinPointId → N α) : N α 
goal: Lean.IR.NormalizeIds.N α

full_name: Lean.IR.NormalizeIds.withParams
code: @[inline] def withParams {α : Type} (ps : Array Param) (k : Array Param → N α) : N α 
goal: Lean.IR.NormalizeIds.N α

full_name: Lean.IR.NormalizeIds.instMonadLiftMN
code: instance : MonadLift M N 
goal: MonadLift Lean.IR.NormalizeIds.M Lean.IR.NormalizeIds.N

full_name: Lean.IR.NormalizeIds.normFnBody
code: partial def normFnBody : FnBody → N FnBody
  
goal: Lean.IR.FnBody → Lean.IR.NormalizeIds.N Lean.IR.FnBody

full_name: Lean.IR.NormalizeIds.normDecl
code: def normDecl (d : Decl) : N Decl 
goal: Lean.IR.NormalizeIds.N Lean.IR.Decl

full_name: Lean.IR.Decl.normalizeIds
code: /-- Create a declaration equivalent to `d` s.t. `d.normalizeIds.uniqueIds == true` -/
def Decl.normalizeIds (d : Decl) : Decl 
goal: Lean.IR.Decl

full_name: Lean.IR.MapVars.mapArg
code: @[inline] def mapArg (f : VarId → VarId) : Arg → Arg
  
goal: Lean.IR.Arg → Lean.IR.Arg

full_name: Lean.IR.MapVars.mapArgs
code: def mapArgs (f : VarId → VarId) (as : Array Arg) : Array Arg 
goal: Array Lean.IR.Arg

full_name: Lean.IR.MapVars.mapExpr
code: def mapExpr (f : VarId → VarId) : Expr → Expr
  
goal: Lean.IR.Expr → Lean.IR.Expr

full_name: Lean.IR.MapVars.mapFnBody
code: partial def mapFnBody (f : VarId → VarId) : FnBody → FnBody
  
goal: Lean.IR.FnBody → Lean.IR.FnBody

full_name: Lean.IR.FnBody.mapVars
code: @[inline] def FnBody.mapVars (f : VarId → VarId) (b : FnBody) : FnBody 
goal: Lean.IR.FnBody

full_name: Lean.IR.FnBody.replaceVar
code: /-- Replace `x` with `y` in `b`. This function assumes `b` does not shadow `x` -/
def FnBody.replaceVar (x y : VarId) (b : FnBody) : FnBody 
goal: Lean.IR.FnBody