{-# LANGUAGE TypeOperators #-} module ZkFold.Base.Protocol.Protostar.ArithmetizableFunction where import GHC.Generics (U1 (..), (:*:) (..)) import ZkFold.Symbolic.Compiler data ArithmetizableFunction a i p = ArithmetizableFunction { forall a (i :: Type -> Type) (p :: Type -> Type). ArithmetizableFunction a i p -> i a -> p a -> i a afEval :: i a -> p a -> i a , forall a (i :: Type -> Type) (p :: Type -> Type). ArithmetizableFunction a i p -> ArithmeticCircuit a (i :*: p) i U1 afCircuit :: ArithmeticCircuit a (i :*: p) i U1 }