                                              (set-of [g m] [[g pos _] counterexamples,
                                                             m pos])))))
                ;;
-               true                    ; add implication
+               true                     ; add implication
                (let [new-implications (conj implications new-impl)]
                  (recur new-implications
                         (next-closed-set (attributes possible-ctx)

                                     [possible-context certain-context]),
        background-knowledge       (or background-knowledge #{}),
        handler                    (or handler default-handler-for-incomplete-counterexamples)]
    (assert (set? background-knowledge))
    (assert (= (attributes certain-ctx)
               (attributes possible-ctx))

    (assert (= (objects certain-ctx)
               (objects possible-ctx))
            "Given contexts must coincide on the set of objects")
    ;; actual exploration
    (loop [implications background-knowledge,
           last         (close-under-implications implications #{}),
           possible-ctx possible-ctx
           certain-ctx  certain-ctx]
      (if (not last)
        {:implications     (difference implications background-knowledge),
         :possible-context possible-ctx
         :certain-context  certain-ctx}
        (let [conclusion-from-last (oprime possible-ctx (aprime certain-ctx last))] ; ?
