Module Bigraph.Solver_intf

type solver_t =
  1. | MSAT
    (*

    MiniSAT

    *)
  2. | MCARD
    (*

    MiniCARD

    *)
  3. | GBS
    (*

    Glasgow Subgraph Solver

    *)

Solver type.

type stats = {
  1. v : int;
    (*

    Number of variables.

    *)
  2. c : int;
    (*

    Number of clauses.

    *)
  3. mem : float;
    (*

    Memory used in MB.

    *)
  4. cpu : float;
    (*

    CPU time in seconds.

    *)
}

Solver statistics.

type solution =
  1. | SAT
  2. | UNSAT

Type of solver solutions.

val pp_solution : Ppx_deriving_runtime.Format.formatter -> solution -> Ppx_deriving_runtime.unit
val show_solution : solution -> Ppx_deriving_runtime.string
type value =
  1. | False
  2. | True
  3. | Unknown

Type of solver values.

val pp_value : Ppx_deriving_runtime.Format.formatter -> value -> Ppx_deriving_runtime.unit
val show_value : value -> Ppx_deriving_runtime.string
type occ = {
  1. nodes : Iso.t;
    (*

    One-to-one mapping over nodes.

    *)
  2. edges : Iso.t;
    (*

    One-to-one mapping over edges.

    *)
  3. hyper_edges : Fun.t;
    (*

    Mapping over hyper-edges.

    *)
}

The type of occurrences.

val occ_to_yojson : occ -> Yojson.Safe.t
val occ_of_yojson : Yojson.Safe.t -> occ Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> occ Ppx_deriving_yojson_runtime.error_or
val pp_occ : Stdlib.Format.formatter -> occ -> Ppx_deriving_runtime.unit
val show_occ : occ -> string
val occ_nodes : occ -> Iso.t
val occ_edges : occ -> Iso.t
val occ_hyper_edges : occ -> Fun.t
val occ_make : nodes:Iso.t -> edges:Iso.t -> hyper_edges:Fun.t -> occ
module type E = sig ... end

External solver interface.

module type S = sig ... end

Solver interface.

module type M = sig ... end

The type of a bigraph matching engine.

Bigraph matching engine based on solver S

module type Intf = sig ... end