# Functor Md.I

    module I: functor (G : Sig.I) -> sig .. end

Parameters: |
`G` | : | `Sig.I`

    type edgeset = (G.V.t * G.V.t) list

    val md : G.t -> G.t * edgeset * G.V.t list

`md g` return a tuple `(g', e, o)` where `g'` is a triangulated graph, `e` is the triangulation of `g` and `o` is a perfect elimination order of `g'`

    val triangulate : G.t -> G.t

`triangulate g` return the graph `g'` produced by applying miminum degree to `g`.