group-theory-0.1.0.0: The theory of groups
Copyright (c) 2020 Emily Pillmore BSD-style Emily Pillmore , Reed Mullanix Safe Haskell2010

Data.Group.Finite

Description

Synopsis

# 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

Instances details
 Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite FiniteGroup a => FiniteGroup (Dual a) Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite FiniteGroup a => FiniteGroup (Down a) Source # Instance detailsDefined in Data.Group.Finite (FiniteGroup a, FiniteGroup b) => FiniteGroup (a, b) Source # Instance detailsDefined in Data.Group.Finite FiniteGroup a => FiniteGroup (Proxy a) Source # Instance detailsDefined in Data.Group.Finite (FiniteGroup a, FiniteGroup b, FiniteGroup c) => FiniteGroup (a, b, c) Source # Instance detailsDefined in Data.Group.Finite FiniteGroup a => FiniteGroup (Const a b) Source # Instance detailsDefined in Data.Group.Finite (FiniteGroup a, FiniteGroup b, FiniteGroup c, FiniteGroup d) => FiniteGroup (a, b, c, d) Source # Instance detailsDefined in Data.Group.Finite (FiniteGroup a, FiniteGroup b, FiniteGroup c, FiniteGroup d, FiniteGroup e) => FiniteGroup (a, b, c, d, e) Source # Instance detailsDefined in Data.Group.Finite

## Finite group combinators

safeOrder :: (Eq g, FiniteGroup g) => g -> Order Source #

A safe version of order for FiniteGroups.

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 FiniteGroups

#### Instances

Instances details
 Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite (FiniteAbelianGroup a, FiniteAbelianGroup b) => FiniteAbelianGroup (a, b) Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite (FiniteAbelianGroup a, FiniteAbelianGroup b, FiniteAbelianGroup c) => FiniteAbelianGroup (a, b, c) Source # Instance detailsDefined in Data.Group.Finite Source # Instance detailsDefined in Data.Group.Finite (FiniteAbelianGroup a, FiniteAbelianGroup b, FiniteAbelianGroup c, FiniteAbelianGroup d) => FiniteAbelianGroup (a, b, c, d) Source # Instance detailsDefined in Data.Group.Finite (FiniteAbelianGroup a, FiniteAbelianGroup b, FiniteAbelianGroup c, FiniteAbelianGroup d, FiniteAbelianGroup e) => FiniteAbelianGroup (a, b, c, d, e) Source # Instance detailsDefined in Data.Group.Finite