Section FiniteCyclicGroupProperties.
Context`{FCG : FiniteCyclicGroup}.
induction c1; intuition; simpl in *.
rewrite <- plus_assoc.
rewrite (groupExp_plus order).
rewrite groupOrder; trivial.
rewrite groupIdent; trivial.
rewrite left_identity.
rewrite IHc1;
trivial.
Qed.

Theorem groupExp_eq_if : forall g x y,
generator g ->
modNat x order = modNat y order ->
g^x = g^y.