Documentation

Init.Data.Range

structure Std.Range :
Instances For
    Equations
    @[inline]
    def Std.Range.forIn {β : Type u} {m : Type u → Type v} [inst : Monad m] (range : Std.Range) (init : β) (f : Natβm (ForInStep β)) :
    m β
    Equations
    @[specialize #[]]
    def Std.Range.forIn.loop {β : Type u} {m : Type u → Type v} [inst : Monad m] (f : Natβm (ForInStep β)) (fuel : Nat) (i : Nat) (stop : Nat) (step : Nat) (b : β) :
    m β
    Equations
    instance Std.Range.instForInRangeNat {m : Type u_1 → Type u_2} :
    Equations
    • Std.Range.instForInRangeNat = { forIn := fun {β} [Monad m] => Std.Range.forIn }
    @[inline]
    def Std.Range.forIn' {β : Type u} {m : Type u → Type v} [inst : Monad m] (range : Std.Range) (init : β) (f : (i : Nat) → i rangeβm (ForInStep β)) :
    m β
    Equations
    @[specialize #[]]
    def Std.Range.forIn'.loop {β : Type u} {m : Type u → Type v} [inst : Monad m] (start : Nat) (stop : Nat) (step : Nat) (f : (i : Nat) → start i i < stopβm (ForInStep β)) (fuel : Nat) (i : Nat) (hl : start i) (b : β) :
    m β
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • Std.Range.instForIn'RangeNatInferInstanceMembershipInstMembershipNatRange = { forIn' := fun {β} [Monad m] => Std.Range.forIn' }
    @[inline]
    def Std.Range.forM {m : Type u → Type v} [inst : Monad m] (range : Std.Range) (f : Natm PUnit) :
    Equations
    @[specialize #[]]
    def Std.Range.forM.loop {m : Type u → Type v} [inst : Monad m] (f : Natm PUnit) (fuel : Nat) (i : Nat) (stop : Nat) (step : Nat) :
    Equations
    instance Std.Range.instForMRangeNat {m : Type u_1 → Type u_2} :
    Equations
    • Std.Range.instForMRangeNat = { forM := fun [Monad m] => Std.Range.forM }
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    theorem Membership.mem.upper {i : Nat} {r : Std.Range} (h : i r) :
    i < r.stop
    theorem Membership.mem.lower {i : Nat} {r : Std.Range} (h : i r) :
    r.start i