intros.
case inj_subspace.
intros.
simpl in |- *.
apply module_hom_prf.
Qed.
End Subspace_def.
Section subspace_awkward_utils.
(** - Officially, "a subspace is a subset that is itself a vectorspace..." We cannot have both W:(part_set V) and W:(subspace V). Therefore we need to define subspace-ness on the predicate-level as well. *)
(** %\tocdef{is\_subspace}% *)
Definition is_subspace (W : part_set V) : Prop :=
in_part (zero V) W /\
(forall x y : V, in_part x W -> in_part y W -> in_part (x +' y) W) /\
(forall (c : F) (x : V), in_part x W -> in_part (c mX x) W).

Lemma is_subspace_comp :
forall S S' : part_set V, S =' S' in _ -> is_subspace S -> is_subspace S'.