rw [dropEveryNth, fun_to_corec fun i => σ (i + i/2)]
α✝ : Type u_1
σ : Stream' α✝
⊢ dropEveryNth 3 σ = fun i => σ (i + i / 2)
α✝ : Type u_1
σ : Stream' α✝
⊢ corec
      (fun x =>
        match x with
        | (σ, snd) => head σ)
      (fun x =>
        match x with
        | (σ, 0) => (tail (tail σ), 3 - 2)
        | (σ, Nat.succ m) => (tail σ, m))
      (σ, 3 - 2) =
    corec (fun i => σ (i + i / 2)) (fun x => x + 1) 0