Module Snarky_backendless.Constraint

type ('var, 'field) basic = ..
module Conv (F : sig ... end) : sig ... end
module type S = sig ... end
module Basic : sig ... end
module Add_kind (C : S) : sig ... end
type basic +=
| Boolean of 'var0
| Equal of 'var1 * 'var2
| Square of 'var3 * 'var4
| R1CS of 'var5 * 'var6 * 'var7
val basic_of_sexp : ( Sexplib0__.Sexp.t -> 'a ) -> ( Sexplib0__.Sexp.t -> 'b ) -> Sexplib0__.Sexp.t -> ( 'a, 'b ) basic
val sexp_of_basic : ( 'a -> Sexplib0__.Sexp.t ) -> ( 'b -> Sexplib0__.Sexp.t ) -> ( 'a, 'b ) basic -> Sexplib0__.Sexp.t
type ('v, 'f) basic_with_annotation = {
basic : ( 'v, 'f ) basic;
annotation : Base.string Base.option;
}
val basic_with_annotation_of_sexp : 'v 'f. ( Ppx_sexp_conv_lib.Sexp.t -> 'v ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'f ) -> Ppx_sexp_conv_lib.Sexp.t -> ( 'v, 'f ) basic_with_annotation
val sexp_of_basic_with_annotation : 'v 'f. ( 'v -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'f -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'v, 'f ) basic_with_annotation -> Ppx_sexp_conv_lib.Sexp.t
type ('v, 'f) t = ( 'v, 'f ) basic_with_annotation
val t_of_sexp : 'v 'f. ( Ppx_sexp_conv_lib.Sexp.t -> 'v ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'f ) -> Ppx_sexp_conv_lib.Sexp.t -> ( 'v, 'f ) t
val sexp_of_t : 'v 'f. ( 'v -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'f -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'v, 'f ) t -> Ppx_sexp_conv_lib.Sexp.t
module T : sig ... end
include module type of struct include T end
val create_basic : ?label:Base.string -> ( 'a, 'b ) basic -> ( 'a, 'b ) basic_with_annotation
val override_label : ( 'a, 'b ) basic_with_annotation -> Base.string option -> ( 'c, 'd ) basic_with_annotation
val equal : ?label:Base.string -> 'a -> 'b -> ( 'c, 'd ) basic_with_annotation
val boolean : ?label:Base.string -> 'a -> ( 'b, 'c ) basic_with_annotation
val r1cs : ?label:Base.string -> 'a -> 'b -> 'c -> ( 'd, 'e ) basic_with_annotation
val square : ?label:Base.string -> 'a -> 'b -> ( 'c, 'd ) basic_with_annotation
val annotation : ( 'a, 'b ) t -> Base.string