Definition Z_to_group_nat : Hom (ZZ:GROUP) G.Fixpoint pos_to_group (p : positive) : G :=
  match p with
  | xH => r
  | xO p' => group_square G (pos_to_group p')
  | xI p' => sgroup_law G (group_square G (pos_to_group p')) r
  end.

(* Specifications: *)
Lemma pos_nat_group : forall p : positive, Equal (pos_to_group p) (nat_to_group r (nat_of_P p)).