Copyright | (c) 2020 Emily Pillmore |
---|---|
License | BSD-style |
Maintainer | Emily Pillmore <emilypi@cohomolo.gy>, Reed Mullanix <reedmullanix@gmail.com> |
Safe Haskell | Safe |
Language | Haskell2010 |
Synopsis
- class (Group g, Bounded g) => FiniteGroup g
- safeOrder :: (Eq g, FiniteGroup g) => g -> Order
- class FiniteGroup g => FiniteAbelianGroup g
Finite groups
class (Group g, Bounded g) => FiniteGroup g Source #
A FiniteGroup
is a Group
whose underlying set is finite.
This is equivalently a group object in \( FinSet \).
Finite groups often arise when considering symmetry of mathematical or physical objects, when those objects admit just a finite number of structure-preserving transformations. Important examples of finite groups include cyclic groups and permutation groups.
Instances
Finite group combinators
safeOrder :: (Eq g, FiniteGroup g) => g -> Order Source #
A safe version of order
for FiniteGroup
s.
This is gauranteed to terminate with either Infinite
or Finite
.
Examples:
>>>
order @(Sum Word8) 3
Finite 255
>>>
order (Any False)
Finite 1
>>>
order (All False)
Infinite
Finite abelian groups
class FiniteGroup g => FiniteAbelianGroup g Source #
Commutative FiniteGroup
s