      (IllegalArgumentException. (str "Cannot do context subposition, since attribute sets are not equal."))))
   (let [new-objs (union (set-of [g 1] [g (objects ctx-1)])
 			(set-of [g 2] [g (objects ctx-2)]))
-	new-inz  (union (incidence ctx-1) (incidence ctx-2))]
+	new-inz  (union (set-of [[g 1] m] [[g m] (incidence ctx-1)])
+			(set-of [[g 2] m] [[g m] (incidence ctx-2)]))]
     (make-context new-objs (attributes ctx-1) new-inz)))
 
 (defn transitive-closure

  (make-context base-set base-set =))

(defn adiag-context [base-set]
  (make-context base-set base-set not=))
     (IllegalArgumentException. (str "Cannot do context apposition, since object sets are not equal."))))
  (let [new-atts (union (set-of [m 1] [m (attributes ctx-1)])
			(set-of [m 2] [m (attributes ctx-2)]))
	new-inz  (union (set-of [g [m 1]] [[g m] (incidence ctx-1)])
			(set-of [g [m 2]] [[g m] (incidence ctx-2)]))]
    (make-context (objects ctx-1) new-atts new-inz)))

(defn context-subposition [ctx-1 ctx-2]
