proposition: Lemma drop_all_iff {A n} {ls : list A} : (List.length ls <= n) <-> drop n ls = nil.
proof: Proof. split; [ apply drop_all | ]. revert n; induction ls; [ simpl; intros; omega | ]. intros [|n]; simpl. { intro; discriminate. } { intro; auto with arith. } Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Coq.Lists.List Coq.Lists.SetoidList Coq.Bool.Bool Fiat.Common Fiat.Common.List.Operations Fiat.Common.Equality Fiat.Common.List.FlattenList Fiat.Common.LogicFacts