tct-2.0.1: A Complexity Analyser for Term Rewrite Systems

Portabilityunportable
Stabilityunstable
MaintainerAndreas Schnabl <andreas.schnabl@uibk.ac.at>
Safe HaskellSafe-Infered

Tct.Encoding.Polynomial

Description

 

Documentation

newtype Polynomial a b

Constructors

Poly [Monomial a b] 

Instances

Typeable2 Polynomial 
Functor (Polynomial Variable) 
(Eq a, Num a, PrettyPrintable a) => PrettyPrintable (VPolynomial a) 
(Eq a, Semiring a) => Interpretation (PolyInter a) (Polynomial Variable a) 
(Eq a, Eq b) => Eq (Polynomial a b) 
(Ord a, Ord b) => Ord (Polynomial a b) 
(Show a, Show b) => Show (Polynomial a b) 
(Eq a, Num a, PrettyPrintable a) => PrettyPrintable (VPolynomial a, Variables) 
PIEntry a => PIEntry (Polynomial Variable a) 
(AbstrEq a b, Semiring a, PIEntry a) => AbstrEq (Polynomial Variable a) b 
(AbstrOrd a b, Semiring a, PIEntry a) => AbstrOrd (Polynomial Variable a) b 

data Monomial a b

Constructors

Mono b [Power a] 

Instances

Typeable2 Monomial 
Functor (Monomial Variable) 
(Eq a, Eq b) => Eq (Monomial a b) 
(Ord a, Ord b) => Ord (Monomial a b) 
(Show a, Show b) => Show (Monomial a b) 

data Power a

Constructors

Pow a Int 

Instances

Typeable1 Power 
Eq a => Eq (Power a) 
Ord a => Ord (Power a) 
Show a => Show (Power a) 

getCoeff :: (Eq a, Semiring b) => [Power a] -> Polynomial a b -> b

getFirstCoeff :: Eq a => [Power a] -> Polynomial a b -> Maybe b

deleteCoeff :: Eq a => [Power a] -> Polynomial a b -> Polynomial a b

deleteFirstCoeff :: Eq a => [Power a] -> Polynomial a b -> Polynomial a b

splitFirstCoeff :: Eq a => [Power a] -> Polynomial a b -> (Maybe b, Polynomial a b)

powsEq :: Eq a => [Power a] -> [Power a] -> Bool

pplus :: (Eq a, Eq b, Semiring b) => Polynomial a b -> Polynomial a b -> Polynomial a b

bigPplus :: (Eq a, Eq b, Semiring b) => [Polynomial a b] -> Polynomial a b

shallowSimp :: (Eq a, Eq b, Semiring b) => Polynomial a b -> Polynomial a b

pprod :: (Eq a, Eq b, Semiring b) => Polynomial a b -> Polynomial a b -> Polynomial a b

bigPprod :: (Eq a, Eq b, Semiring b) => [Polynomial a b] -> Polynomial a b

pmprod :: (Eq a, Semiring b) => Monomial a b -> Polynomial a b -> Polynomial a b

mprod :: (Eq a, Semiring b) => Monomial a b -> Monomial a b -> Monomial a b

cpprod :: Semiring b => b -> Polynomial a b -> Polynomial a b

cmprod :: Semiring b => b -> Monomial a b -> Monomial a b

simpMono :: Eq a => Monomial a b -> Monomial a b

simpPower :: Eq a => [Power a] -> [Power a]

varToPoly :: Semiring b => a -> Polynomial a b