destruct P.
intros.
red in Pred_compatible_prf.
simpl in |- *.
simpl in H0.
apply Pred_compatible_prf with v; auto with algebra.
Qed.
Hint Resolve cast_seq_nice: algebra.

(* Specifications: *)
Lemma cast_subset_seq_nice :
forall (A D : Setoid) (B C : part_set A) (v : MAP D B)
(H : forall i : D, in_part (Map_embed v i) C) (P : Predicate (MAP D A)),
Pred_fun P (Map_embed v) -> Pred_fun P (Map_embed (cast_map_to_subset H)).