{-# LANGUAGE GeneralizedNewtypeDeriving #-} module GroupPresentation.Generator ( Generator, generator, numGenerator, GWord, ) where newtype Generator = G { Generator -> Int numGenerator :: Int } deriving (Generator -> Generator -> Bool (Generator -> Generator -> Bool) -> (Generator -> Generator -> Bool) -> Eq Generator forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Generator -> Generator -> Bool $c/= :: Generator -> Generator -> Bool == :: Generator -> Generator -> Bool $c== :: Generator -> Generator -> Bool Eq, Eq Generator Eq Generator -> (Generator -> Generator -> Ordering) -> (Generator -> Generator -> Bool) -> (Generator -> Generator -> Bool) -> (Generator -> Generator -> Bool) -> (Generator -> Generator -> Bool) -> (Generator -> Generator -> Generator) -> (Generator -> Generator -> Generator) -> Ord Generator Generator -> Generator -> Bool Generator -> Generator -> Ordering Generator -> Generator -> Generator forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: Generator -> Generator -> Generator $cmin :: Generator -> Generator -> Generator max :: Generator -> Generator -> Generator $cmax :: Generator -> Generator -> Generator >= :: Generator -> Generator -> Bool $c>= :: Generator -> Generator -> Bool > :: Generator -> Generator -> Bool $c> :: Generator -> Generator -> Bool <= :: Generator -> Generator -> Bool $c<= :: Generator -> Generator -> Bool < :: Generator -> Generator -> Bool $c< :: Generator -> Generator -> Bool compare :: Generator -> Generator -> Ordering $ccompare :: Generator -> Generator -> Ordering $cp1Ord :: Eq Generator Ord, Int -> Generator Generator -> Int Generator -> [Generator] Generator -> Generator Generator -> Generator -> [Generator] Generator -> Generator -> Generator -> [Generator] (Generator -> Generator) -> (Generator -> Generator) -> (Int -> Generator) -> (Generator -> Int) -> (Generator -> [Generator]) -> (Generator -> Generator -> [Generator]) -> (Generator -> Generator -> [Generator]) -> (Generator -> Generator -> Generator -> [Generator]) -> Enum Generator forall a. (a -> a) -> (a -> a) -> (Int -> a) -> (a -> Int) -> (a -> [a]) -> (a -> a -> [a]) -> (a -> a -> [a]) -> (a -> a -> a -> [a]) -> Enum a enumFromThenTo :: Generator -> Generator -> Generator -> [Generator] $cenumFromThenTo :: Generator -> Generator -> Generator -> [Generator] enumFromTo :: Generator -> Generator -> [Generator] $cenumFromTo :: Generator -> Generator -> [Generator] enumFromThen :: Generator -> Generator -> [Generator] $cenumFromThen :: Generator -> Generator -> [Generator] enumFrom :: Generator -> [Generator] $cenumFrom :: Generator -> [Generator] fromEnum :: Generator -> Int $cfromEnum :: Generator -> Int toEnum :: Int -> Generator $ctoEnum :: Int -> Generator pred :: Generator -> Generator $cpred :: Generator -> Generator succ :: Generator -> Generator $csucc :: Generator -> Generator Enum) instance Bounded Generator where minBound :: Generator minBound = Int -> Generator G Int 0 maxBound :: Generator maxBound = Int -> Generator G Int forall a. Bounded a => a maxBound generator :: Int -> Generator generator :: Int -> Generator generator = Int -> Generator G type GWord = [Generator]