induction n.
intros.
apply Trans with ((zero G) +' sum b); auto with algebra.
intros.
apply Trans with (sum (hdtl a) +' sum b); auto with algebra.
apply Trans with (sum (hdtl a ++ b)); auto with algebra.
apply Trans with (sum (head a;; Seqtl a ++ b)).
unfold hdtl in |- *.
apply sum_comp; auto with algebra.
unfold hdtl in |- *.
apply Trans with (head a +' sum (Seqtl a ++ b)); auto with algebra.
apply Trans with (head a +' sum (Seqtl a) +' sum b); auto with algebra.
apply Trans with (head a +' (sum (Seqtl a) +' sum b)); auto with algebra.
Qed.
Hint Resolve sum_concat: algebra.

(* Specifications: *)
Lemma subtype_sum :
forall (n : nat) (A : monoid) (B : submonoid A) (c : seq n B),
subtype_elt (sum c) =' sum (Map_embed c) in _.