import data.examples.vector
open nat vector

set_option pp.implicit true
set_option pp.notation false

definition diag {A : Type*} : Π {n}, vector (vector A n) n → vector A n,
diag nil               := nil,
diag ((a :: va) :: vs) := a :: diag (map tail vs)
