Documentation

Init.Data.Nat.Control

@[inline]
def Nat.forM {m : TypeType u_1} [Monad m] (n : Nat) (f : (i : Nat) → i < nm Unit) :
Equations
@[specialize #[]]
def Nat.forM.loop {m : TypeType u_1} [Monad m] (n : Nat) (f : (i : Nat) → i < nm Unit) (i : Nat) :
i nm Unit
Equations
@[inline]
def Nat.forRevM {m : TypeType u_1} [Monad m] (n : Nat) (f : (i : Nat) → i < nm Unit) :
Equations
@[specialize #[]]
def Nat.forRevM.loop {m : TypeType u_1} [Monad m] (n : Nat) (f : (i : Nat) → i < nm Unit) (i : Nat) :
i nm Unit
Equations
@[inline]
def Nat.foldM {α : Type u} {m : Type u → Type v} [Monad m] (n : Nat) (f : (i : Nat) → i < nαm α) (init : α) :
m α
Equations
@[specialize #[]]
def Nat.foldM.loop {α : Type u} {m : Type u → Type v} [Monad m] (n : Nat) (f : (i : Nat) → i < nαm α) (i : Nat) :
i nαm α
Equations
@[inline]
def Nat.foldRevM {α : Type u} {m : Type u → Type v} [Monad m] (n : Nat) (f : (i : Nat) → i < nαm α) (init : α) :
m α
Equations
@[specialize #[]]
def Nat.foldRevM.loop {α : Type u} {m : Type u → Type v} [Monad m] (n : Nat) (f : (i : Nat) → i < nαm α) (i : Nat) :
i nαm α
Equations
@[inline]
def Nat.allM {m : TypeType u_1} [Monad m] (n : Nat) (p : (i : Nat) → i < nm Bool) :
Equations
@[specialize #[]]
def Nat.allM.loop {m : TypeType u_1} [Monad m] (n : Nat) (p : (i : Nat) → i < nm Bool) (i : Nat) :
i nm Bool
Equations
@[inline]
def Nat.anyM {m : TypeType u_1} [Monad m] (n : Nat) (p : (i : Nat) → i < nm Bool) :
Equations
@[specialize #[]]
def Nat.anyM.loop {m : TypeType u_1} [Monad m] (n : Nat) (p : (i : Nat) → i < nm Bool) (i : Nat) :
i nm Bool
Equations