          clauses (concat node-clauses edge-clauses no-more-than-k-bad-edges-clauses)
          raw-solution (sat/solve-symbolic-cnf clauses)
          C (map first (filter #(and (sat/positive? %) (= (% 1) 3)) raw-solution))]
-     (println node-clauses)
-     (println edge-clauses)
-     (println no-more-than-k-bad-edges-clauses)
-     (println "solved:")
-     (println raw-solution)
-     (println C)
+     ;(println node-clauses)
+     ;(println edge-clauses)
+     ;(println no-more-than-k-bad-edges-clauses)
+     ;(println "solved:")
+     ;(println raw-solution)
+     ;(println C)
      C)))
 
 (sat-reduction (uber/graph [:a :b] [:a :c] [:b :e] [:c :e] [:a :e]) 1)

  (println line))

(defn sat-reduction
  ([g]
   (first (drop-while #(= % nil) (map #(sat-reduction g %) (range)))))
  ([g k]

            [rolling-stones.core :as sat :refer :all]))

(defn- lt-seq
  "Constructs a constraint stating that at most `k` of the given variables `xs` are true.

  This is from ??.

  Could be replaced by `rolling-stones.core/at-most`."      ; todo paper name
  ([xs k]
   (lt-seq xs k (Math/random)))
  ([xs k prefix]
