Module type Checked_intf.Extended

type field
type 'a t = ( 'a, field ) Types.Checked.t
include S with module Types := Types with type 'f field := field and type ('a, 'f) t := ( 'a, 'f ) Types.Checked.t
include Monad_let.S2 with type ('a, 'f) t := ( 'a, 'f ) Types.Checked.t
include Monad_let.S_without_syntax2 with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.t
include Core_kernel.Monad.Infix2 with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.t
val (>>=) : ( 'a, 'e ) Types.Checked.t -> ( 'a -> ( 'b, 'e ) Types.Checked.t ) -> ( 'b, 'e ) Types.Checked.t
val (>>|) : ( 'a, 'e ) Types.Checked.t -> ( 'a -> 'b ) -> ( 'b, 'e ) Types.Checked.t
module Monad_infix : Core_kernel.Monad.Infix2 with type ('a, 'e) t := ( 'a, 'e ) Types.Checked.t
val bind : ( 'a, 'e ) Types.Checked.t -> f:( 'a -> ( 'b, 'e ) Types.Checked.t ) -> ( 'b, 'e ) Types.Checked.t
val return : 'a -> ( 'a, _ ) Types.Checked.t
val map : ( 'a, 'e ) Types.Checked.t -> f:( 'a -> 'b ) -> ( 'b, 'e ) Types.Checked.t
val join : ( ( 'a, 'e ) Types.Checked.t, 'e ) Types.Checked.t -> ( 'a, 'e ) Types.Checked.t
val ignore_m : ( _, 'e ) Types.Checked.t -> ( unit, 'e ) Types.Checked.t
val all : ( 'a, 'e ) Types.Checked.t list -> ( 'a list, 'e ) Types.Checked.t
val all_unit : ( unit, 'e ) Types.Checked.t list -> ( unit, 'e ) Types.Checked.t
module Let_syntax : sig ... end
val as_prover : ( unit, field ) Types.As_prover.t -> ( unit, field ) Types.Checked.t
val mk_lazy : ( unit -> ( 'a, 'f ) Types.Checked.t ) -> ( 'a Stdlib.Lazy.t, 'f ) Types.Checked.t
val request_witness : ( 'var, 'value, field ) Types.Typ.t -> ( 'value Request.t, field ) Types.As_prover.t -> ( 'var, field ) Types.Checked.t
val request : ?such_that:( 'var -> ( unit, field ) Types.Checked.t ) -> ( 'var, 'value, field ) Types.Typ.t -> 'value Request.t -> ( 'var, field ) Types.Checked.t
val exists_handle : ?request:( 'value Request.t, field ) Types.As_prover.t -> ?compute:( 'value, field ) Types.As_prover.t -> ( 'var, 'value, field ) Types.Typ.t -> ( ( 'var, 'value ) Handle.t, field ) Types.Checked.t
val exists : ?request:( 'value Request.t, field ) Types.As_prover.t -> ?compute:( 'value, field ) Types.As_prover.t -> ( 'var, 'value, field ) Types.Typ.t -> ( 'var, field ) Types.Checked.t
type response = Request.response
val unhandled : response
type request = Request.request =
| With : {
request : 'a Request.t;
respond : 'a Request.Response.t -> response;
} -> request
val handle : ( unit -> ( 'a, field ) Types.Checked.t ) -> ( request -> response ) -> ( 'a, field ) Types.Checked.t
val handle_as_prover : ( unit -> ( 'a, field ) Types.Checked.t ) -> ( request -> response, field ) Types.As_prover.t -> ( 'a, field ) Types.Checked.t
val next_auxiliary : unit -> ( int, field ) Types.Checked.t
val with_label : string -> ( unit -> ( 'a, field ) Types.Checked.t ) -> ( 'a, field ) Types.Checked.t
val assert_ : ?label:Base.string -> ( field Cvar.t, field ) Constraint.t -> ( unit, field ) Types.Checked.t
val assert_r1cs : ?label:Base.string -> field Cvar.t -> field Cvar.t -> field Cvar.t -> ( unit, field ) Types.Checked.t
val assert_square : ?label:Base.string -> field Cvar.t -> field Cvar.t -> ( unit, field ) Types.Checked.t
val assert_all : ?label:Base.string -> ( field Cvar.t, field ) Constraint.t list -> ( unit, field ) Types.Checked.t
val assert_equal : ?label:Base.string -> field Cvar.t -> field Cvar.t -> ( unit, field ) Types.Checked.t
val direct : ( field Run_state.t -> field Run_state.t * 'a ) -> ( 'a, field ) Types.Checked.t
val constraint_count : ?weight:( ( field Cvar.t, field ) Constraint.t -> int ) -> ?log:( ?start:bool -> string -> int -> unit ) -> ( unit -> ( 'a, field ) Types.Checked.t ) -> int
val run : 'a t -> field Run_state.t -> field Run_state.t * 'a