SAT-Pol-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Haskell4Maths

Documentation

data F2 :: * #

Instances

Eq F2 

Methods

(==) :: F2 -> F2 -> Bool #

(/=) :: F2 -> F2 -> Bool #

Fractional F2 

Methods

(/) :: F2 -> F2 -> F2 #

recip :: F2 -> F2 #

fromRational :: Rational -> F2 #

Num F2 

Methods

(+) :: F2 -> F2 -> F2 #

(-) :: F2 -> F2 -> F2 #

(*) :: F2 -> F2 -> F2 #

negate :: F2 -> F2 #

abs :: F2 -> F2 #

signum :: F2 -> F2 #

fromInteger :: Integer -> F2 #

Ord F2 

Methods

compare :: F2 -> F2 -> Ordering #

(<) :: F2 -> F2 -> Bool #

(<=) :: F2 -> F2 -> Bool #

(>) :: F2 -> F2 -> Bool #

(>=) :: F2 -> F2 -> Bool #

max :: F2 -> F2 -> F2 #

min :: F2 -> F2 -> F2 #

Show F2 

Methods

showsPrec :: Int -> F2 -> ShowS #

show :: F2 -> String #

showList :: [F2] -> ShowS #

FinSet F2 

Methods

elts :: [F2]

data MonImpl v :: * -> * #

Constructors

M Int [(v, Int)] 

Instances

Functor MonImpl 

Methods

fmap :: (a -> b) -> MonImpl a -> MonImpl b #

(<$) :: a -> MonImpl b -> MonImpl a #

MonomialConstructor MonImpl 

Methods

mvar :: v -> MonImpl v

mindices :: MonImpl v -> [(v, Int)] #

Eq v => Eq (MonImpl v) 

Methods

(==) :: MonImpl v -> MonImpl v -> Bool #

(/=) :: MonImpl v -> MonImpl v -> Bool #

Show v => Show (MonImpl v) 

Methods

showsPrec :: Int -> MonImpl v -> ShowS #

show :: MonImpl v -> String #

showList :: [MonImpl v] -> ShowS #

Ord v => Mon (MonImpl v) 

Methods

munit :: MonImpl v

mmult :: MonImpl v -> MonImpl v -> MonImpl v

(Ord v, Show v) => Monomial (MonImpl v) 

Methods

mdivides :: MonImpl v -> MonImpl v -> Bool

mdiv :: MonImpl v -> MonImpl v -> MonImpl v

mgcd :: MonImpl v -> MonImpl v -> MonImpl v

mlcm :: MonImpl v -> MonImpl v -> MonImpl v

mcoprime :: MonImpl v -> MonImpl v -> Bool

mdeg :: MonImpl v -> Int

newtype Vect k b :: * -> * -> * #

Constructors

V [(b, k)] 

Instances

Num k => Monad (Vect k) 

Methods

(>>=) :: Vect k a -> (a -> Vect k b) -> Vect k b #

(>>) :: Vect k a -> Vect k b -> Vect k b #

return :: a -> Vect k a #

fail :: String -> Vect k a #

Functor (Vect k) 

Methods

fmap :: (a -> b) -> Vect k a -> Vect k b #

(<$) :: a -> Vect k b -> Vect k a #

Num k => Applicative (Vect k) 

Methods

pure :: a -> Vect k a #

(<*>) :: Vect k (a -> b) -> Vect k a -> Vect k b #

liftA2 :: (a -> b -> c) -> Vect k a -> Vect k b -> Vect k c #

(*>) :: Vect k a -> Vect k b -> Vect k b #

(<*) :: Vect k a -> Vect k b -> Vect k a #

(Eq k, Eq b) => Eq (Vect k b) 

Methods

(==) :: Vect k b -> Vect k b -> Bool #

(/=) :: Vect k b -> Vect k b -> Bool #

(Ord k, Ord b) => Ord (Vect k b) 

Methods

compare :: Vect k b -> Vect k b -> Ordering #

(<) :: Vect k b -> Vect k b -> Bool #

(<=) :: Vect k b -> Vect k b -> Bool #

(>) :: Vect k b -> Vect k b -> Bool #

(>=) :: Vect k b -> Vect k b -> Bool #

max :: Vect k b -> Vect k b -> Vect k b #

min :: Vect k b -> Vect k b -> Vect k b #

(Show k, Eq k, Num k, Show b) => Show (Vect k b) 

Methods

showsPrec :: Int -> Vect k b -> ShowS #

show :: Vect k b -> String #

showList :: [Vect k b] -> ShowS #

linear :: (Eq k, Num k, Ord b) => (a -> Vect k b) -> Vect k a -> Vect k b #

zerov :: Vect k b #

newtype Lex v :: * -> * #

Constructors

Lex (MonImpl v) 

Instances

Functor Lex 

Methods

fmap :: (a -> b) -> Lex a -> Lex b #

(<$) :: a -> Lex b -> Lex a #

MonomialConstructor Lex 

Methods

mvar :: v -> Lex v

mindices :: Lex v -> [(v, Int)] #

(Eq k, Num k, Ord v, Show v) => Algebra k (Lex v) 

Methods

unit :: k -> Vect k (Lex v)

mult :: Vect k (Tensor (Lex v) (Lex v)) -> Vect k (Lex v)

Eq v => Eq (Lex v) 

Methods

(==) :: Lex v -> Lex v -> Bool #

(/=) :: Lex v -> Lex v -> Bool #

Ord v => Ord (Lex v) 

Methods

compare :: Lex v -> Lex v -> Ordering #

(<) :: Lex v -> Lex v -> Bool #

(<=) :: Lex v -> Lex v -> Bool #

