     g (implication-classes g)))
 
 (defn implication-class
+  "Returns the implication class in `g` containing `edge`.
+
+  `g` must be an undirected graph, `edge` an edge not in `g`, but
+  connecting two vertices of `g`.
+  Then, this method returns the implication class containing `edge`.
+
+  Implication classes are classes of edges for which the directions in a transitive
+  orientation depend on each other, see also `implication-classes`.
+  They are described in Golumbic 1976,
+  \"The Complexity of Comparability Graph Recognition and Coloring\"."
   ([g edge]
-   ;(println edge)
    (implication-class g #{} #{} #{edge} #{edge}))
   ([g closed-src closed-dest open-src open-dest]
-   ;(println closed-src closed-dest open-src open-dest)
    (if (and (empty? open-src) (empty? open-dest))
      (union closed-src closed-dest)
      (if (not (empty? open-src))

                               (lg/edges gr)))))))

(defn transitive-orientation
  ([g scheme]
   (uber/add-directed-edges*
     (uber/digraph)

       (recur g-next (conj decomp [B B-overline]) edge-selection)))))

(defn- graph-decomposition
  "Decomposes graphs as described in Golumbic 1976,
  \"The Complexity of Comparability Graph Recognition and Coloring\"."
  ([g]
   (decompose g []))
  ([g scheme]
