Copyright | (c) 2020-2021 Emily Pillmore |
---|---|
License | BSD-style |
Maintainer | Emily Pillmore <emilypi@cohomolo.gy>, Reed Mullanix <reedmullanix@gmail.com> |
Stability | stable |
Portability | non-portable |
Safe Haskell | Safe |
Language | Haskell2010 |
This module contains definitions for Cyclic
groups,
along with the relevant combinators.
Cyclic groups
Cyclic
is a Group
that is generated by a single element.
This element is called a generator of the group. There can be many
generators for a group, e.g., any representative of an equivalence
class of prime numbers of the integers modulo n
, but to make things
easy, we ask for only one generator.
class Group a => Cyclic a where #
A Group
G is Cyclic
if there exists an element x of G such that for all y in G, there exists an n, such that
y = pow x n
Instances
Cyclic () | |
Defined in Data.Group | |
Cyclic a => Cyclic (Identity a) | |
Defined in Data.Group | |
Integral a => Cyclic (Sum a) | |
Defined in Data.Group | |
Cyclic a => Cyclic (Down a) | |
Defined in Data.Group | |
Cyclic (Proxy x) | |
Defined in Data.Group | |
Cyclic a => Cyclic (Const a x) | |
Defined in Data.Group |