úÎ#@Q:}e      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdNone.1279;<HMUVXkk eactsType class used for deriving  instances generically.acts6Data type to keep track of a pair of inverse elements.actsA  is a f 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.actsXThe inverse anti-automorphism of a group lifts to a isomorphism with the opposite group.actsReflexive property g8 (should be included in base, maybe under another name).acts8Lifting group operations through an applicative functor.actsOpposite group.actsMultiplicative group (via h).actsAdditive groups (via h).actsTrivial group.  7None127;<=>?@AHMVXk9½1actsA 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 N, 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 --> z2acts3Unique group element effecting the given transition3acts3Unique group element effecting the given transition4acts-Newtype for the action on a type through its i instance. µdata ABCD = A | B | C | D deriving stock ( Eq, Generic ) deriving anyclass Finitary deriving ( Act ( Sum ( Finite 4 ) ), Torsor ( Sum ( Finite 4 ) ) ) via Finitely ABCDESizes are checked statically. For instance if we had instead written: Z deriving ( Act ( Sum ( Finite 3 ) ), Torsor ( Sum ( Finite 3 ) ) ) via Finitely ABCD(we would have gotten the error messages: j* No instance for (Act (Sum (Finite 3)) (Finite 4)) * No instance for (Torsor (Sum (Finite 3)) (Finite 4))7acts@Trivial act of a semigroup on any type (acting by the identity).:actsA 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 f, we additionally require: mempty " x = x The synonym  act = ( ")  is also provided.;actsLeft action of a semigroup.<actsLeft action of a semigroup.=actsTransport an act: img/transport.svg>actsGiven 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.@actsJActing through a function arrow: both covariant and contravariant actions.wIf acting by a group, use `anti :: Group g => g -> Dual g` to act by the original group instead of the opposite group.AactsFActing through the contravariant function arrow functor: right action.wIf acting by a group, use `anti :: Group g => g -> Dual g` to act by the original group instead of the opposite group.BactsActing through a functor using fmap.Jacts-Natural left action of a semigroup on itself.LactsAct on a type through its i instance.Nacts8Any group is a torsor under its own natural left action.OactsTorsor for a type using its i instance.132456789:<;=>:<;=789132>4562737;5<5j      !"#$%&'()*+,-./012345677899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghigjkglmnopqacts-0.2.0.0-inplace Data.GroupData.ActIsom:|:tofromGroupinversegtimesanti reflexive $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$fGeneric1Isom $fNFDataIsom $fGGroupM1 $fGGroupRec1 $fGroupPar1 $fGroupK1 $fGroupM1 $fGroupRec1 $fGroupOp $fGroupConst$fGroupIdentity $fGroupDown $fGroupST $fGroupIO $fGroup->Torsor<---->Finitely getFinitelyTrivial getTrivialAct•acttransportAction intertwiner $fActgEndo $fAct(,)-> $fActDualOp$fActsAp$fAct(,,,,)(,,,,)$fAct(,,,)(,,,) $fAct(,,)(,,) $fAct(,)(,)$fAct()x $fActProducta $fActSuma$fActss $fActsTrivial$fActsFinitely $fTorsorSuma $fTorsorgg$fTorsorgFinitely $fShowTrivial $fReadTrivial $fDataTrivial$fGenericTrivial$fGeneric1Trivial $fEqTrivial $fOrdTrivial $fEnumTrivial$fBoundedTrivial$fNFDataTrivial$fShowFinitely$fReadFinitely$fDataFinitely$fGenericFinitely$fGeneric1Finitely $fEqFinitely $fOrdFinitely$fNFDataFinitely $fActConst $fActBool $fActBool0GGroupbaseGHC.BaseMonoidData.Semigroup.InternalDualGHC.NumNumfinitary-1.2.0.0-inplace Data.FinitaryFinitary