intros n G A AH AH' AH'' c V Va Vb Vc V' V'a i_ i_H g H
i i' iH i'H.
apply Vc with (g:=g). apply seqtlobv with (AH:=AH). exact H.
elim(classic(i_=' i)). intro iH'.
assert(G1:in_part g(minus_part(V i_)(subtype_elt(head AH)))).
apply in_part_comp_r with (modify_seq V i_(minus_part(V i_)
(subtype_elt(head AH)))i). exact iH.
apply Trans with (modify_seq V i_(minus_part(V i_)
(subtype_elt(head AH)))i_). apply Map_compatible_prf.
apply Sym. exact iH'. apply modify_seq_defprop.
simpl in G1. elim G1. intros iH'a iH'b.
apply in_part_comp_r with (V i_). exact iH'a.
apply Map_compatible_prf. exact iH'.
intro iH'.
apply in_part_comp_r with(modify_seq V i_(minus_part(V i_)
(subtype_elt(head AH)))i). exact iH.
apply modify_seq_modifies_one_elt. unfold not. intro iH''.
apply iH'. apply Sym. exact iH''.
rename i' into j. rename i'H into jH.
elim(classic(i_=' j)). intro jH2.
assert(G3:in_part g(minus_part(V i_)(subtype_elt(head AH)))).
apply in_part_comp_r with (modify_seq V i_(minus_part(V i_)
(subtype_elt(head AH)))j). exact jH.
apply Trans with (modify_seq V i_(minus_part(V i_)
(subtype_elt(head AH)))i_). apply Map_compatible_prf.
apply Sym. exact jH2. apply modify_seq_defprop.
simpl in G3. elim G3. intros jHa jHb.
apply in_part_comp_r with (V i_). exact jHa.
apply Map_compatible_prf. exact jH2.
intro jHH.
apply in_part_comp_r with(modify_seq V i_(minus_part(V i_)
(subtype_elt(head AH)))j). exact jH.
apply modify_seq_modifies_one_elt. unfold not. intro jHHH.
apply jHH. apply Sym. exact jHHH. Qed.

(* Specifications: *)
Lemma Q8:forall(G:Setoid)(a:G)(A:part_set G)(n:Nat)
(FINA:has_n_elements n A)(H:in_part a A),n>0.