Imandra_tools.Region_idxmodule type Args = sig ... endArgument types of the decomposed function, as a tuple *
val synthesize :
?loc:Imandra_util.Iloc.t ->
?compound:bool ->
Imandra_surface.Modular_region.t list ->
(int * Imandra_surface.Modular_region.t) list * stringTakes a list of regions and returns an int -> region index, and code to map arguments to the decomposed function to the index of the region the arguments belong to If the arguments belong to no region in the region list, returns -1 *
val indexer_f_for :
?scope:Opentelemetry.Trace.scope ->
?loc:Imandra_util.Iloc.t ->
?assuming:string ->
Imandra_surface.Modular_region.t list ->
(int * Imandra_surface.Modular_region.t) list * stringLike synthesize, but insted of returning code it returns a function name for the indexer *
val indexer_for :
(module Args with type args = 'a) ->
?assuming:string ->
Imandra_surface.Modular_region.t list ->
(int * Imandra_surface.Modular_region.t) list * ( 'a -> int )Same as indexer_f_for, but returns a first class function instead of a function name, the arguments to the indexer are passed as a tuple, whose type must match the args type in the first class module argument. If the arguments belong to no region in the region list, throws Not_found *