                (= (ops self) (ops other))
                (= (vs self) (vs other)))))
 
-
-;; === Functions for IDSymbol instances
-
-(defn size [ds] (count (elements ds)))
-
-(defn dim [ds] (dec (count (indices ds))))
-
 (defmethod print-method DSymbol [ds ^Writer w]
   (print-method (list (symbol "DSymbol.")
                       (dim ds)

(ns org.gavrog.clojure.delaney
  (:use (clojure [test])
        (org.gavrog.clojure [util :only [empty-queue pop-while]]))
  (:import (org.gavrog.joss.dsyms.basic DelaneySymbol)
           (java.io Writer)))


  (s [ds i D] (when (.definesOp ds i D) (.op ds i D)))
  (v [ds i j D] (when (.definesV ds i j D) (.v ds i j D))))


;; === Private functions for IDSymbol instances

(defn- ops [ds]
  (into {} (for [i (indices ds)]
             [i (into {} (for [D (elements ds)
