sig
  type bg = { p : Place.pg; l : Link.Lg.t; n : Nodes.t; }
  type inter = Inter of int * Link.Face.t
  exception SHARING_ERROR
  exception COMP_ERROR of Big.inter * Big.inter
  exception CTRL_ERROR of int * Link.Face.t
  exception ISO_ERROR of int * int
  exception NO_MATCH
  exception NODE_FREE
  exception EXPORT_ERROR of string
  val inter_equal : Big.inter -> Big.inter -> bool
  val string_of_inter : Big.inter -> string
  val ord_of_inter : Big.inter -> int
  val face_of_inter : Big.inter -> Link.Face.t
  val to_string : Big.bg -> string
  val of_string : string -> Big.bg
  val json_of_big : Big.bg -> string
  val parse : string -> Big.bg
  val to_dot : Big.bg -> string -> string
  val inner : Big.bg -> Big.inter
  val outer : Big.bg -> Big.inter
  val apply : Iso.t -> Big.bg -> Big.bg
  val placing : int list list -> int -> Link.Face.t -> Big.bg
  val size : Big.bg -> int
  val write_txt : Big.bg -> name:string -> path:string -> int
  val write_dot : Big.bg -> name:string -> path:string -> int
  val write_svg : Big.bg -> name:string -> path:string -> int
  val write_json : Big.bg -> name:string -> path:string -> int
  val id : Big.inter -> Big.bg
  val id_eps : Big.bg
  val merge : int -> Big.bg
  val split : int -> Big.bg
  val one : Big.bg
  val zero : Big.bg
  val sym : Big.inter -> Big.inter -> Big.bg
  val ion : Link.Face.t -> Ctrl.t -> Big.bg
  val ion_chk : Link.Face.t -> Ctrl.t -> Big.bg
  val atom : Link.Face.t -> Ctrl.t -> Big.bg
  val atom_chk : Link.Face.t -> Ctrl.t -> Big.bg
  val sub : inner:Link.Face.t -> outer:Link.Face.t -> Big.bg
  val closure : Link.Face.t -> Big.bg
  val intro : Link.Face.t -> Big.bg
  val tens : Big.bg -> Big.bg -> Big.bg
  val comp : Big.bg -> Big.bg -> Big.bg
  val ppar : Big.bg -> Big.bg -> Big.bg
  val ppar_of_list : Big.bg list -> Big.bg
  val par : Big.bg -> Big.bg -> Big.bg
  val par_of_list : Big.bg list -> Big.bg
  val nest : Big.bg -> Big.bg -> Big.bg
  val share : Big.bg -> Big.bg -> Big.bg -> Big.bg
  val close : Link.Face.t -> Big.bg -> Big.bg
  val rename : inner:Link.Face.t -> outer:Link.Face.t -> Big.bg -> Big.bg
  val is_id : Big.bg -> bool
  val is_plc : Big.bg -> bool
  val is_wir : Big.bg -> bool
  val is_epi : Big.bg -> bool
  val is_mono : Big.bg -> bool
  val is_guard : Big.bg -> bool
  val is_solid : Big.bg -> bool
  val is_ground : Big.bg -> bool
  val decomp :
    target:Big.bg ->
    pattern:Big.bg ->
    i_n:Iso.t -> i_e:Iso.t -> Fun.t -> Big.bg * Big.bg * Big.bg
  val equal : Big.bg -> Big.bg -> bool
  type bg_key = int
  val key : Big.bg -> Big.bg_key
  val equal_opt : Big.bg -> Big.bg -> bool
  type occ = Iso.t * Iso.t * Fun.t
  val occurs : target:Big.bg -> pattern:Big.bg -> bool
  val occurrence :
    target:Big.bg -> pattern:Big.bg -> Place.bmatrix -> Big.occ option
  val occurrences : target:Big.bg -> pattern:Big.bg -> Big.occ list
  val auto : Big.bg -> (Iso.t * Iso.t) list
  val rewrite :
    Big.occ -> s:Big.bg -> r0:Big.bg -> r1:Big.bg -> Fun.t option -> Big.bg
end