@[inline]
Equations
Equations
- Lean.IR.UniqueIds.checkId id = modifyGet fun s => if Std.RBTree.contains s id = true then (false, s) else (true, Std.RBTree.insert s id)
Equations
- Lean.IR.UniqueIds.checkParams ps = Array.allM (fun p => Lean.IR.UniqueIds.checkId p.x.idx) ps 0 (Array.size ps)
Equations
- One or more equations did not get rendered due to their size.
Equations
@[inline]
Equations
- Lean.IR.NormalizeIds.normIndex x m = match Std.RBMap.find? m x with | some y => y | none => x
Equations
- Lean.IR.NormalizeIds.normArg _fun_discr = match _fun_discr with | Lean.IR.Arg.var x => Lean.IR.Arg.var <$> Lean.IR.NormalizeIds.normVar x | other => pure other
Equations
- Lean.IR.NormalizeIds.normArgs as m = Array.map (fun a => Lean.IR.NormalizeIds.normArg a m) as
Equations
- One or more equations did not get rendered due to their size.
@[inline]
Equations
@[inline]
def
Lean.IR.NormalizeIds.withVar
{α : Type}
(x : Lean.IR.VarId)
(k : Lean.IR.VarId → Lean.IR.NormalizeIds.N α)
:
Equations
- Lean.IR.NormalizeIds.withVar x k m = do let n ← getModify fun n => n + 1 k { idx := n } (Std.RBMap.insert m x.idx n)
@[inline]
def
Lean.IR.NormalizeIds.withJP
{α : Type}
(x : Lean.IR.JoinPointId)
(k : Lean.IR.JoinPointId → Lean.IR.NormalizeIds.N α)
:
Equations
- Lean.IR.NormalizeIds.withJP x k m = do let n ← getModify fun n => n + 1 k { idx := n } (Std.RBMap.insert m x.idx n)
@[inline]
def
Lean.IR.NormalizeIds.withParams
{α : Type}
(ps : Array Lean.IR.Param)
(k : Array Lean.IR.Param → Lean.IR.NormalizeIds.N α)
:
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.IR.NormalizeIds.instMonadLiftMN = { monadLift := fun {α} x m => pure (x m) }
Equations
- One or more equations did not get rendered due to their size.
Equations
@[inline]
Equations
- Lean.IR.MapVars.mapArg f _fun_discr = match _fun_discr with | Lean.IR.Arg.var x => Lean.IR.Arg.var (f x) | a => a
Equations
- Lean.IR.MapVars.mapArgs f as = Array.map (Lean.IR.MapVars.mapArg f) as
Equations
- One or more equations did not get rendered due to their size.
@[inline]
Equations
Equations
- Lean.IR.FnBody.replaceVar x y b = Lean.IR.FnBody.mapVars (fun z => if (x == z) = true then y else z) b