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

ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Synopsis

Documentation

type Variable i = (Eq i, Ord i) Source #

type Monomial i j = (Variable i, Ord j, Semiring j) Source #

newtype Mono i j Source #

Monomial type

Constructors

M (Map i j) 

Instances

Instances details
(Monomial i j, Arbitrary i, Arbitrary j) => Arbitrary (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

arbitrary :: Gen (Mono i j) #

shrink :: Mono i j -> [Mono i j] #

(FromJSONKey i, Ord i, FromJSON j) => FromJSON (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

parseJSON :: Value -> Parser (Mono i j) #

parseJSONList :: Value -> Parser [Mono i j] #

(ToJSON j, ToJSONKey i) => ToJSON (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

toJSON :: Mono i j -> Value #

toEncoding :: Mono i j -> Encoding #

toJSONList :: [Mono i j] -> Value #

toEncodingList :: [Mono i j] -> Encoding #

Generic (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Associated Types

type Rep (Mono i j) :: Type -> Type #

Methods

from :: Mono i j -> Rep (Mono i j) x #

to :: Rep (Mono i j) x -> Mono i j #

Monomial i j => IsList (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Associated Types

type Item (Mono i j) #

Methods

fromList :: [Item (Mono i j)] -> Mono i j #

fromListN :: Int -> [Item (Mono i j)] -> Mono i j #

toList :: Mono i j -> [Item (Mono i j)] #

(Show i, Show j, Monomial i j) => Show (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

showsPrec :: Int -> Mono i j -> ShowS #

show :: Mono i j -> String #

showList :: [Mono i j] -> ShowS #

(NFData i, NFData j) => NFData (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

rnf :: Mono i j -> () #

Monomial i j => Eq (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(==) :: Mono i j -> Mono i j -> Bool #

(/=) :: Mono i j -> Mono i j -> Bool #

Monomial i j => Ord (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

compare :: Mono i j -> Mono i j -> Ordering #

(<) :: Mono i j -> Mono i j -> Bool #

(<=) :: Mono i j -> Mono i j -> Bool #

(>) :: Mono i j -> Mono i j -> Bool #

(>=) :: Mono i j -> Mono i j -> Bool #

max :: Mono i j -> Mono i j -> Mono i j #

min :: Mono i j -> Mono i j -> Mono i j #

(Monomial i j, Ring j) => MultiplicativeGroup (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(/) :: Mono i j -> Mono i j -> Mono i j Source #

invert :: Mono i j -> Mono i j Source #

Monomial i j => MultiplicativeMonoid (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

one :: Mono i j Source #

Monomial i j => MultiplicativeSemigroup (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(*) :: Mono i j -> Mono i j -> Mono i j Source #

(Monomial i j, Ring j) => Exponent (Mono i j) Integer Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(^) :: Mono i j -> Integer -> Mono i j Source #

Monomial i j => Exponent (Mono i j) Natural Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(^) :: Mono i j -> Natural -> Mono i j Source #

type Rep (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

type Rep (Mono i j) = D1 ('MetaData "Mono" "ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial" "symbolic-base-0.1.0.0-inplace" 'True) (C1 ('MetaCons "M" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map i j))))
type Item (Mono i j) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

type Item (Mono i j) = (i, j)

monomial :: Monomial i j => Map i j -> Mono i j Source #

Monomial constructor

evalMonomial :: forall i j b. MultiplicativeMonoid b => Exponent b j => (i -> b) -> Mono i j -> b Source #

mapVar :: Variable i => Map i i -> i -> i Source #

Maps a variable index using the provided Map

mapVarMonomial :: Variable i => Map i i -> Mono i j -> Mono i j Source #

oneM :: Mono i j -> Bool Source #

dividable :: forall i j. Monomial i j => Mono i j -> Mono i j -> Bool Source #

lcmM :: Monomial i j => Mono i j -> Mono i j -> Mono i j Source #

gcdM :: Monomial i j => Mono i j -> Mono i j -> Mono i j Source #