intros.
case (decide_before j i); auto.
Qed.

(* Specifications: *)
Lemma predicate_split_seq_after_notafter :
forall (A : Setoid) (n : nat) (v : seq n A) (i : fin n) (P : Predicate A),
(forall j : fin n, after j i -> Pred_fun P (v j)) ->
(forall j : fin n, notafter j i -> Pred_fun P (v j)) ->
forall j : fin n, Pred_fun P (v j).
Lemma seq_properties_split_after_notafter :
forall (A : Setoid) (n : nat) (v : seq n A) (i : fin n) (P : A -> Prop),
(forall j : fin n, after j i -> P (v j)) ->
(forall j : fin n, notafter j i -> P (v j)) -> forall j : fin n, P (v j).