dsimp
case refine_2
α : Type u
as : Array α
p : α → Bool
⊢ Id.run
      (if hlt : size as < size as then
        let_fun this := (_ : size as < size as);
        do
        let __do_lift ← p as[size as]
        if __do_lift = true then pure true else anyM.loop p as (size as) (_ : size as ≤ size as) (size as + 1)
      else pure false) =
    List.any (List.drop (size as) as.data) p
case refine_2
α : Type u
as : Array α
p : α → Bool
⊢ Id.run
      (if hlt : size as < size as then
        if p as[size as] = true then true else anyM.loop p as (size as) (_ : size as ≤ size as) (size as + 1)
      else false) =
    List.any (List.drop (size as) as.data) p