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

ZkFold.Symbolic.Data.FieldElement

Documentation

newtype FieldElement c Source #

Constructors

FieldElement 

Fields

Instances

Instances details
(Symbolic c, FromConstant k (BaseField c)) => FromConstant k (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

(Symbolic c, Scale k (BaseField c)) => Scale k (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Methods

scale :: k -> FieldElement c -> FieldElement c Source #

Generic (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Associated Types

type Rep (FieldElement c) :: Type -> Type #

Methods

from :: FieldElement c -> Rep (FieldElement c) x #

to :: Rep (FieldElement c) x -> FieldElement c #

Show (c Par1) => Show (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

NFData (c Par1) => NFData (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Methods

rnf :: FieldElement c -> () #

Eq (c Par1) => Eq (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Ord (c Par1) => Ord (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => AdditiveGroup (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => AdditiveMonoid (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => AdditiveSemigroup (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => BinaryExpansion (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Associated Types

type Bits (FieldElement c) Source #

Symbolic c => Field (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

(KnownNat (Order (FieldElement c)), KnownNat (NumberOfBits (FieldElement c))) => Finite (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Associated Types

type Order (FieldElement c) :: Natural Source #

Symbolic c => MultiplicativeMonoid (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Methods

one :: FieldElement c Source #

Symbolic c => MultiplicativeSemigroup (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Ring (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Semiring (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

SymbolicData (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Associated Types

type Context (FieldElement c) :: (Type -> Type) -> Type Source #

type Support (FieldElement c) Source #

type Layout (FieldElement c) :: Type -> Type Source #

Symbolic c => SymbolicInput (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Exponent (FieldElement c) Integer Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Exponent (FieldElement c) Natural Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

FromConstant (FieldElement c) (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Scale (FieldElement c) (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Eq (Bool c) (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

Symbolic c => Ord (Bool c) (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

(Symbolic ctx, EllipticCurve c, SymbolicData (Point c), Context (Point c) ~ ctx, PedersonSetup (Point c), Layout (Point c) ~ l, Representable l, Traversable l) => HomomorphicCommit (FieldElement ctx) (FieldElement ctx) (Point c) Source #

Pedersen commitment scheme Commitment key consists of field elements g and h, and randomness r

Instance details

Defined in ZkFold.Base.Protocol.Protostar.Commit

Methods

hcommit :: FieldElement ctx -> FieldElement ctx -> Point c Source #

(EllipticCurve c, SymbolicData (Point c), l ~ Layout (Point c), Representable l, Traversable l, ctx ~ Context (Point c), Symbolic ctx, a ~ BaseField ctx, bits ~ NumberOfBits a) => Scale (FieldElement ctx) (Point c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.Ed25519

Methods

scale :: FieldElement ctx -> Point c -> Point c Source #

(Symbolic c, NumberOfBits (BaseField c) ~ n) => Iso (FieldElement c) (ByteString n c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.ByteString

Methods

from :: FieldElement c -> ByteString n c Source #

(Arithmetic a, Symbolic ctx, FromConstant a (BaseField ctx), Scale a (BaseField ctx)) => SpecialSoundProtocol (FieldElement ctx) (ArithmeticCircuit a (Vector n) o) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.ArithmeticCircuit

(Symbolic c, KnownRegisterSize r, NumberOfBits (BaseField c) ~ n) => Iso (FieldElement c) (UInt n r c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.UInt

Methods

from :: FieldElement c -> UInt n r c Source #

(Symbolic c, NumberOfBits (BaseField c) ~ n) => Iso (ByteString n c) (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.ByteString

Methods

from :: ByteString n c -> FieldElement c Source #

(Symbolic c, KnownRegisterSize r, NumberOfBits (BaseField c) ~ n) => Iso (UInt n r c) (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.UInt

Methods

from :: UInt n r c -> FieldElement c Source #

type Rep (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

type Rep (FieldElement c) = D1 ('MetaData "FieldElement" "ZkFold.Symbolic.Data.FieldElement" "symbolic-base-0.1.0.0-inplace" 'True) (C1 ('MetaCons "FieldElement" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromFieldElement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (c Par1))))
type Bits (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

type Order (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

type Context (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

type Layout (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

type Support (FieldElement c) Source # 
Instance details

Defined in ZkFold.Symbolic.Data.FieldElement

type Input (FieldElement ctx) (ArithmeticCircuit a (Vector n) o) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.ArithmeticCircuit

type ProverMessage (FieldElement ctx) (ArithmeticCircuit a (Vector n) o) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.ArithmeticCircuit

type VerifierMessage (FieldElement ctx) (ArithmeticCircuit a (Vector n) o) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.ArithmeticCircuit

type VerifierOutput (FieldElement ctx) (ArithmeticCircuit a (Vector n) o) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.ArithmeticCircuit

type Witness (FieldElement ctx) (ArithmeticCircuit a (Vector n) o) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Protostar.ArithmeticCircuit