theorem Std.Iter.step_drop {α β : Type u_1} [Iterator α Id β] {n : Nat} {it : Iter β} :
(drop n it).step = match it.step with
| ⟨IterStep.yield it' out, h⟩ =>
match n with
| 0 => PlausibleIterStep.yield (drop 0 it') out ⋯
| k.succ => PlausibleIterStep.skip (drop k it') ⋯
| ⟨IterStep.skip it', h⟩ => PlausibleIterStep.skip (drop n it') ⋯
| ⟨IterStep.done, h⟩ => PlausibleIterStep.done ⋯
theorem Std.Iter.atIdxSlow?_drop {α β : Type u_1} [Iterator α Id β] [Iterators.Productive α Id] {k l : Nat} {it : Iter β} :