Kappa_terms.InstantiationWhat users wrote when writing its rules
All names refers to the one from the signature
type binding_type = agent_name * site_nametype abstract = Matching.Agent.tin a rule
type concrete = Kappa_site_graphs.Agent.tin a simulation state
type 'a site = 'a * site_nametype 'a test = | Is_Here of 'a| Has_Internal of 'a site * internal_state| Is_Free of 'a site| Is_Bound of 'a site| Has_Binding_type of 'a site * binding_type| Is_Bound_to of 'a site * 'a sitetype 'a action = | Create of 'a * (site_name * internal_state option) list| Mod_internal of 'a site * internal_state| Bind of 'a site * 'a site| Bind_to of 'a site * 'a site| Free of 'a site| Remove of 'atype 'a event = {tests : 'a test list list;The tests written in the rule (pattern by pattern)
*)actions : 'a action list;The modifications written in the rule
*)side_effects_src : ('a site * 'a binding_state) list;the site of the agents mentioned in the rule where there is a side effects
*)side_effects_dst : 'a site list;the site of agents not mentionned in the rule that have been freed by side effect
*)connectivity_tests : 'a test list;witness that patterns where connected (unary instances only of course)
*)}val empty_event : 'a eventval rename_abstract_test :
debug_mode:bool ->
int ->
Kappa_data_structures.Renaming.t ->
abstract test ->
abstract testval rename_abstract_action :
debug_mode:bool ->
int ->
Kappa_data_structures.Renaming.t ->
abstract action ->
abstract actionval rename_abstract_event :
debug_mode:bool ->
int ->
Kappa_data_structures.Renaming.t ->
abstract event ->
abstract eventval rename_abstract_side_effect :
debug_mode:bool ->
int ->
Kappa_data_structures.Renaming.t ->
((Matching.Agent.t * 'a) * Matching.Agent.t binding_state) ->
(Matching.Agent.t * 'a) * Matching.Agent.t binding_stateval concretize_test :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract test ->
concrete testval concretize_action :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract action ->
concrete actionval try_concretize_action :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract action ->
concrete action optionSame than concretize_action, except that it returns None if the provided injection's domain does not contain a fresh agent that is involved in the action that is being concretized.
val concretize_event :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract event ->
concrete eventval matching_abstract_concrete :
debug_mode:bool ->
abstract event ->
concrete event ->
Kappa_data_structures.Renaming.t optionval subst_map_agent_in_concrete_side_effect :
(int -> int) ->
(concrete site * concrete binding_state) ->
concrete site * concrete binding_stateval subst_agent_in_concrete_side_effect :
int ->
int ->
(concrete site * concrete binding_state) ->
concrete site * concrete binding_stateval print_concrete_test :
?sigs:Kappa_site_graphs.Signature.s ->
Stdlib.Format.formatter ->
concrete test ->
unitval print_concrete_action :
?sigs:Kappa_site_graphs.Signature.s ->
Stdlib.Format.formatter ->
concrete action ->
unitval print_concrete_binding_state :
?sigs:Kappa_site_graphs.Signature.s ->
Stdlib.Format.formatter ->
concrete binding_state ->
unitval test_to_json : ('a -> Yojson.Basic.t) -> 'a test -> Yojson.Basic.tval test_of_json : (Yojson.Basic.t -> 'a) -> Yojson.Basic.t -> 'a testval write_test :
(Stdlib.Buffer.t -> 'a -> unit) ->
Stdlib.Buffer.t ->
'a test ->
unitval read_test :
(Yojson.Basic.lexer_state -> Stdlib.Lexing.lexbuf -> 'a) ->
Yojson.Basic.lexer_state ->
Stdlib.Lexing.lexbuf ->
'a testval action_to_json : ('a -> Yojson.Basic.t) -> 'a action -> Yojson.Basic.tval action_of_json : (Yojson.Basic.t -> 'a) -> Yojson.Basic.t -> 'a actionval write_action :
(Stdlib.Buffer.t -> 'a -> unit) ->
Stdlib.Buffer.t ->
'a action ->
unitval read_action :
(Yojson.Basic.lexer_state -> Stdlib.Lexing.lexbuf -> 'a) ->
Yojson.Basic.lexer_state ->
Stdlib.Lexing.lexbuf ->
'a actionval event_to_json : ('a -> Yojson.Basic.t) -> 'a event -> Yojson.Basic.tval event_of_json : (Yojson.Basic.t -> 'a) -> Yojson.Basic.t -> 'a eventval write_event :
(Stdlib.Buffer.t -> 'a -> unit) ->
Stdlib.Buffer.t ->
'a event ->
unitval read_event :
(Yojson.Basic.lexer_state -> Stdlib.Lexing.lexbuf -> 'a) ->
Yojson.Basic.lexer_state ->
Stdlib.Lexing.lexbuf ->
'a event