(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(****************************************************************************)
(*                                                                          *)
(*                           Group Theory in Coq                            *)
(*                                                                          *)
(*                                                                          *)
(*                                Coq V5.10                                 *)
(*									    *)
(*			         Gilles Kahn 				    *)
(*									    *)
(*                                  INRIA                                   *)
(*                             Sophia-Antipolis                             *)
(*									    *)
(*				 January 1996				    *)
(*                                                                          *)
(****************************************************************************)
Require Export gr.
Require Export g1.
Section Cinq.
Variable H : Ensemble U.
Variable H_inhabited : Inhabited U H.
Variable H_included_in_G : Included U H G.
Variable stability : endo_operation U H star.
Variable H_Finite : Finite U H.
Let h : forall x y : U, In U H x -> In U H y -> In U H (star x y).
Hint Resolve h.
Definition phi (a : U) (n : nat) : U := exp (pos n) a.

(* Specifications: *)
Lemma phi_unfold :
forall (a : U) (n : nat), In U G a -> phi a (S n) = star a (phi a n).
Lemma positive_powers :
forall (a : U) (n : nat), In U H a -> In U H (phi a n).
Lemma tech_exp :
forall (a : U) (n : nat), In U G a -> star (phi a n) a = phi a (S n).
Lemma tech_exp' : forall n : nat, phi e n = e.
Lemma phi_exp :
forall (a : U) (n m : nat),
In U G a -> star (phi a n) (phi a m) = phi a (S (n + m)).
Lemma powers_repeat :
forall (a : U) (n m : nat),
In U G a -> phi a n = phi a (S (S (n + m))) -> phi a m = inv a.