case h
n : ℕ
α : TypeVec n
i : Fin2 n
⊢ (prod.snd ⊚ prod.diag) i = id i
n : ℕ
α : TypeVec n
⊢ prod.snd ⊚ prod.diag = id
funext i
case h.fz
n n✝ : ℕ
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) Fin2.fz = id Fin2.fz

case h.fs
n n✝ : ℕ
a✝ : Fin2 n✝
a_ih✝ : ∀ {α : TypeVec n✝}, (prod.snd ⊚ prod.diag) a✝ = id a✝
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) (Fin2.fs a✝) = id (Fin2.fs a✝)
case h
n : ℕ
α : TypeVec n
i : Fin2 n
⊢ (prod.snd ⊚ prod.diag) i = id i
induction i
case h.fs
n n✝ : ℕ
a✝ : Fin2 n✝
a_ih✝ : ∀ {α : TypeVec n✝}, (prod.snd ⊚ prod.diag) a✝ = id a✝
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) (Fin2.fs a✝) = id (Fin2.fs a✝)
case h.fz
n n✝ : ℕ
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) Fin2.fz = id Fin2.fz

case h.fs
n n✝ : ℕ
a✝ : Fin2 n✝
a_ih✝ : ∀ {α : TypeVec n✝}, (prod.snd ⊚ prod.diag) a✝ = id a✝
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) (Fin2.fs a✝) = id (Fin2.fs a✝)
case fz => rfl
no goals
case h.fs
n n✝ : ℕ
a✝ : Fin2 n✝
a_ih✝ : ∀ {α : TypeVec n✝}, (prod.snd ⊚ prod.diag) a✝ = id a✝
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) (Fin2.fs a✝) = id (Fin2.fs a✝)
case fs _ _ i_ih => apply i_ih
no goals
n n✝ : ℕ
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) Fin2.fz = id Fin2.fz
rfl
no goals
n n✝ : ℕ
a✝ : Fin2 n✝
i_ih : ∀ {α : TypeVec n✝}, (prod.snd ⊚ prod.diag) a✝ = id a✝
α : TypeVec (succ n✝)
⊢ (prod.snd ⊚ prod.diag) (Fin2.fs a✝) = id (Fin2.fs a✝)
apply i_ih