group-theory-0.1.0.0: The theory of groups
Copyright(c) 2020 Emily Pillmore
LicenseBSD-style
MaintainerEmily Pillmore <emilypi@cohomolo.gy>, Reed Mullanix <reedmullanix@gmail.com>
Safe HaskellSafe
LanguageHaskell2010

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
FiniteGroup Ordering Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup () Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup All Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup Any Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup a => FiniteGroup (Identity a) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup a => FiniteGroup (Dual a) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Int) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Int8) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Int16) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Int32) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Int64) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Word) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Word8) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Word16) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Word32) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup (Sum Word64) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup a => FiniteGroup (Down a) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteGroup a, FiniteGroup b) => FiniteGroup (a, b) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup a => FiniteGroup (Proxy a) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteGroup a, FiniteGroup b, FiniteGroup c) => FiniteGroup (a, b, c) Source # 
Instance details

Defined in Data.Group.Finite

FiniteGroup a => FiniteGroup (Const a b) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteGroup a, FiniteGroup b, FiniteGroup c, FiniteGroup d) => FiniteGroup (a, b, c, d) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteGroup a, FiniteGroup b, FiniteGroup c, FiniteGroup d, FiniteGroup e) => FiniteGroup (a, b, c, d, e) Source # 
Instance details

Defined 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
FiniteAbelianGroup Ordering Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup () Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup a => FiniteAbelianGroup (Identity a) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup a => FiniteAbelianGroup (Dual a) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Int) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Int8) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Int16) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Int32) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Int64) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Word) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Word8) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Word16) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Word32) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup (Sum Word64) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup a => FiniteAbelianGroup (Down a) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteAbelianGroup a, FiniteAbelianGroup b) => FiniteAbelianGroup (a, b) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup a => FiniteAbelianGroup (Proxy a) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteAbelianGroup a, FiniteAbelianGroup b, FiniteAbelianGroup c) => FiniteAbelianGroup (a, b, c) Source # 
Instance details

Defined in Data.Group.Finite

FiniteAbelianGroup a => FiniteAbelianGroup (Const a b) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteAbelianGroup a, FiniteAbelianGroup b, FiniteAbelianGroup c, FiniteAbelianGroup d) => FiniteAbelianGroup (a, b, c, d) Source # 
Instance details

Defined in Data.Group.Finite

(FiniteAbelianGroup a, FiniteAbelianGroup b, FiniteAbelianGroup c, FiniteAbelianGroup d, FiniteAbelianGroup e) => FiniteAbelianGroup (a, b, c, d, e) Source # 
Instance details

Defined in Data.Group.Finite