fact: Fixpoint mkList (base l: (list A)) { struct l} : (list A) := match l with nil => nil | cons a l1 => let r1 := mkList base l1 in if (In_dec A_dec a r1) then r1 else (map (op a) base) ++ r1 end.
imports: List UList ListAux ZArith Znumtheory NatAux FGroup