simp[Vector.get_mk_eq_get, List.ofFn_get_eq_map_cast]
case pos
α : Type u_1
β : α → Type u_2
inst✝⁴ : Primcodable α
inst✝³ : (a : α) → Fintype (β a)
inst✝² : (a : α) → DecidableEq (β a)
inst✝¹ : (a : α) → Primcodable (β a)
inst✝ : PrimrecCard β
σ : Type u_3
γ : Type u_4
f : α → List γ → γ
e s : ℕ
a : α
w : List (SubWType β s)
hlw : w.length = Fintype.card (β a)
⊢ f a
      (List.ofFn
        (fintypeArrowEquivFinArrow fun b =>
          elim γ (fun x => f x.fst (List.ofFn (fintypeArrowEquivFinArrow x.snd)))
            ↑(Vector.get ⟨w, ⋯⟩ (fintypeEquivFin b)))) =
    f a (List.map (elim' γ (fun x => f x.fst (List.ofFn (fintypeArrowEquivFinArrow x.snd))) s) w)
case pos
α : Type u_1
β : α → Type u_2
inst✝⁴ : Primcodable α
inst✝³ : (a : α) → Fintype (β a)
inst✝² : (a : α) → DecidableEq (β a)
inst✝¹ : (a : α) → Primcodable (β a)
inst✝ : PrimrecCard β
σ : Type u_3
γ : Type u_4
f : α → List γ → γ
e s : ℕ
a : α
w : List (SubWType β s)
hlw : w.length = Fintype.card (β a)
⊢ f a
      (List.ofFn
        (fintypeArrowEquivFinArrow fun b =>
          elim γ (fun x => f x.fst (List.ofFn (fintypeArrowEquivFinArrow x.snd)))
            ↑(w.get (Fin.cast ⋯ (fintypeEquivFin b))))) =
    f a (List.map (elim' γ (fun x => f x.fst (List.ofFn (fintypeArrowEquivFinArrow x.snd))) s) w)