(** If the result of [index] is [None], [s1] does not occur in [s2] after [n] *)

(* Specifications: *)
Theorem index_correct3 :
forall (n m : nat) (s1 s2 : string),
index n s1 s2 = None ->
s1 <> EmptyString -> n <= m -> substring m (length s1) s2 <> s1.