{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
module ZkFold.Base.Protocol.Plonkup.Proof where
import Prelude hiding (Num (..), drop, length, sum, take, (!!), (/), (^))
import ZkFold.Base.Algebra.EllipticCurve.Class (CyclicGroup (..))
data PlonkupProof g = PlonkupProof {
forall g. PlonkupProof g -> g
cmA :: g,
forall g. PlonkupProof g -> g
cmB :: g,
forall g. PlonkupProof g -> g
cmC :: g,
forall g. PlonkupProof g -> g
cmF :: g,
forall g. PlonkupProof g -> g
cmH1 :: g,
forall g. PlonkupProof g -> g
cmH2 :: g,
forall g. PlonkupProof g -> g
cmZ1 :: g,
forall g. PlonkupProof g -> g
cmZ2 :: g,
forall g. PlonkupProof g -> g
cmQlow :: g,
forall g. PlonkupProof g -> g
cmQmid :: g,
forall g. PlonkupProof g -> g
cmQhigh :: g,
forall g. PlonkupProof g -> g
proof1 :: g,
forall g. PlonkupProof g -> g
proof2 :: g,
forall g. PlonkupProof g -> ScalarFieldOf g
a_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
b_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
c_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
s1_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
s2_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
f_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
t_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
t_xi' :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
z1_xi' :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
z2_xi' :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
h1_xi' :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
h2_xi :: ScalarFieldOf g,
forall g. PlonkupProof g -> ScalarFieldOf g
l1_xi :: ScalarFieldOf g
}
instance (Show (ScalarFieldOf g), Show g) => Show (PlonkupProof g) where
show :: PlonkupProof g -> String
show PlonkupProof {g
ScalarFieldOf g
cmA :: forall g. PlonkupProof g -> g
cmB :: forall g. PlonkupProof g -> g
cmC :: forall g. PlonkupProof g -> g
cmF :: forall g. PlonkupProof g -> g
cmH1 :: forall g. PlonkupProof g -> g
cmH2 :: forall g. PlonkupProof g -> g
cmZ1 :: forall g. PlonkupProof g -> g
cmZ2 :: forall g. PlonkupProof g -> g
cmQlow :: forall g. PlonkupProof g -> g
cmQmid :: forall g. PlonkupProof g -> g
cmQhigh :: forall g. PlonkupProof g -> g
proof1 :: forall g. PlonkupProof g -> g
proof2 :: forall g. PlonkupProof g -> g
a_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
b_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
c_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
s1_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
s2_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
f_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
t_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
t_xi' :: forall g. PlonkupProof g -> ScalarFieldOf g
z1_xi' :: forall g. PlonkupProof g -> ScalarFieldOf g
z2_xi' :: forall g. PlonkupProof g -> ScalarFieldOf g
h1_xi' :: forall g. PlonkupProof g -> ScalarFieldOf g
h2_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
l1_xi :: forall g. PlonkupProof g -> ScalarFieldOf g
cmA :: g
cmB :: g
cmC :: g
cmF :: g
cmH1 :: g
cmH2 :: g
cmZ1 :: g
cmZ2 :: g
cmQlow :: g
cmQmid :: g
cmQhigh :: g
proof1 :: g
proof2 :: g
a_xi :: ScalarFieldOf g
b_xi :: ScalarFieldOf g
c_xi :: ScalarFieldOf g
s1_xi :: ScalarFieldOf g
s2_xi :: ScalarFieldOf g
f_xi :: ScalarFieldOf g
t_xi :: ScalarFieldOf g
t_xi' :: ScalarFieldOf g
z1_xi' :: ScalarFieldOf g
z2_xi' :: ScalarFieldOf g
h1_xi' :: ScalarFieldOf g
h2_xi :: ScalarFieldOf g
l1_xi :: ScalarFieldOf g
..} =
String
"Plonkup Proof: "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmA String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmB String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmC String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmF String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmH1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmH2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmZ1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmZ2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmQlow String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmQmid String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
cmQhigh String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
proof1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ g -> String
forall a. Show a => a -> String
show g
proof2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
a_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
b_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
c_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
s1_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
s2_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
f_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
t_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
t_xi' String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
z1_xi' String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
z2_xi' String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
h1_xi' String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
h2_xi String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" "
String -> ShowS
forall a. [a] -> [a] -> [a]
++ ScalarFieldOf g -> String
forall a. Show a => a -> String
show ScalarFieldOf g
l1_xi