sig
  type site =
      (Ckappa_sig.c_site_name, Ckappa_sig.c_site_name) Ckappa_sig.site_type
  type state_dic = (unit, unit) Ckappa_sig.Dictionary_of_States.dictionary
  type kappa_handler = {
    nrules : int;
    nvars : int;
    nagents : Ckappa_sig.c_agent_name;
    agents_dic : Ckappa_sig.agent_dic;
    interface_constraints :
      Ckappa_sig.agent_specification
      Ckappa_sig.Agent_type_nearly_Inf_Int_storage_Imperatif.t;
    sites :
      Ckappa_sig.site_dic
      Ckappa_sig.Agent_type_nearly_Inf_Int_storage_Imperatif.t;
    states_dic :
      Cckappa_sig.state_dic
      Ckappa_sig.Agent_type_site_nearly_Inf_Int_Int_storage_Imperatif_Imperatif.t;
    dual :
      (Ckappa_sig.c_agent_name * Ckappa_sig.c_site_name * Ckappa_sig.c_state)
      Ckappa_sig.Agent_type_site_state_nearly_Inf_Int_Int_Int_storage_Imperatif_Imperatif_Imperatif.t;
  }
  type 'a interval = { min : 'a; max : 'a; }
  type 'state port = {
    site_name : Ckappa_sig.c_site_name;
    site_position : Ckappa_sig.position;
    site_free : bool option;
    site_state : 'state;
  }
  type 'state interface =
      'state Cckappa_sig.port Ckappa_sig.Site_map_and_set.Map.t
  type 'interface proper_agent = {
    agent_kasim_id : Ckappa_sig.c_agent_id;
    agent_name : Ckappa_sig.c_agent_name;
    agent_interface : 'interface;
    agent_position : Ckappa_sig.position;
  }
  type site_address = {
    agent_index : Ckappa_sig.c_agent_id;
    site : Ckappa_sig.c_site_name;
    agent_type : Ckappa_sig.c_agent_name;
  }
  type bond = Cckappa_sig.site_address * Cckappa_sig.site_address
  module Address_map_and_set :
    sig
      type elt = site_address
      module Set :
        sig
          type elt = elt
          type t
          val empty : t
          val is_empty : t -> bool
          val singleton : elt -> t
          val is_singleton : t -> bool
          val add :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> t -> Exception.method_handler * t
          val add_when_not_in :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> t -> Exception.method_handler * t
          val remove :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> t -> Exception.method_handler * t
          val minus :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val union :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val disjoint_union :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val inter :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val diff :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val cardinal : t -> int
          val mem : elt -> t -> bool
          val exists : (elt -> bool) -> t -> bool
          val filter : (elt -> bool) -> t -> t
          val for_all : (elt -> bool) -> t -> bool
          val partition : (elt -> bool) -> t -> t * t
          val compare : t -> t -> int
          val equal : t -> t -> bool
          val subset : t -> t -> bool
          val iter : (elt -> unit) -> t -> unit
          val fold : (elt -> '-> 'a) -> t -> '-> 'a
          val fold_inv : (elt -> '-> 'a) -> t -> '-> 'a
          val elements : t -> elt list
          val choose : t -> elt option
          val min_elt : t -> elt option
          val max_elt : t -> elt option
        end
      module Map :
        sig
          type elt = elt
          type set = Set.t
          type +'a t
          val empty : 'a t
          val is_empty : 'a t -> bool
          val min_elt : 'a t -> (elt * 'a) option
          val mem : elt -> 'a t -> bool
          val find_option :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a option
          val find_default :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            '-> elt -> 'a t -> Exception.method_handler * 'a
          val find_default_without_logs :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            '-> elt -> 'a t -> Exception.method_handler * 'a
          val find_option_without_logs :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a option
          val add :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> '-> 'a t -> Exception.method_handler * 'a t
          val overwrite :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> '-> 'a t -> Exception.method_handler * 'a t
          val add_or_overwrite :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> '-> 'a t -> Exception.method_handler * 'a t
          val remove :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a t
          val remove_or_not :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a t
          val update :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val map2 :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler -> '-> Exception.method_handler * 'a) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler -> '-> Exception.method_handler * 'a) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             '-> '-> Exception.method_handler * 'a) ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val map2z :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             '-> '-> Exception.method_handler * 'a) ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val fold2z :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> '-> Exception.method_handler * 'c) ->
            'a t -> 'b t -> '-> Exception.method_handler * 'c
          val fold2 :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler * 'c) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler * 'c) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> '-> Exception.method_handler * 'c) ->
            'a t -> 'b t -> '-> Exception.method_handler * 'c
          val fold2_sparse :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> '-> Exception.method_handler * 'c) ->
            'a t -> 'b t -> '-> Exception.method_handler * 'c
          val iter2_sparse :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler) ->
            'a t -> 'b t -> Exception.method_handler
          val diff :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t * 'a t
          val diff_pred :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            ('-> '-> bool) ->
            'a t -> 'a t -> Exception.method_handler * 'a t * 'a t
          val merge :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val union :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val fold_restriction :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (elt ->
             '->
             Exception.method_handler * '-> Exception.method_handler * 'b) ->
            set -> 'a t -> '-> Exception.method_handler * 'b
          val fold_restriction_with_missing_associations :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (elt ->
             '->
             Exception.method_handler * '-> Exception.method_handler * 'b) ->
            (elt ->
             Exception.method_handler * '-> Exception.method_handler * 'b) ->
            set -> 'a t -> '-> Exception.method_handler * 'b
          val iter : (elt -> '-> unit) -> 'a t -> unit
          val iter2 :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> Exception.method_handler) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> Exception.method_handler) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler) ->
            'a t -> 'b t -> Exception.method_handler
          val fold : (elt -> '-> '-> 'b) -> 'a t -> '-> 'b
          val mapi : (elt -> '-> 'b) -> 'a t -> 'b t
          val map : ('-> 'b) -> 'a t -> 'b t
          val for_all : (elt -> '-> bool) -> 'a t -> bool
          val filter_one : (elt -> '-> bool) -> 'a t -> (elt * 'a) option
          val compare : ('-> '-> int) -> 'a t -> 'a t -> int
          val equal : ('-> '-> bool) -> 'a t -> 'a t -> bool
          val bindings : 'a t -> (elt * 'a) list
          val of_json :
            ?lab_key:string ->
            ?lab_value:string ->
            ?error_msg:string ->
            (Yojson.Basic.json -> elt) ->
            (Yojson.Basic.json -> 'value) -> Yojson.Basic.json -> 'value t
          val to_json :
            ?lab_key:string ->
            ?lab_value:string ->
            (elt -> Yojson.Basic.json) ->
            ('value -> Yojson.Basic.json) -> 'value t -> Yojson.Basic.json
        end
    end
  module KaSim_Site_map_and_set :
    sig
      type elt = (string, string) Ckappa_sig.site_type
      module Set :
        sig
          type elt = elt
          type t
          val empty : t
          val is_empty : t -> bool
          val singleton : elt -> t
          val is_singleton : t -> bool
          val add :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> t -> Exception.method_handler * t
          val add_when_not_in :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> t -> Exception.method_handler * t
          val remove :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> t -> Exception.method_handler * t
          val minus :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val union :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val disjoint_union :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val inter :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val diff :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            t -> t -> Exception.method_handler * t
          val cardinal : t -> int
          val mem : elt -> t -> bool
          val exists : (elt -> bool) -> t -> bool
          val filter : (elt -> bool) -> t -> t
          val for_all : (elt -> bool) -> t -> bool
          val partition : (elt -> bool) -> t -> t * t
          val compare : t -> t -> int
          val equal : t -> t -> bool
          val subset : t -> t -> bool
          val iter : (elt -> unit) -> t -> unit
          val fold : (elt -> '-> 'a) -> t -> '-> 'a
          val fold_inv : (elt -> '-> 'a) -> t -> '-> 'a
          val elements : t -> elt list
          val choose : t -> elt option
          val min_elt : t -> elt option
          val max_elt : t -> elt option
        end
      module Map :
        sig
          type elt = elt
          type set = Set.t
          type +'a t
          val empty : 'a t
          val is_empty : 'a t -> bool
          val min_elt : 'a t -> (elt * 'a) option
          val mem : elt -> 'a t -> bool
          val find_option :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a option
          val find_default :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            '-> elt -> 'a t -> Exception.method_handler * 'a
          val find_default_without_logs :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            '-> elt -> 'a t -> Exception.method_handler * 'a
          val find_option_without_logs :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a option
          val add :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> '-> 'a t -> Exception.method_handler * 'a t
          val overwrite :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> '-> 'a t -> Exception.method_handler * 'a t
          val add_or_overwrite :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> '-> 'a t -> Exception.method_handler * 'a t
          val remove :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a t
          val remove_or_not :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            elt -> 'a t -> Exception.method_handler * 'a t
          val update :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val map2 :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler -> '-> Exception.method_handler * 'a) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler -> '-> Exception.method_handler * 'a) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             '-> '-> Exception.method_handler * 'a) ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val map2z :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             '-> '-> Exception.method_handler * 'a) ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val fold2z :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> '-> Exception.method_handler * 'c) ->
            'a t -> 'b t -> '-> Exception.method_handler * 'c
          val fold2 :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler * 'c) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler * 'c) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> '-> Exception.method_handler * 'c) ->
            'a t -> 'b t -> '-> Exception.method_handler * 'c
          val fold2_sparse :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> '-> Exception.method_handler * 'c) ->
            'a t -> 'b t -> '-> Exception.method_handler * 'c
          val iter2_sparse :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler) ->
            'a t -> 'b t -> Exception.method_handler
          val diff :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t * 'a t
          val diff_pred :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            ('-> '-> bool) ->
            'a t -> 'a t -> Exception.method_handler * 'a t * 'a t
          val merge :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val union :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            'a t -> 'a t -> Exception.method_handler * 'a t
          val fold_restriction :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (elt ->
             '->
             Exception.method_handler * '-> Exception.method_handler * 'b) ->
            set -> 'a t -> '-> Exception.method_handler * 'b
          val fold_restriction_with_missing_associations :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (elt ->
             '->
             Exception.method_handler * '-> Exception.method_handler * 'b) ->
            (elt ->
             Exception.method_handler * '-> Exception.method_handler * 'b) ->
            set -> 'a t -> '-> Exception.method_handler * 'b
          val iter : (elt -> '-> unit) -> 'a t -> unit
          val iter2 :
            Remanent_parameters_sig.parameters ->
            Exception.method_handler ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> Exception.method_handler) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> Exception.method_handler) ->
            (Remanent_parameters_sig.parameters ->
             Exception.method_handler ->
             elt -> '-> '-> Exception.method_handler) ->
            'a t -> 'b t -> Exception.method_handler
          val fold : (elt -> '-> '-> 'b) -> 'a t -> '-> 'b
          val mapi : (elt -> '-> 'b) -> 'a t -> 'b t
          val map : ('-> 'b) -> 'a t -> 'b t
          val for_all : (elt -> '-> bool) -> 'a t -> bool
          val filter_one : (elt -> '-> bool) -> 'a t -> (elt * 'a) option
          val compare : ('-> '-> int) -> 'a t -> 'a t -> int
          val equal : ('-> '-> bool) -> 'a t -> 'a t -> bool
          val bindings : 'a t -> (elt * 'a) list
          val of_json :
            ?lab_key:string ->
            ?lab_value:string ->
            ?error_msg:string ->
            (Yojson.Basic.json -> elt) ->
            (Yojson.Basic.json -> 'value) -> Yojson.Basic.json -> 'value t
          val to_json :
            ?lab_key:string ->
            ?lab_value:string ->
            (elt -> Yojson.Basic.json) ->
            ('value -> Yojson.Basic.json) -> 'value t -> Yojson.Basic.json
        end
    end
  type agent =
      Ghost
    | Agent of
        Ckappa_sig.c_state Cckappa_sig.interval Cckappa_sig.interface
        Cckappa_sig.proper_agent
    | Dead_agent of
        Ckappa_sig.c_state Cckappa_sig.interval Cckappa_sig.interface
        Cckappa_sig.proper_agent * Cckappa_sig.KaSim_Site_map_and_set.Set.t *
        (string, unit) Ckappa_sig.site_type Ckappa_sig.Site_map_and_set.Map.t *
        Ckappa_sig.link Ckappa_sig.Site_map_and_set.Map.t
    | Unknown_agent of (string * Ckappa_sig.c_agent_id)
  type agent_sig =
      Ckappa_sig.c_state list Cckappa_sig.interface Cckappa_sig.proper_agent
  type views =
      Cckappa_sig.agent
      Ckappa_sig.Agent_id_quick_nearly_Inf_Int_storage_Imperatif.t
  type diff_views =
      Ckappa_sig.c_state Cckappa_sig.interval Cckappa_sig.port
      Ckappa_sig.Site_map_and_set.Map.t Cckappa_sig.proper_agent
      Ckappa_sig.Agent_id_quick_nearly_Inf_Int_storage_Imperatif.t
  type mixture = {
    c_mixture : Ckappa_sig.mixture;
    views : Cckappa_sig.views;
    bonds :
      Cckappa_sig.site_address Ckappa_sig.Site_map_and_set.Map.t
      Ckappa_sig.Agent_id_quick_nearly_Inf_Int_storage_Imperatif.t;
    plus : (Ckappa_sig.c_agent_id * Ckappa_sig.c_agent_id) list;
    dot : (Ckappa_sig.c_agent_id * Ckappa_sig.c_agent_id) list;
  }
  type enriched_variable = {
    e_id : string * Ckappa_sig.position;
    e_id_dot : string * Ckappa_sig.position;
    c_variable : (Ckappa_sig.mixture, string) Alg_expr.e;
    e_variable : (Cckappa_sig.mixture, string) Ast.variable_def;
  }
  type actions = {
    creation : (Ckappa_sig.c_agent_id * Ckappa_sig.c_agent_name) list;
    remove :
      (Ckappa_sig.c_agent_id *
       unit Cckappa_sig.interface Cckappa_sig.proper_agent *
       Ckappa_sig.c_site_name list)
      list;
    release : Cckappa_sig.bond list;
    bind : Cckappa_sig.bond list;
    half_break :
      (Cckappa_sig.site_address *
       Ckappa_sig.c_state Cckappa_sig.interval option)
      list;
  }
  type rule = {
    prefix : int;
    delta : int;
    rule_lhs : Cckappa_sig.mixture;
    rule_rhs : Cckappa_sig.mixture;
    diff_direct : Cckappa_sig.diff_views;
    diff_reverse : Cckappa_sig.diff_views;
    actions : Cckappa_sig.actions;
  }
  type modif_expr =
      APPLY of
        ((Cckappa_sig.mixture, string) Alg_expr.e * Cckappa_sig.rule *
         Ckappa_sig.position)
    | UPDATE of
        (string * Ckappa_sig.position *
         (Cckappa_sig.mixture, string) Alg_expr.e * Ckappa_sig.position)
    | STOP of Ckappa_sig.position
    | SNAPSHOT of Ckappa_sig.position
  type perturbation =
      (((Cckappa_sig.mixture, string) Alg_expr.bool * Ckappa_sig.position) *
       Cckappa_sig.modif_expr list *
       ((Cckappa_sig.mixture, string) Alg_expr.bool * Ckappa_sig.position)
       option) *
      Ckappa_sig.position
  type enriched_rule = {
    e_rule_label : (string * Ckappa_sig.position) option;
    e_rule_label_dot : (string * Ckappa_sig.position) option;
    e_rule_initial_direction : Ckappa_sig.direction;
    e_rule_rule : Ckappa_sig.mixture Ckappa_sig.rule;
    e_rule_c_rule : Cckappa_sig.rule;
  }
  type enriched_init = {
    e_init_factor : (Ckappa_sig.mixture, string) Alg_expr.e;
    e_init_c_factor : (Cckappa_sig.mixture, string) Alg_expr.e;
    e_init_mixture : Ckappa_sig.mixture;
    e_init_c_mixture : Cckappa_sig.mixture;
  }
  type compil = {
    variables :
      Cckappa_sig.enriched_variable
      Ckappa_sig.Rule_nearly_Inf_Int_storage_Imperatif.t;
    signatures : Cckappa_sig.agent_sig Int_storage.Nearly_inf_Imperatif.t;
    rules :
      Cckappa_sig.enriched_rule
      Ckappa_sig.Rule_nearly_Inf_Int_storage_Imperatif.t;
    observables :
      (Cckappa_sig.mixture, string) Alg_expr.e Locality.annot
      Int_storage.Nearly_inf_Imperatif.t;
    init : Cckappa_sig.enriched_init Int_storage.Nearly_inf_Imperatif.t;
    perturbations :
      (Cckappa_sig.mixture, Cckappa_sig.rule) Ckappa_sig.perturbation
      Int_storage.Nearly_inf_Imperatif.t;
  }
  val empty_actions : Cckappa_sig.actions
  val dummy_init :
    Remanent_parameters_sig.parameters ->
    Exception.method_handler ->
    Exception.method_handler * Cckappa_sig.enriched_init
  val upgrade_interface :
    'Cckappa_sig.interface Cckappa_sig.proper_agent ->
    'Cckappa_sig.interface ->
    'Cckappa_sig.interface Cckappa_sig.proper_agent
  val map_agent :
    ('-> 'b) ->
    'Cckappa_sig.interface Cckappa_sig.proper_agent ->
    'Cckappa_sig.interface Cckappa_sig.proper_agent
  val upgrade_some_interface :
    'Ckappa_sig.Site_map_and_set.Map.t Cckappa_sig.proper_agent ->
    'a option Ckappa_sig.Site_map_and_set.Map.t Cckappa_sig.proper_agent
  val build_address :
    Ckappa_sig.c_agent_id ->
    Ckappa_sig.c_agent_name ->
    Ckappa_sig.c_site_name -> Cckappa_sig.site_address
  val max_state_index :
    Ckappa_sig.c_state -> Ckappa_sig.c_state -> Ckappa_sig.c_state
  val min_state_index :
    Ckappa_sig.c_state -> Ckappa_sig.c_state -> Ckappa_sig.c_state
  val rename_mixture :
    Remanent_parameters_sig.parameters ->
    Exception.method_handler ->
    (Remanent_parameters_sig.parameters ->
     Exception.method_handler ->
     Ckappa_sig.c_agent_id ->
     Exception.method_handler * Ckappa_sig.c_agent_id) ->
    Cckappa_sig.mixture -> Exception.method_handler * Cckappa_sig.mixture
  val join_mixture :
    Remanent_parameters_sig.parameters ->
    Exception.method_handler ->
    (Remanent_parameters_sig.parameters ->
     Exception.method_handler ->
     Ckappa_sig.c_agent_id ->
     Exception.method_handler * Ckappa_sig.c_agent_id) ->
    (Remanent_parameters_sig.parameters ->
     Exception.method_handler ->
     Ckappa_sig.c_agent_id ->
     Exception.method_handler * Ckappa_sig.c_agent_id) ->
    Cckappa_sig.mixture ->
    Cckappa_sig.mixture -> Exception.method_handler * Cckappa_sig.mixture
end