diff --git a/analyze.py b/analyze.py
index 71eda622760b0ff4b5ff465bd2ab11224f9bb630_YW5hbHl6ZS5weQ==..e7352ff4b48826899b1e38ac13bf4ca658aeb038_YW5hbHl6ZS5weQ== 100644
--- a/analyze.py
+++ b/analyze.py
@@ -338,6 +338,12 @@
     def visit_type_restriction(self, relation, constraints):
         pass
     
+    def visit_not(self, et, constraints):
+        child = et.children[0]
+        if isinstance(child, nodes.Relation) and \
+           not self.schema.rschema(child.r_type).is_final():
+            return True
+    
 # ==========================================================
 
 class UnifyError(Exception):