This is an interface for dealing with the kinds of
parallel computations involved in bellman. It’s
currently just a thin wrapper around CpuPool and
crossbeam but may be extended in the future to
allow for various parallelism strategies.
This is a “namespaced” constraint system which borrows a constraint system (pushing
a namespace context) and, when dropped, pops out of the namespace context.
Computations are expressed in terms of arithmetic circuits, in particular
rank-1 quadratic constraint systems. The Circuit trait represents a
circuit that can be synthesized. The synthesize method is called during
CRS generation and during proving.