zkfold-base-0.1.0.0: ZkFold Symbolic compiler and zero-knowledge proof protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

ZkFold.Symbolic.GroebnerBasis.Internal.Types

Documentation

data VarType Source #

Instances

Instances details
Show VarType Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Eq VarType Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

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

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

data Var a c Source #

Constructors

Free a 
Bound a Natural 
Boolean Natural 

Instances

Instances details
Functor (Var a :: Type -> Type) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

fmap :: (a0 -> b) -> Var a a0 -> Var a b #

(<$) :: a0 -> Var a b -> Var a a0 #

(Show a, MultiplicativeMonoid a) => Show (Var a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

showsPrec :: Int -> Var a c -> ShowS #

show :: Var a c -> String #

showList :: [Var a c] -> ShowS #

(Eq a, MultiplicativeMonoid a) => Eq (Var a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(==) :: Var a c -> Var a c -> Bool #

(/=) :: Var a c -> Var a c -> Bool #

(Ord a, MultiplicativeMonoid a) => Ord (Var a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

compare :: Var a c -> Var a c -> Ordering #

(<) :: Var a c -> Var a c -> Bool #

(<=) :: Var a c -> Var a c -> Bool #

(>) :: Var a c -> Var a c -> Bool #

(>=) :: Var a c -> Var a c -> Bool #

max :: Var a c -> Var a c -> Var a c #

min :: Var a c -> Var a c -> Var a c #

setPower :: a -> Var a c -> Var a c Source #

data Monom a c Source #

Constructors

M c (Map Natural (Var a c)) 

Instances

Instances details
Functor (Monom a) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

fmap :: (a0 -> b) -> Monom a a0 -> Monom a b #

(<$) :: a0 -> Monom a b -> Monom a a0 #

(Show c, Eq c, FiniteField c, Show a, Eq a, AdditiveGroup a, MultiplicativeMonoid a) => Show (Monom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

showsPrec :: Int -> Monom a c -> ShowS #

show :: Monom a c -> String #

showList :: [Monom a c] -> ShowS #

(Eq c, Eq a, MultiplicativeMonoid a) => Eq (Monom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(==) :: Monom a c -> Monom a c -> Bool #

(/=) :: Monom a c -> Monom a c -> Bool #

(AdditiveMonoid c, Eq c, Ord a, MultiplicativeMonoid a) => Ord (Monom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

compare :: Monom a c -> Monom a c -> Ordering #

(<) :: Monom a c -> Monom a c -> Bool #

(<=) :: Monom a c -> Monom a c -> Bool #

(>) :: Monom a c -> Monom a c -> Bool #

(>=) :: Monom a c -> Monom a c -> Bool #

max :: Monom a c -> Monom a c -> Monom a c #

min :: Monom a c -> Monom a c -> Monom a c #

newtype Polynom a c Source #

Constructors

P [Monom a c] 

Instances

Instances details
Functor (Polynom a) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

fmap :: (a0 -> b) -> Polynom a a0 -> Polynom a b #

(<$) :: a0 -> Polynom a b -> Polynom a a0 #

(Show c, Eq c, FiniteField c, Show a, Eq a, AdditiveGroup a, MultiplicativeMonoid a) => Show (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

showsPrec :: Int -> Polynom a c -> ShowS #

show :: Polynom a c -> String #

showList :: [Polynom a c] -> ShowS #

(Eq c, Eq a, MultiplicativeMonoid a) => Eq (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(==) :: Polynom a c -> Polynom a c -> Bool #

(/=) :: Polynom a c -> Polynom a c -> Bool #

(AdditiveMonoid c, Eq c, Ord a, MultiplicativeMonoid a) => Ord (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

compare :: Polynom a c -> Polynom a c -> Ordering #

(<) :: Polynom a c -> Polynom a c -> Bool #

(<=) :: Polynom a c -> Polynom a c -> Bool #

(>) :: Polynom a c -> Polynom a c -> Bool #

(>=) :: Polynom a c -> Polynom a c -> Bool #

max :: Polynom a c -> Polynom a c -> Polynom a c #

min :: Polynom a c -> Polynom a c -> Polynom a c #

(Eq c, FiniteField c, Ord a, MultiplicativeMonoid a) => AdditiveGroup (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(-) :: Polynom a c -> Polynom a c -> Polynom a c Source #

negate :: Polynom a c -> Polynom a c Source #

(Eq c, FiniteField c, Ord a, MultiplicativeMonoid a) => AdditiveMonoid (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

zero :: Polynom a c Source #

(Eq c, FiniteField c, Ord a, MultiplicativeMonoid a) => AdditiveSemigroup (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(+) :: Polynom a c -> Polynom a c -> Polynom a c Source #

(Eq c, FiniteField c, Ord a, AdditiveGroup a, MultiplicativeMonoid a) => MultiplicativeMonoid (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

one :: Polynom a c Source #

(Eq c, FiniteField c, Ord a, AdditiveGroup a, MultiplicativeMonoid a) => MultiplicativeSemigroup (Polynom a c) Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(*) :: Polynom a c -> Polynom a c -> Polynom a c Source #

MultiplicativeMonoid (Polynom a c) => Exponent (Polynom a c) Natural Source # 
Instance details

Defined in ZkFold.Symbolic.GroebnerBasis.Internal.Types

Methods

(^) :: Polynom a c -> Natural -> Polynom a c Source #

lt :: Polynom c a -> Monom c a Source #

zeroM :: (Eq c, FiniteField c) => Monom a c -> Bool Source #

addPower :: AdditiveSemigroup a => Var a c -> Var a c -> Var a c Source #

subPower :: AdditiveGroup a => Var a c -> Var a c -> Maybe (Var a c) Source #

similarM :: (Eq a, MultiplicativeMonoid a) => Monom a c -> Monom a c -> Bool Source #

addSimilar :: FiniteField c => Monom a c -> Monom a c -> Monom a c Source #

mulMono :: (FiniteField c, AdditiveMonoid a) => Monom a c -> Monom a c -> Monom a c Source #

mulPM :: (FiniteField c, AdditiveMonoid a) => Polynom a c -> Monom a c -> Polynom a c Source #

divideM :: (FiniteField c, Eq a, Ring a) => Monom a c -> Monom a c -> Monom a c Source #

lcmM :: (FiniteField c, Ord a, MultiplicativeMonoid a) => Monom a c -> Monom a c -> Monom a c Source #

gcdM :: (FiniteField c, Ord a, MultiplicativeMonoid a) => Monom a c -> Monom a c -> Monom a c Source #