h"a      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None/238:<=y actsType class used for deriving  instances generically.acts6Data type to keep track of a pair of inverse elements.actsA  is a  with inverses: ) inverse g <> g = g <> inverse g = mempty * inverse (g <> h) = inverse h <> inverse gacts"Group inversion anti-homomorphism.acts Take the n-th power of an element.acts8Lifting group operations through an applicative functor.actsOpposite group.actsMultiplicative group (via ).actsAdditive groups (via ).actsTrivial group.7None238<=>? /actsA left torsor consists of a free and  transitive- left action of a group on an inhabited type.,This precisely means that for any two terms x, y, there exists a unique group element g taking x to y, which is denoted  y <-- x  (or  x --> y , but the left-pointing arrow is more natural when working with left actions).That is  y <-- x  is the unique element satisfying: ( y <-- x ) @ x = y!Note the order of composition of <-- and --> with respect to <>: $( z <-- y ) <> ( y <-- x ) = z <-- x $( y --> z ) <> ( x --> y ) = x --> z0acts3Unique group element effecting the given transition1acts3Unique group element effecting the given transition2actsTrivial act of a semigroup on any type (acting by the identity).5actsA left act (or left semigroup action) of a semigroup s on x consists of an operation (@) :: s -> x -> x such that: a @ ( b @ x ) = ( a <> b ) @ xIn case s is also a , we additionally require: mempty @ x = x The synonym  act = (@)  is also provided.6actsLeft action of a semigroup.7actsLeft action of a semigroup.8actsTransport an act: img/transport.svg9actsGiven g \in G  acting on  A , B  a torsor under  H ,a map  p \colon A \to B ,)this function returns the unique element  h \in H & making the following diagram commute: img/intertwiner.svg:acts#Action of a group on endomorphisms.;acts+Action of an opposite group using inverses.<actsActing through a function arrow: both covariant and contravariant actions.=acts8Acting through the contravariant function arrow functor.>actsActing through a functor using fmap.Dacts-Natural left action of a semigroup on itself.Facts8Any group is a torsor under its own natural left action. /1023457689 5768234/10907176575None&'(./238<=>? Yacts=Newtype for cycling through elements in a finite enumeration. data ABCD = A | B | C | D deriving stock ( Enum, Bounded ) deriving ( Act ( Cyclic 4 ), Torsor ( Cyclic 4 ) ) via CyclicEnum ABCD > act ( Cyclic 2 ) C A > act ( Cyclic (-1) ) A D "> ( C --> B :: Cyclic 4 ) Cyclic 3Warning It is unfortunately not checked that the size of the group matches the size of the finite enumeration. Please manually ensure this condition.\acts"Synonym for infinite cyclic group.]acts Synonym for finite cyclic group.^actsCyclic group of order n : integers with addition modulo n._acts.Nontrivial element of cyclic group of order 2.`acts?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`a`bcdefghijklmnopqrstuvwxyz{|}~acts-0.1.0.0-inplace Data.GroupData.ActData.Group.CyclicIsom:|:tofromGroupinversegtimes $fGroup:*: $fGroupU1 $fGroup(,,,,) $fGroup(,,,) $fGroup(,,) $fGroup(,) $fGroupProxy $fGroupAp $fGroupDual$fGroupProduct $fGroupSum $fGroup() $fGroupIsom $fMonoidIsom$fSemigroupIsom $fGGroup:+: $fGGroupV1 $fGGroup:*: $fGGroupK1 $fGGroupU1$fGroupGenerically $fShowIsom $fReadIsom $fDataIsom $fGenericIsom$fGeneric1TYPEIsom $fNFDataIsom $fGGroupM1 $fGGroupRec1 $fGroupPar1 $fGroupK1 $fGroupM1 $fGroupRec1 $fGroupOp $fGroupConst$fGroupIdentity $fGroupDown $fGroupST $fGroupIO $fGroup->Torsor<---->Trivial getTrivialAct•acttransportAction intertwiner $fActgEndo $fActDualx $fAct(,)-> $fActDualOp$fActsAp$fAct(,,,,)(,,,,)$fAct(,,,)(,,,) $fAct(,,)(,,) $fAct(,)(,)$fAct()x$fActss $fActsTrivial $fTorsorgg $fShowTrivial $fReadTrivial $fDataTrivial$fGenericTrivial$fGeneric1TYPETrivial $fEqTrivial $fOrdTrivial $fEnumTrivial$fBoundedTrivial$fNFDataTrivial $fTorsorSuma $fActsConst $fActMina $fActMaxa $fActProducta $fActSuma $fActAllBool $fActAnyBool CyclicEnum getCyclicEnumZCCyclic Involution getCyclic involution rootOfUnity$fActCyclicComplex$fActCyclicProduct$fActCyclicSum$fActCyclicBool$fActCyclicInt$fTorsorCyclicCyclicEnum$fActCyclicCyclicEnum$fShowCyclicEnum$fDataCyclicEnum$fGenericCyclicEnum$fGeneric1TYPECyclicEnum$fEqCyclicEnum$fOrdCyclicEnum$fEnumCyclicEnum$fBoundedCyclicEnum$fNFDataCyclicEnum $fShowCyclic$fGenericCyclic$fGeneric1NatCyclic $fEqCyclic $fOrdCyclic $fEnumCyclic$fBoundedCyclic$fNFDataCyclic $fGroupCyclic$fMonoidCyclic$fSemigroupCyclicGGroupbaseGHC.BaseMonoidGHC.NumNum