   (let [sim-sets (*simulator-set-algorithm* G-1 G-2)]
     (contains? (get sim-sets v) w)))
 
+
 ;;; gfp models
 
 (defn EL-gfp-model

        vertices            (model-base-set model),
        neighbours          (fn [x]
                              (set-of [r y] [r (role-names language),
                                             [_ y] (filter #(= (first %) x) (interpretation r))])),                                                  
        vertex-labels       (fn [x]
                              (set-of P [P (concept-names language),
                                         :when (contains? (interpretation P) x)]))]

      (.remove non-empty-removes [v r]))
    (HashMap->hash-map sim)))


;; simulation invocation point

(defvar *simulator-set-algorithm* efficient-simulator-sets
  "Algorithm to use when computing simulator sets between two description graphs.")

(defn simulates?
