 						    (attribute-derivation ctx #{n}))
 				    (inz [g n]))))])))
 
-(defn up-down-arrows [ctx]
+(defn up-down-arrows [ctx] ; faster version?
   (intersection (up-arrows ctx) (down-arrows ctx)))
 
 (defn reduce-context [ctx]


(defn transpose-context [ctx]
  (make-context (attributes ctx) (objects ctx) (set-of [m g] [[g m] (incidence ctx)])))

(defn context-object-closure [ctx set-of-objects]
  (attribute-derivation ctx (object-derivation ctx set-of-objects)))

	  new-inz (filter #(and (new-obj (first %))
				(new-att (second %)))
			  inz)]
    (make-context new-obj new-att (set new-inz)))))

(defn reduced? [ctx]
  (let [obj (objects ctx)
