evolution

The evolution of a Lean programmer

  1. 1
variable[LE α][DecidableLE α][Std.IsLinearOrder α][BEq α][LawfulBEq α](l:List α)@[grind]def I(n:α)|[]=>[n]|h::t=>ite (nh) (n::h::t) (h::I n t)@[grind]def S:List αList α|[]=>[]|h::t=>I h<|S t@[grind]def D:List αProp|[]|[_]=>True|h::h'::t=>hh'D (h'::t)def A(n):(D lD (I n l))(n::l).Perm (I n l):=by induction l with|nil=>grind|cons _ t=>cases t<;>grind def T:D (S l)l.Perm (S l):=by induction l with|nil=>grind|cons h t=>grind[A (S t) h]