 	inz (incidence ctx)
 	prime (memoize (partial attribute-derivation ctx))]
     (set-of [g m]
-	    [g obj
+	    [g obj,
 	     m att
 	     :when (and (not (inz [g m]))
 			(forall [n att]

			(set-of [[g_2 2] [m_1 1]]
				[g_2 (objects ctx-2)
				 m_1 (attributes ctx-1)]))]
    (make-context new-objs new-atts new-inz)))

(defn context-product
  "Computes the context product of ctx-1 and ctx-2, that is

	     att (attributes ctx)
	     uda (up-down-arrows ctx)]
	 (and (forall [g obj]
		(exists [[h _] uda]
		  (= g h)))
	      (forall [m att]
		(exists [[_ n] uda]
		  (= m n)))))))

(defn context-object-closure
