package KaSim

  1. Overview
  2. Docs
type abstract =
  1. | Existing of int
  2. | Fresh of Agent.t
type !'a port = 'a * int
type !'a arrow =
  1. | ToNode of 'a port
  2. | ToNothing
  3. | ToInternal of int
type !'a step = 'a port * 'a arrow
type !'a t = 'a step list
val print : Signature.s -> (int -> int) -> Format.formatter -> abstract t -> unit
val step_to_yojson : abstract step -> Yojson.Basic.json
val step_of_yojson : Yojson.Basic.json -> abstract step
val to_yojson : abstract t -> Yojson.Basic.json
val of_yojson : Yojson.Basic.json -> abstract t
val rename : Renaming.t -> abstract t -> Renaming.t * abstract t
val compatible_fresh_point : abstract step -> Agent.t -> int -> abstract arrow -> Renaming.t option
val is_subnavigation : Renaming.t -> abstract t -> abstract t -> (Renaming.t * abstract t) option
val check_edge : Edges.t -> abstract step -> bool
val injection_for_one_more_edge : ?root:Agent.t -> Renaming.t -> Edges.t -> abstract step -> Renaming.t option
val imperative_edge_is_valid : ?root:Agent.t -> Renaming.t -> Edges.t -> abstract step -> bool
val concretize : Agent.t -> Edges.t -> abstract t -> int t option