 
 (defn containsTopicalizable
   [sentence]
-  (def i (.indexOf sentence "S"))
-  (def j (.indexOf sentence "01"))
-  (def k (.indexOf sentence "02"))
-  (def l (.indexOf sentence "03"))
-  (def m (.indexOf sentence "Adv"))
-  
-  (or (= i 0) (= j 0) (= k 0) (= l 0) (= m 0)))
+  (let [i (.indexOf sentence "S")
+        j (.indexOf sentence "01")
+        k (.indexOf sentence "02")
+        l (.indexOf sentence "03")
+        m (.indexOf sentence "Adv")]
+    
+    (or (= i 0) (= j 0) (= k 0) (= l 0) (= m 0))))
 
 
 (defn outOblique

(defn iToC
  "11th parameter"
  [sentence currentGrammar]
  (def g0 (get @currentGrammar 0))
  (def g1 (get @currentGrammar 1))
  (def g2 (get @currentGrammar 2))

  (reset! currentGrammar (iToC_aux1 g0 g1 g2 sentence @currentGrammar))
  (reset! currentGrammar (iToC_aux2 g0 g1 g2 sentence @currentGrammar))
  (reset! currentGrammar (iToC_aux3 g0 g1 g2 sentence @currentGrammar))
  (reset! currentGrammar (iToC_aux4 g0 g1 g2 sentence @currentGrammar))
  (reset! currentGrammar (iToC_aux5 g0 g1 g2 sentence @currentGrammar)) 
  (reset! currentGrammar (iToC_aux6 g0 g1 g2 sentence @currentGrammar))
  (reset! currentGrammar (iToC_aux7 g0 g1 g2 sentence @currentGrammar))
  (reset! currentGrammar (iToC_aux8 g0 g1 g2 sentence @currentGrammar)))


(defn checkForNV01or01VN

  (if (and (not= nil (inSentence? (get infoList 2) "03")) (not= nil (inSentence? (get infoList 2) "P")))
    (do (def first (.indexOf (get infoList 2) "03"))
        ;If 03 followed by P
        (if (and (> first 0) (= (.indexOf (get infoList 2) "P") (+ first 1)))
          (assoc initGrammar 1 1)
          initGrammar))
    initGrammar))


