Documentation

Std.Data.Iterators.Lemmas.Combinators.DropWhile

theorem Std.Iter.dropWhile_eq_intermediateDropWhile {α β : Type u_1} [Iterator α Id β] {P : βBool} {it : Iter β} :
theorem Std.Iter.Intermediate.dropWhile_eq_dropWhile_toIterM {α β : Type u_1} [Iterator α Id β] {P : βBool} {it : Iter β} {dropping : Bool} :
dropWhile P dropping it = (IterM.Intermediate.dropWhile P dropping it.toIterM).toIter
theorem Std.Iter.dropWhile_eq_dropWhile_toIterM {α β : Type u_1} [Iterator α Id β] {P : βBool} {it : Iter β} :
theorem Std.Iter.step_intermediateDropWhile {α β : Type u_1} [Iterator α Id β] {it : Iter β} {P : βBool} {dropping : Bool} :
(Intermediate.dropWhile P dropping it).step = match it.step with | IterStep.yield it' out, h => if h' : dropping = true then match hP : P out with | true => PlausibleIterStep.skip (Intermediate.dropWhile P true it') | false => PlausibleIterStep.yield (Intermediate.dropWhile P false it') out else PlausibleIterStep.yield (Intermediate.dropWhile P false it') out | IterStep.skip it', h => PlausibleIterStep.skip (Intermediate.dropWhile P dropping it') | IterStep.done, h => PlausibleIterStep.done
theorem Std.Iter.val_step_intermediateDropWhile {α β : Type u_1} [Iterator α Id β] {it : Iter β} {P : βBool} {dropping : Bool} :
theorem Std.Iter.step_dropWhile {α β : Type u_1} [Iterator α Id β] {P : βBool} {it : Iter β} :
theorem Std.Iter.val_step_dropWhile {α β : Type u_1} [Iterator α Id β] {P : βBool} {it : Iter β} :
theorem Std.Iter.toList_intermediateDropWhile_of_finite {α β : Type u_1} [Iterator α Id β] {P : βBool} {dropping : Bool} [Iterators.Finite α Id] {it : Iter β} :
@[simp]
theorem Std.Iter.toList_dropWhile_of_finite {α β : Type u_1} [Iterator α Id β] {P : βBool} [Iterators.Finite α Id] {it : Iter β} :
@[simp]
theorem Std.Iter.toArray_dropWhile_of_finite {α β : Type u_1} [Iterator α Id β] {P : βBool} [Iterators.Finite α Id] {it : Iter β} :
@[simp]
theorem Std.Iter.toListRev_dropWhile_of_finite {α β : Type u_1} [Iterator α Id β] {P : βBool} [Iterators.Finite α Id] {it : Iter β} :