              (set (extents ctx-c)))))
 
 (defn functional-dependent?
-  "Checks if a functional dependency is valid."
+  "Checks if a functional dependency is valid. A set Y is functinally dependet
+   on a set X of a mv-context if for some objects g and h
+   x(g) = x(h) for all x in X implies y(g) = y(h) for all y in Y."
   [mv-ctx impl]
   (let [inz   (incidence mv-ctx)
         objs  (objects mv-ctx)

;; You must not remove this notice, or any other, from this software.

(ns conexp.fca.dependencies
  "Dependencies for Formal Concept Analysis."
  (:require [clojure.core.reducers :as r]
            [conexp.base :refer :all]
            [conexp.fca.implications :refer [premise conclusion

;;; validation methods

(defn dependent?
  "Checks if a dependency between attributes is valid. Attributes depend
   on another set of attributes if they can be expressed by them, i.e. 
   given a context (G,M,I), the set Y depends on the set X of attributes
   if every extent of the concepts of (G,M,I_{X u Y}) is an extent of
   a concet of (G,M,I_{X}).
   Scales must be given as map between attributes and contexts."
  [mv-ctx scales impl]
  (let [default (fn [a] (make-context-nc #{} #{} #{}))
        ctx-pc  (scale-mv-context 
