LibCircuit.InputSourceModule for describing inputs to Plompiler circuits.
Input of type 'a to a Plompiler program. These hold a value of type 'a with some additional structure used for constructing the circuit. Often, after implementing a Plompiler program, one is left with a function of the shape:
val prog : 'a input -> 'b input -> unit repr t.
If the user only wants to execute the program in order to compute the corresponding circuit, but without producing a proof, then the inputs can be set to dummy values, as they will be ignored. That is, only the structure of the input is used for building the circuit.
scalar s describes a scalar input holding the value s.
to_scalar i retrieves the value from a scalar input.
pair a b describes the input tuple (a, b) made out of inputs a and b.
to_pair p retrieves the inputs (a, b) that make up the input tuple p.
to_list li turns a list input li into a list of inputs.
with_implicit_bool_check bc i attaches an implicit bool check bc to the input i.
with_assertion assrtn i attaches an assertion assrtn to the input i.