proposition: Lemma sublists_proper {A} (l : list A) : sublists l = [] :: filter nonempty (sublists l).
proof: Proof. induction l as [| a l IHl]. reflexivity. simpl. rewrite IHl at 1. simpl. rewrite filter_app. rewrite filter_map_always; reflexivity. Qed.
imports: Lists.List ZArith Setoid Coq.Classes.Morphisms Lia