induction w
τ : Type u_1
σ : Type u_2
α : Type u_3
γ : Type u_4
β : α → Type u_5
inst✝⁸ : Primcodable τ
inst✝⁷ : Primcodable σ
inst✝⁶ : Primcodable α
inst✝⁵ : (a : α) → Fintype (β a)
inst✝⁴ : (a : α) → DecidableEq (β a)
inst✝³ : (a : α) → Primcodable (β a)
inst✝² : PrimrecCard β
inst✝¹ : Primcodable γ
inst✝ : Inhabited (WType β)
this✝ : Primrec₂ fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l)
this : Primrec (elimL fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l))
w : WType β
⊢ elimL (fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l)) w = w.inversion
case mk
τ : Type u_1
σ : Type u_2
α : Type u_3
γ : Type u_4
β : α → Type u_5
inst✝⁸ : Primcodable τ
inst✝⁷ : Primcodable σ
inst✝⁶ : Primcodable α
inst✝⁵ : (a : α) → Fintype (β a)
inst✝⁴ : (a : α) → DecidableEq (β a)
inst✝³ : (a : α) → Primcodable (β a)
inst✝² : PrimrecCard β
inst✝¹ : Primcodable γ
inst✝ : Inhabited (WType β)
this✝ : Primrec₂ fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l)
this : Primrec (elimL fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l))
a✝ : α
f✝ : β a✝ → WType β
f_ih✝ : ∀ (a : β a✝), elimL (fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l)) (f✝ a) = (f✝ a).inversion
⊢ elimL (fun a l => (a, List.map (fun p => (mkL p.1 p.2).get!) l)) (WType.mk a✝ f✝) = (WType.mk a✝ f✝).inversion