Clean up Halo2
Dependencies
- [2]
OLNSSFZIRearrange the halo2 code, and some cleanup - [3]
B27NZRDFInitial commit, with start of some Halo2 junk.
Change contents
- edit in halo2/halo2.cabal at line 22
-- These are required by @-Weverything@.default-extensions: DerivingStrategies, ImportQualifiedPost, NoImplicitPrelude - replacement in halo2/PLONKish.hs at line 1[3.870]→[3.871:1021](∅→∅),[3.1021]→[3.1021:1050](∅→∅),[3.1050]→[3.1050:1070](∅→∅),[3.1070]→[2.1372:1399](∅→∅),[2.1399]→[3.1070:1090](∅→∅),[3.1070]→[3.1070:1090](∅→∅),[3.1090]→[2.1400:1414](∅→∅),[2.1414]→[3.1090:1121](∅→∅),[3.1090]→[3.1090:1121](∅→∅)
{-# languageConstraintKinds,DataKinds,DeriveDataTypeable,DeriveGeneric,DeriveTraversable,GADTs,ImportQualifiedPost,LambdaCase,NoImplicitPrelude,RankNTypes,Safe,StandaloneDeriving#-}{-# LANGUAGE ConstraintKinds #-}{-# LANGUAGE DataKinds #-}{-# LANGUAGE DeriveDataTypeable #-}{-# LANGUAGE DeriveGeneric #-}{-# LANGUAGE DeriveTraversable #-}{-# LANGUAGE GADTs #-}{-# LANGUAGE LambdaCase #-}{-# LANGUAGE RankNTypes #-}{-# LANGUAGE Safe #-}{-# LANGUAGE StandaloneDeriving #-} - replacement in halo2/PLONKish.hs at line 30
import Control.Category (Category(..))import Control.Category (Category (..)) - replacement in halo2/PLONKish.hs at line 58
deriving (Data, Eq, Generic, Ord, Foldable, Functor, Generic1, Traversable)deriving stock (Data, Eq, Generic, Ord, Foldable, Functor, Generic1, Traversable) - edit in halo2/PLONKish.hs at line 67
-- deriving (Data, Generic, Ord, Foldable, Functor, Generic1, Traversable) - replacement in halo2/PLONKish.hs at line 68
deriving instance Eq a => Eq (BoundedList n a)deriving instance Foldable (BoundedList n)deriving stock instance Eq a => Eq (BoundedList n a)deriving stock instance Foldable (BoundedList n) - replacement in halo2/PLONKish.hs at line 75
weaken = go whereweaken = gowhere - replacement in halo2/PLONKish.hs at line 82
newtype OrderedBoundedList n a =OrderedBoundedList { unorderedBoundedList :: BoundedList n a }deriving (Foldable)newtype OrderedBoundedList n a = OrderedBoundedList{ unorderedBoundedList :: BoundedList n a}deriving stock (Foldable) - replacement in halo2/PLONKish.hs at line 113
data MultivariatePolynomial f maximumDegree c vars-- |---- __NB__: We could keep @vars@ universal here, but we'd then have to wrap-- it in another @data@ declaration in order to use it in other-- structures. We shuld re-evaluate this later.= MultivariatePolynomialdata MultivariatePolynomial f maximumDegree c vars = MultivariatePolynomial - replacement in halo2/PLONKish.hs at line 121
evaluateMultivariatePolynomial:: (Field f, Nat.SNatI r)=> MultivariatePolynomial f maximumDegree c vars-> Circuit f c r maximumDegree-> Fin r-> fevaluateMultivariatePolynomial ::(Field f, Nat.SNatI r) =>MultivariatePolynomial f maximumDegree c vars ->Circuit f c r maximumDegree ->Fin r ->f - replacement in halo2/PLONKish.hs at line 140
data MultivarPoly f maximumConstraintDegree c =forall v. MultivarPoly (MultivariatePolynomial f maximumConstraintDegree c v)data MultivarPoly f maximumConstraintDegree c= forall v. MultivarPoly (MultivariatePolynomial f maximumConstraintDegree c v) - replacement in halo2/PLONKish.hs at line 172
circuit:: Configuration f c maximumConstraintDegree-> Vec c (Vec r f)-> Circuit f c r maximumConstraintDegreecircuit ::Configuration f c maximumConstraintDegree ->Vec c (Vec r f) ->Circuit f c r maximumConstraintDegree - replacement in halo2/PLONKish.hs at line 180
-- || -- | - replacement in halo2/PLONKish.hs at line 183
| TautologicalEqualityConstraint (Fin c, Fin r)deriving (Eq, Ord)TautologicalEqualityConstraint (Fin c, Fin r)deriving stock (Eq, Ord) - replacement in halo2/PLONKish.hs at line 209
addEqualityConstraint:: (Fin c, Fin r)-> (Fin c, Fin r)-> Circuit f c r mcd-> Either (NonEmpty (EqualityConstraintFailure c r)) (Circuit f c r mcd)addEqualityConstraint ::(Fin c, Fin r) ->(Fin c, Fin r) ->Circuit f c r mcd ->Either (NonEmpty (EqualityConstraintFailure c r)) (Circuit f c r mcd) - replacement in halo2/PLONKish.hs at line 216
( pure $ circuit {equalityConstraints' =Set.insert (orderedPair a b) (equalityConstraints' circuit)}( pure $circuit{ equalityConstraints' =Set.insert (orderedPair a b) (equalityConstraints' circuit)} - replacement in halo2/PLONKish.hs at line 224
$ validateEqualityConstraint (configuration circuit) a b$ validateEqualityConstraint (configuration circuit) a b - replacement in halo2/PLONKish.hs at line 226
validateEqualityConstraint:: Configuration f c mcd-> (Fin c, Fin r)-> (Fin c, Fin r)-> [EqualityConstraintFailure c r]validateEqualityConstraint ::forall f c mcd r.Configuration f c mcd ->(Fin c, Fin r) ->(Fin c, Fin r) ->[EqualityConstraintFailure c r] - replacement in halo2/PLONKish.hs at line 235
catMaybes [reifyEqualityCheck config a, reifyEqualityCheck config b]catMaybes [reifyEqualityCheck config a, reifyEqualityCheck config b] - edit in halo2/PLONKish.hs at line 240
reifyEqualityCheck ::Configuration f c mcd ->(Fin c, b) ->Maybe (EqualityConstraintFailure c r)