Fact memv_submod_closed U : submod_closed U.
Canonical memv_opprPred U := OpprPred (memv_submod_closed U).
Canonical memv_addrPred U := AddrPred (memv_submod_closed U).
Canonical memv_zmodPred U := ZmodPred (memv_submod_closed U).
Canonical memv_submodPred U := SubmodPred (memv_submod_closed U).

(* Specifications: *)
Lemma mem0v U : 0 \in U. Proof. exact : rpred0. Qed.
Lemma memvN U v : (- v \in U) = (v \in U). Proof. exact: rpredN. Qed.
Lemma memvD U : {in U &, forall u v, u + v \in U}. Proof. exact : rpredD. Qed.
Lemma memvB U : {in U &, forall u v, u - v \in U}. Proof. exact : rpredB. Qed.
Lemma memvZ U k : {in U, forall v, k *: v \in U}. Proof. exact : rpredZ. Qed.
Lemma memv_suml I r (P : pred I) vs U :
(forall i, P i -> vs i \in U) -> \sum_(i <- r | P i) vs i \in U.
Lemma subvv U : (U <= U)%VS. Proof. exact/subvP. Qed.
Hint Resolve subvv : core.
Lemma subv_trans : transitive subV.
Lemma subvPn {U V} : reflect (exists2 u, u \in U & u \notin V) (~~ (U <= V)%VS).
(* Empty space. *)
Lemma sub0v U : (0 <= U)%VS.
Section BigSum.