      (.hashCode (attributes this))
      (.hashCode (incidence this))))
 
+;;;
+
 (defn- type-of
   "Dispatch function for make-context. Sequences and sets are made to one thing."
   [thing]

	conexp.base)
  (:require [clojure.contrib.graph :as graph]))

(defn Context-init [objects attributes incidence]
  [ [] {:objects objects :attributes attributes :incidence incidence} ])

(defmulti objects

    (conexp.fca.Context. objs atts inz)))

(defmethod make-context [::set ::set ::fn] [objects attributes incidence]
  (conexp.fca.Context. (set objects)
		       (set attributes)
		       (set-of [x y] [x objects
				      y attributes
				      :when (incidence x y)])))

(defmethod make-context :default [obj att inz]
  (illegal-argument "The arguments " obj ", " att " and " inz " are not valid for a Context."))
