   "Face used to highlight decreases clauses."
   :group 'fstar)
 
+(defface fstar-subscript-face
+  '((t :height 0.8))
+  "Face used to use for subscripts"
+  :group 'fstar)
+
 (defun fstar-group-pre-matcher (prefix-len allowed-newlines)
   "Prepare for highlighting.
 

       (2 'font-lock-function-name-face))
      (,fstar-syntax-cs (0 'font-lock-constant-face))
      ("(\\*--\\(build-config\\)"
       (1 'font-lock-preprocessor-face prepend)))))

(defun fstar-setup-font-lock ()
  "Setup font-lock for use with F*."

  (goto-char (match-end rewind-to))
  (match-end (or bound-to 0)))

(defconst fstar-syntax-id-unwrapped (rx (? (or "#" "'"))
                                    (any "a-z_") (* (or wordchar (syntax symbol)))
                                    (? "." (* (or wordchar (syntax symbol))))))

(defconst fstar-syntax-id (concat "\\_<" fstar-syntax-id-unwrapped "\\_>"))

(defconst fstar-syntax-cs (rx symbol-start
                          (any "A-Z") (* (or wordchar (syntax symbol)))
