      :generate {:lexicon lexicon-for-generation}
      :grammar grammar
      :lexicon lexicon
-     :aux2lex ;; map:<pred => subset of lexicon with that pred>
-     (map-subset-by-path lexicon-for-generation [:synsem :aux])
-
-     :pred2lex ;; map:<pred => subset of lexicon with that pred>
-     (map-subset-by-path lexicon-for-generation [:synsem :sem :pred])
-
-     :cat2lex ;; map:<cat => subset of lexicon with that cat>
-     (map-subset-by-path lexicon-for-generation [:synsem :cat])
-           
      :lexical-cache (atom (cache/fifo-cache-factory {} :threshold 1024))
      :lookup (fn [arg]
                (analyze arg lexicon))

    (log/debug (str "micro lexicon size:" (count (keys micro-lexicon))))
    (clojure.core/merge small
                        {:lexicon micro-lexicon})))

(defn medium []
  (deliver-lexicon)

   [:synsem :cat]
   [:synsem :sem :pred]])

(defn create-indices [lexicon]
  (into {}
        (map (fn [path]
               [path (map-subset-by-path lexicon path)])
             index-lexicon-on-paths)))

(defn fo-ps [expr]
  (parse/fo-ps expr fo))
