import data.nat open nat inductive list (T : Type) : Type := | nil {} : list T | cons : T → list T → list T definition length {T : Type} : list T → nat := list.rec 0 (fun x l m, succ m) theorem length_nil {T : Type} : length (@list.nil T) = 0 := eq.refl _