## Parameters

`module G : Sig.G`

## Signature

`module CliqueV : sig ... end`

Original graph vertex

`module CVS : Stdlib.Set.S with type elt = CliqueV.t`

Set of original vertices

`module CliqueTreeV : sig ... end`

Clique tree vertex type

`module CliqueTreeE : sig ... end`
`module CliqueTree : Sig.G with type V.t = CliqueTreeV.t and type E.label = CliqueTreeE.t`

The clique tree graph type

`val mcs_clique : G.t -> G.V.t list * CliqueTree.t * CliqueTree.V.t`

`mcs_clique g` return an perfect elimination order of `g` (if it is chordal), the clique tree of `g` and its root.

`val is_chordal : G.t -> bool`

`is_chordal g` uses the clique tree construction to test if a graph is chordal or not.

`val maxwidth : G.t -> G.t -> CliqueTree.t -> int`

`maxwidth g tri tree` returns the maxwidth characteristic of the triangulation `tri` of graph `g` given the clique tree `tree` of `tri`.