simp[Nat.toFin]
L : Language
μ : Type v
α : Type u_1
inst✝⁶ : Primcodable α
inst✝⁵ : Primcodable μ
inst✝⁴ : (k : ℕ) → Primcodable (L.Func k)
inst✝³ : UniformlyPrimcodable L.Func
σ : Type u_2
μ₁ : Type u_3
μ₂ : Type u_4
inst✝² : Primcodable μ₁
inst✝¹ : Primcodable μ₂
inst✝ : Primcodable σ
n₁ n₂ : ℕ
b : α → Fin n₁ → Semiterm L μ₂ n₂
hb : Primrec b
this✝ : (n : ℕ) → Primcodable { t // t.bv ≤ n } := fun n => Primcodable.subtype ⋯
this : Primrec₂ fun z x => Option.casesOn (n₁.toFin x) default fun i => ↑(subtEquiv (b z i))
a : α
x : ℕ
⊢ (Option.casesOn (n₁.toFin x) default fun i => ↑(subtEquiv (b a i))) =
    if hx : x < n₁ then ↑(subtEquiv (b a ⟨x, hx⟩)) else default
L : Language
μ : Type v
α : Type u_1
inst✝⁶ : Primcodable α
inst✝⁵ : Primcodable μ
inst✝⁴ : (k : ℕ) → Primcodable (L.Func k)
inst✝³ : UniformlyPrimcodable L.Func
σ : Type u_2
μ₁ : Type u_3
μ₂ : Type u_4
inst✝² : Primcodable μ₁
inst✝¹ : Primcodable μ₂
inst✝ : Primcodable σ
n₁ n₂ : ℕ
b : α → Fin n₁ → Semiterm L μ₂ n₂
hb : Primrec b
this✝ : (n : ℕ) → Primcodable { t // t.bv ≤ n } := fun n => Primcodable.subtype ⋯
this : Primrec₂ fun z x => Option.casesOn (n₁.toFin x) default fun i => ↑(subtEquiv (b z i))
a : α
x : ℕ
⊢ Option.rec default (fun val => ↑(subtEquiv (b a val))) (if hx : x < n₁ then some ⟨x, hx⟩ else none) =
    if hx : x < n₁ then ↑(subtEquiv (b a ⟨x, hx⟩)) else default