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.
intuition.
destruct (modNat_correct x order).
destruct (modNat_correct y order).
rewrite H1.
rewrite H2.
rewrite H0.
repeat rewrite groupExp_eq_h; eauto using modNat_lt.
Qed.

Theorem commutativity : forall x y,
x * y = y * x.