                  :subcat {:1 {:top :top}
                           :2 {:top :top}
                           :3 '()}}})
-      
-      (default ;;  a preposition's first argument defaults to the semantic object of preposition.
+            
+      (default ;; a verb agrees with its first argument
+       (let [subject-agreement (atom :top)]
+         {:synsem {:cat :verb
+                   :subcat {:1 {:agr subject-agreement}}
+                   :agr subject-agreement}}))
+
+      (default ;; aux defaults to false.
+       {:synsem {:cat :verb
+                 :aux false}})
+
+      (default ;; essere defaults to false.
+       {:synsem {:cat :verb
+                 :essere false}})
+
+      (default ;; reflexive defaults to false.
+       {:synsem {:cat :verb
+                 :aux false
+                 :sem {:reflexive false}}})
+
+      ;; </verb default rules>
+
+      ;; <preposition default rules>
+      (default ;;  a preposition's semantic object defaults to its first argument.
        (let [object-semantics (atom :top)]
          {:synsem {:cat :prep
                    :subcat {:1 {:cat :noun
                                 :sem object-semantics}}
                    :sem {:obj object-semantics}}}))
-      
-      (default ;; a verb agrees with its first argument
-       (let [subject-agreement (atom :top)]
-         {:synsem {:cat :verb
-                   :subcat {:1 {:agr subject-agreement}}
-                   :agr subject-agreement}}))
-
+      ;; </preposition default rules>
+
+      ;; <category-independent> 
       (default ;; morphology looks in :italiano, so share relevant grammatical pieces of
        ;; info (:agr, :cat, :infl, and :essere) there so it can see them.
        (let [agr (atom :top)

                   :cat cat
                   :essere essere
                   :infl infl}}))


      (default ;; aux defaults to false.
       {:synsem {:cat :verb
                 :aux false}})
      
      (default ;; essere defaults to false.
       {:synsem {:cat :verb
                 :essere false}})

      (default ;; reflexive defaults to false.
       {:synsem {:cat :verb
                 :aux false
                 :sem {:reflexive false}}})

      (default ;; noun agreement
       (unify {:synsem {:cat :noun
                        :pronoun false
                        :propernoun false
                        :subcat {:1 {:cat :det}
                                 :2 '()}}}
              (let [agr (atom :top)
                    cat (atom :top)]
                {:italiano {:agr agr
                            :cat cat}
                 :synsem {:cat cat
                          :agr agr
                          :subcat {:1 {:agr agr}}}})))

      phonize2 ;; for each value v of each key k, set the [:italiano :italiano] of v to k, if not already set
      ;; e.g. by exception-generator2.

                   :case case}
          :italiano {:cat cat
                     :case case}}))

      (default ;; determiner-noun agreement
       (unify {:synsem {:cat :noun
                        :pronoun false
                        :propernoun false
                        :subcat {:1 {:cat :det}
                                 :2 '()}}}
              (let [agr (atom :top)
                    cat (atom :top)]
                {:italiano {:agr agr
                            :cat cat}
                 :synsem {:cat cat
                          :agr agr
                          :subcat {:1 {:agr agr}}}})))
      ;; </noun default rules>            

      ;; <verb default rules>
      (default ;; a verb's first argument's case is nominative.
       {:synsem {:cat :verb
                 :subcat {:1 {:cat :noun
