proposition: Lemma for_last_char__split (str : String) P n : for_last_char str P <-> ((n < length str /\ for_last_char (drop n str) P) \/ (n >= length str /\ for_last_char (take n str) P)).
proof: Proof. destruct (le_lt_dec (length str) n); [ rewrite take_long by assumption | rewrite <- for_last_char__drop by assumption ]; intuition. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Fiat.Parsers.StringLike.Core Fiat.Parsers.StringLike.Properties Fiat.Parsers.StringLike.ForallChars Fiat.Common