intro i xs bs pf1 pf2 f hu
α : Type u_1
β : Type u_2
⊢ ∀ {i : Nat} {xs : List α} {bs : List Bool} (pf1 : i < length xs) (pf2 : i < length bs) (f : α → β),
    Unique (map f xs) →
      (get (map f xs) { val := i, isLt := (_ : i < length (map f xs)) } ∈ map f (sieve bs xs) ↔
        get bs { val := i, isLt := pf2 } = true)
α : Type u_1
β : Type u_2
i : Nat
xs : List α
bs : List Bool
pf1 : i < length xs
pf2 : i < length bs
f : α → β
hu : Unique (map f xs)
⊢ get (map f xs) { val := i, isLt := (_ : i < length (map f xs)) } ∈ map f (sieve bs xs) ↔
    get bs { val := i, isLt := pf2 } = true