proposition: Lemma forall_chars_drop (str : String) P : forall_chars str P <-> (forall n, forall_chars (drop n str) P).
proof: Proof. split. { intros H n. revert H; rewrite forall_chars__split; intro H; destruct H; eassumption. } { intro H. specialize (H 0). rewrite drop_0 in H; assumption. } Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Fiat.Parsers.StringLike.Core Fiat.Parsers.StringLike.Properties Fiat.Common