intros.
case (decide_fin j i); auto.
intro.
case H2; auto.
generalize H0.
elim P.
simpl in |- *.
unfold pred_compatible in |- *.
intros.
apply Pred_compatible_prf with (v i); auto with algebra.
Qed.

(* Specifications: *)
Lemma predicate_split_seq_before_notbefore :
forall (A : Setoid) (n : nat) (v : seq n A) (i : fin n) (P : Predicate A),
(forall j : fin n, before j i -> Pred_fun P (v j)) ->
(forall j : fin n, notbefore j i -> Pred_fun P (v j)) ->
forall j : fin n, Pred_fun P (v j).