C.Input
Module 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 input
s 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.
val scalar : Csir.Scalar.t -> scalar input
scalar s
describes a scalar input holding the value s
.
val to_scalar : scalar input -> Csir.Scalar.t
to_scalar i
retrieves the value from a scalar input.
val bool : bool -> bool input
bool b
describes a boolean input holding the value b
.
val to_bool : bool input -> bool
to_bool i
retrieves the value from a boolean input.
val unit : unit input
unit
describes a unit 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
.
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
.
type 'a t = 'a input