Idf.MakeCreate a new IDF module for the given SM state machine
module DSM : Idf_intf.DSM_SIGmodule DSM = DSMState machine to decompose
val pp_state : DSM.State_machine.state -> stringPrinter function for a value of the state machine *
type target = DSM.Template.t listSymbolic target of a decomposition
type path = node listSymbolic decomposed list of edges of a state machine
module G : sig ... endDecomposition graph
module Mex : sig ... endReturn a list of paths from a decomposition graph starting at optional node (defaults to the root node)
val region : node -> Imandra_surface.Modular_region.RRef.tReturns the region of a node
val concrete_region : node -> Imandra_surface.Modular_region.tReturns the concrete region of a node
val expanded_region_ids : node -> Imandra_util.Util.Int_set.tReturns set of regions originating from region expansion.
val applied_expander_fns : node -> Imandra_util.Util.Str_set.t listReturns the set of projection functions applied during region expansion, by step.
val sample : node -> DSM.State_machine.event list optionReturns the sample point of a node - a list of concrete events to get to the current node
val model : node -> Imandra_interactive.Extract.model optiontype target_step = {event : DSM.Template.t; |
valid_pol : pol; |
region_expander : region_expander option; |
}val target_steps : node -> target_step list listtype replay_sample = {state_before : DSM.State_machine.state; |
event : DSM.State_machine.event; |
state_after : DSM.State_machine.state; |
}sample replay output states and event
val replay_events : DSM.State_machine.event list -> replay_sample listReplay a list of events to generate concrete state machine states from the initial state
val replay : node -> replay_sample list optionReplay a node's sample events to generate concrete state machine states from the initial state
val create :
?basis:string list ->
?expanding:string list ->
?assuming:string ->
?rule_specs:string list ->
?get_model_config:Imandra_util.Logic_config.op list ->
unit ->
runnerval add :
runner:runner ->
?as_:shape ->
?prune_asm:bool ->
?valid_pol:pol list ->
?region_expander:region_expander list ->
?minimize:string list list ->
?shrink_heavy:bool ->
target ->
unitval decompose :
?as_:shape ->
?prune_asm:bool ->
?basis:string list ->
?expanding:string list ->
?assuming:string ->
?rule_specs:string list ->
?valid_pol:pol list ->
?region_expander:region_expander list ->
?minimize:string list list ->
?shrink_heavy:bool ->
?get_model_config:Imandra_util.Logic_config.op list ->
target ->
G.tDecompose a state machine using a symbolic template