(>) :: Lex v -> Lex v -> Bool #

(>=) :: Lex v -> Lex v -> Bool #

max :: Lex v -> Lex v -> Lex v #

min :: Lex v -> Lex v -> Lex v #

Show v => Show (Lex v) 

Methods

showsPrec :: Int -> Lex v -> ShowS #

show :: Lex v -> String #

showList :: [Lex v] -> ShowS #

Ord v => Mon (Lex v) 

Methods

munit :: Lex v

mmult :: Lex v -> Lex v -> Lex v

(Show v, Ord v) => Monomial (Lex v) 

Methods

mdivides :: Lex v -> Lex v -> Bool

mdiv :: Lex v -> Lex v -> Lex v

mgcd :: Lex v -> Lex v -> Lex v

mlcm :: Lex v -> Lex v -> Lex v

mcoprime :: Lex v -> Lex v -> Bool

mdeg :: Lex v -> Int

data Glex v :: * -> * #

Instances

Functor Glex 

Methods

fmap :: (a -> b) -> Glex a -> Glex b #

(<$) :: a -> Glex b -> Glex a #

MonomialConstructor Glex 

Methods

mvar :: v -> Glex v

mindices :: Glex v -> [(v, Int)] #

(Eq k, Num k, Ord v, Show v) => Algebra k (Glex v) 

Methods

unit :: k -> Vect k (Glex v)

mult :: Vect k (Tensor (Glex v) (Glex v)) -> Vect k (Glex v)

Eq v => Eq (Glex v) 

Methods

(==) :: Glex v -> Glex v -> Bool #

(/=) :: Glex v -> Glex v -> Bool #

Ord v => Ord (Glex v) 

Methods

compare :: Glex v -> Glex v -> Ordering #

(<) :: Glex v -> Glex v -> Bool #

(<=) :: Glex v -> Glex v -> Bool #

(>) :: Glex v -> Glex v -> Bool #

(>=) :: Glex v -> Glex v -> Bool #

max :: Glex v -> Glex v -> Glex v #

min :: Glex v -> Glex v -> Glex v #

Show v => Show (Glex v) 

Methods

showsPrec :: Int -> Glex v -> ShowS #

show :: Glex v -> String #

showList :: [Glex v] -> ShowS #

Ord v => Mon (Glex v) 

Methods

munit :: Glex v

mmult :: Glex v -> Glex v -> Glex v

(Show v, Ord v) => Monomial (Glex v) 

Methods

mdivides :: Glex v -> Glex v -> Bool

mdiv :: Glex v -> Glex v -> Glex v

mgcd :: Glex v -> Glex v -> Glex v

mlcm :: Glex v -> Glex v -> Glex v

mcoprime :: Glex v -> Glex v -> Bool

mdeg :: Glex v -> Int

data Grevlex v :: * -> * #

Instances

Functor Grevlex 

Methods

fmap :: (a -> b) -> Grevlex a -> Grevlex b #

(<$) :: a -> Grevlex b -> Grevlex a #

MonomialConstructor Grevlex 

Methods

mvar :: v -> Grevlex v

mindices :: Grevlex v -> [(v, Int)] #

(Eq k, Num k, Ord v, Show v) => Algebra k (Grevlex v) 

Methods

unit :: k -> Vect k (Grevlex v)

mult :: Vect k (Tensor (Grevlex v) (Grevlex v)) -> Vect k (Grevlex v)

Eq v => Eq (Grevlex v) 

Methods

(==) :: Grevlex v -> Grevlex v -> Bool #

(/=) :: Grevlex v -> Grevlex v -> Bool #

Ord v => Ord (Grevlex v) 

Methods

compare :: Grevlex v -> Grevlex v -> Ordering #

(<) :: Grevlex v -> Grevlex v -> Bool #

(<=) :: Grevlex v -> Grevlex v -> Bool #

(>) :: Grevlex v -> Grevlex v -> Bool #

(>=) :: Grevlex v -> Grevlex v -> Bool #

max :: Grevlex v -> Grevlex v -> Grevlex v #

min :: Grevlex v -> Grevlex v -> Grevlex v #

Show v => Show (Grevlex v) 

Methods

showsPrec :: Int -> Grevlex v -> ShowS #

show :: Grevlex v -> String #

showList :: [Grevlex v] -> ShowS #

Ord v => Mon (Grevlex v) 

Methods

munit :: Grevlex v

mmult :: Grevlex v -> Grevlex v -> Grevlex v

(Show v, Ord v) => Monomial (Grevlex v) 

Methods

mdivides :: Grevlex v -> Grevlex v -> Bool

mdiv :: Grevlex v -> Grevlex v -> Grevlex v

mgcd :: Grevlex v -> Grevlex v -> Grevlex v

mlcm :: Grevlex v -> Grevlex v -> Grevlex v

mcoprime :: Grevlex v -> Grevlex v -> Bool

mdeg :: Grevlex v -> Int

var :: (Num k, MonomialConstructor m) => v -> Vect k (m v) #

mindices :: MonomialConstructor m => forall v. m v -> [(v, Int)] #

lm :: Vect b c -> c #

lt :: Vect k b -> (b, k) #

eval :: (Eq k, Num k, MonomialConstructor m, Eq (m v), Show v) => Vect k (m v) -> [(Vect k (m v), k)] -> k #

(%%) :: (Eq k, Fractional k, Monomial m, Ord m, Algebra k m) => Vect k m -> [Vect k m] -> Vect k m #

vars :: (Num k, Ord k, MonomialConstructor m, Ord (m v)) => Vect k (m v) -> [Vect k (m v)] #