<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -21,12 +21,18 @@ BASEDIR =.
 oc: always
 	cd omega_calc/obj; $(MAKE) oc
 
+libparse.a: 
+	cd parse_lib/obj; $(MAKE) libparse.a
+
 tables: 
 	cd petit/obj; $(MAKE) .tables
 
 petit: tables always
 	cd petit/obj; $(MAKE) petit
 
+rtrt-petit: tables always
+	cd petit/obj; $(MAKE) -f Makefile-rtrt rtrt-petit
+
 libomega.a: always 
 	cd omega_lib/obj; $(MAKE) libomega.a
 </diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -8,23 +8,25 @@
 #   If X11 is installed elsewhere, edit this.  Used only for petit.
 #   These settings should be good for LessTif 2.0 on Linux (tested w/ lestif2d-0.89.9-21.rpm)
 MOTIF=/usr/X11R6/LessTif/Motif2.0/
-X11_INCL_PATH=-I/usr/X11R6/include/ -I${MOTIF}/include
-X11_LIB_PATH= -L${MOTIF}/lib -L/usr/X11R6/lib/
+X11_INCL_PATH= #-I/usr/X11R6/include/ -I${MOTIF}/include
+X11_LIB_PATH= #-L${MOTIF}/lib -L/usr/X11R6/lib/
 
 # X11R6 with &quot;lessTif&quot; works with this:
-X11_LIBS = -lXm -lXt -lX11  -lICE -lSM
+#X11_LIBS = -lXm -lXt -lX11  -lICE -lSM
 
 # For BATCH_ONLY_PETIT, leave out -lXm -lXt -lX11, like so:
-# X11_LIBS = -lICE -lSM
+X11_LIBS = #-lICE -lSM
+# MMS, 7/10/06, do we really need ICE and SM?
 
 # Compiler selection.
 # Remove -g if your compiler doesn't support -O and -g together
 # OPTIMIZATION_CFLAGS = -O2
-OPTIMIZATION_CFLAGS = -g
+OPTIMIZATION_CFLAGS = -g -O0
 
 # g++  2.95 (tested w/ gcc version 2.95.2 19991024 (release) on SuSE linux 6.4)
 CC = g++
-COMPILER_CFLAGS=-Wall -DSIG_HANDLER_HAS_ONE_ARG=1 -DSHUT_UP_ABOUT_STATEMENT_WITH_NO_EFFECT_IN_DYNAMIC_ARRAY_CREATION
+COMPILER_CFLAGS=-Wall -fPIC -DSIG_HANDLER_HAS_ONE_ARG=1 -DSHUT_UP_ABOUT_STATEMENT_WITH_NO_EFFECT_IN_DYNAMIC_ARRAY_CREATION -DBATCH_ONLY_PETIT -DDAVEW_THESIS_REDUCTIONS -DSTUDY_KILL_USE -DPETIT_KILL_OBVIOUS
+
 # ALSO USE THESE FLAGS FOR DOING TIMING AS IN DAVEW'S THESIS:
 # -DSPEED -DNDEBUG -Ddont_verify_kills=1 -DDAVEW_THESIS_REDUCTIONS
 #</diff>
      <filename>Makefile.config</filename>
    </modified>
    <modified>
      <diff>@@ -34,7 +34,7 @@ LIBS=$(REQ_LIBS) $(STD_LIBS) $(TARGET_LIBS) $(OS_LIBS) $(EXTRA_LIBS)
 CFLAGS=$(STD_CFLAGS) $(OPTIMIZATION_CFLAGS) $(COMPILER_CFLAGS) $(OS_CFLAGS) $(TARGET_CFLAGS) $(INCL_PATH)
 LDFLAGS=$(STD_LDFLAGS) $(OPTIMIZATION_CFLAGS) $(TARGET_LDFLAGS) $(LIB_PATH) $(LIBS)
 
-ALLDIRS=omega_lib omega_calc petit uniform code_gen basic
+ALLDIRS=omega_lib omega_calc petit uniform code_gen basic parse_lib
 #ALLDIRS=omega_lib omega_calc petit code_gen basic
 
 # Executable target; can have only one per directory </diff>
      <filename>Makefile.rules</filename>
    </modified>
    <modified>
      <diff>@@ -7,12 +7,15 @@
 #include &lt;basic/bool.h&gt;
 
 
+namespace omega {
+
+
 template&lt;class T&gt; Bag&lt;T&gt;::Bag() {
-	 contents = new List_Element &lt;T&gt;;
-	 contents-&gt;tail = 0;
+	 this-&gt;contents = new List_Element &lt;T&gt;;
+	 this-&gt;contents-&gt;tail = 0;
 	}
 template&lt;class T&gt; Bag&lt;T&gt;::~Bag() {
-	 delete contents;
+	 delete this-&gt;contents;
 	}
 
 template&lt;class T&gt; Ordered_Bag&lt;T&gt;::Ordered_Bag() {}
@@ -20,13 +23,13 @@ template&lt;class T&gt; Ordered_Bag&lt;T&gt;::Ordered_Bag() {}
 template&lt;class T&gt; Set&lt;T&gt;::Set() {}
 
 template&lt;class T&gt; Bag&lt;T&gt;::Bag(const Bag&lt;T&gt; &amp;L) {
-		contents = new List_Element&lt;T&gt;(*L.contents);
+		this-&gt;contents = new List_Element&lt;T&gt;(*L.contents);
 		}
 
 template&lt;class T&gt; Bag&lt;T&gt; &amp; Bag&lt;T&gt;::operator=(const Bag&lt;T&gt; &amp;L) {
                 if (this != &amp;L) {
-		  delete contents;
-                  contents = new List_Element&lt;T&gt;(*L.contents);
+		  delete this-&gt;contents;
+                  this-&gt;contents = new List_Element&lt;T&gt;(*L.contents);
                 }
                 return *this;
                 }
@@ -34,8 +37,8 @@ template&lt;class T&gt; Bag&lt;T&gt; &amp; Bag&lt;T&gt;::operator=(const Bag&lt;T&gt; &amp;L) {
 
 
 template&lt;class T&gt; Set&lt;T&gt;::Set(T e) {
-	 assert(contents);
-	 contents-&gt;tail = new List_Element&lt;T&gt;(e, 0);
+	 assert(this-&gt;contents);
+	 this-&gt;contents-&gt;tail = new List_Element&lt;T&gt;(e, 0);
 	}
 	
 
@@ -46,23 +49,23 @@ template&lt;class T&gt; Set&lt;T&gt;::Set(T e) {
  ****************************************************************/
 
 template&lt;class T&gt; bool Bag&lt;T&gt;::empty() const {
-	 return contents-&gt;tail == 0;
+	 return this-&gt;contents-&gt;tail == 0;
 	}
 
 template&lt;class T&gt; Iterator&lt;T&gt; *Bag&lt;T&gt;::new_iterator()
 		{
-		return new List_Element_Iterator&lt;T&gt;(contents-&gt;tail);
+		return new List_Element_Iterator&lt;T&gt;(this-&gt;contents-&gt;tail);
 		}
 
 
 template&lt;class T&gt; void Bag&lt;T&gt;::clear() {
-		if (contents-&gt;tail) delete contents-&gt;tail;
-		contents-&gt;tail = 0;
+		if (this-&gt;contents-&gt;tail) delete this-&gt;contents-&gt;tail;
+		this-&gt;contents-&gt;tail = 0;
 		}
 
 template&lt;class T&gt; int Bag&lt;T&gt;::size() const {
 		int i = 0;
-		List_Element&lt;T&gt; * p = contents-&gt;tail;
+		List_Element&lt;T&gt; * p = this-&gt;contents-&gt;tail;
 		while (p) {
 			p = p-&gt;tail;
 			i++;
@@ -78,7 +81,7 @@ template&lt;class T&gt; int Bag&lt;T&gt;::size() const {
  ****************************************************************/
 
 template&lt;class T&gt; void Bag&lt;T&gt;::remove(T e) {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		while (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head != e) p = p-&gt;tail;
 		if (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head == e) {
 			List_Element&lt;T&gt; * q = p-&gt;tail;
@@ -89,9 +92,9 @@ template&lt;class T&gt; void Bag&lt;T&gt;::remove(T e) {
 		}
 
 template&lt;class T&gt; T Bag&lt;T&gt;::extract() {
-		List_Element&lt;T&gt; * p = contents-&gt;tail;
+		List_Element&lt;T&gt; * p = this-&gt;contents-&gt;tail;
 		T e = p-&gt;head;
-		contents-&gt;tail = p-&gt;tail;
+		this-&gt;contents-&gt;tail = p-&gt;tail;
 		p-&gt;tail = 0;
 		delete p;
 		return e;
@@ -99,12 +102,12 @@ template&lt;class T&gt; T Bag&lt;T&gt;::extract() {
 
 
 template&lt;class T&gt; void Bag&lt;T&gt;::insert(T e) {
-		List_Element&lt;T&gt; * q = new List_Element&lt;T&gt;(e,contents-&gt;tail);
-		contents-&gt;tail = q;
+		List_Element&lt;T&gt; * q = new List_Element&lt;T&gt;(e,this-&gt;contents-&gt;tail);
+		this-&gt;contents-&gt;tail = q;
 		}
 
 template&lt;class T&gt; void Ordered_Bag&lt;T&gt;::insert(T e) {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		while (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head &lt; e) p = p-&gt;tail;
 		if (!p-&gt;tail || p-&gt;tail-&gt;head != e) {
 			List_Element&lt;T&gt; * q = new List_Element&lt;T&gt;(e,p-&gt;tail);
@@ -114,20 +117,20 @@ template&lt;class T&gt; void Ordered_Bag&lt;T&gt;::insert(T e) {
 
 
 template&lt;class T&gt; bool Bag&lt;T&gt;::contains(T e) const {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		while (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head != e) p = p-&gt;tail;
 		return (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head == e);
 		}
 
 template&lt;class T&gt; bool Ordered_Bag&lt;T&gt;::contains(T e) const {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		while (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head &lt; e) p = p-&gt;tail;
 		return (p-&gt;tail &amp;&amp; p-&gt;tail-&gt;head == e);
 		}
 
 
 template&lt;class T&gt; bool Set&lt;T&gt;::contains (const Set&lt;T&gt;&amp; b) const {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents;
 		do {
 		  /* consume matched elements in p and q */
@@ -164,15 +167,15 @@ template&lt;class T&gt; void Bag&lt;T&gt;::operator |= (const Bag&lt;T&gt; &amp; b) {
 		List_Element&lt;T&gt; * q = b.contents-&gt;tail;
 
 		while (q) {
-		  List_Element&lt;T&gt; * r = new List_Element&lt;T&gt;(q-&gt;head,contents-&gt;tail);
-		  contents-&gt;tail = r;
+		  List_Element&lt;T&gt; * r = new List_Element&lt;T&gt;(q-&gt;head,this-&gt;contents-&gt;tail);
+		  this-&gt;contents-&gt;tail = r;
 		  q = q-&gt;tail;
 		  }
 		}
 
 template&lt;class T&gt; void Ordered_Bag&lt;T&gt;::operator |= (const Ordered_Bag&lt;T&gt; &amp; b) {
 		if (this == &amp;b) return;
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents-&gt;tail;
 
 		while (q) {
@@ -193,7 +196,7 @@ template&lt;class T&gt; void Ordered_Bag&lt;T&gt;::operator |= (const Bag&lt;T&gt; &amp; b) {
 
 template&lt;class T&gt; void Set&lt;T&gt;::operator |= (const Set&lt;T&gt; &amp; b) {
 		if (this == &amp;b) return;
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents-&gt;tail;
 
 		while (q) {
@@ -227,10 +230,10 @@ template&lt;class T&gt; void Set&lt;T&gt;::operator |= (const Bag&lt;T&gt; &amp; b) {
 // delete items also in b
 template&lt;class T&gt; void Set&lt;T&gt;::operator -= (const Set&lt;T&gt; &amp; b) {
 		if (this == &amp;b) {
-			clear();
+			this-&gt;clear();
 			return;
 			}
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents-&gt;tail;
 
 		while (q) {
@@ -250,7 +253,7 @@ template&lt;class T&gt; void Set&lt;T&gt;::operator -= (const Set&lt;T&gt; &amp; b) {
 template&lt;class T&gt; void Set&lt;T&gt;::operator &amp;= (const Set&lt;T&gt; &amp; b)
        {
 		if (this == &amp;b) return;
-                List_Element&lt;T&gt; * p = contents;
+                List_Element&lt;T&gt; * p = this-&gt;contents;
                 List_Element&lt;T&gt; * q = b.contents-&gt;tail;
 
                 while (q) {
@@ -276,7 +279,7 @@ template&lt;class T&gt; void Set&lt;T&gt;::operator &amp;= (const Set&lt;T&gt; &amp; b)
 
 
 template&lt;class T&gt; bool Set&lt;T&gt;::operator &amp; (const Set&lt;T&gt;&amp; b) const {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents;
 		do {
 		  p = p-&gt;tail;
@@ -293,7 +296,7 @@ template&lt;class T&gt; bool Set&lt;T&gt;::operator &amp; (const Set&lt;T&gt;&amp; b) const {
 
 
 template&lt;class T&gt; bool Ordered_Bag&lt;T&gt;::operator == (const Ordered_Bag&lt;T&gt;&amp; b) const {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents;
 		while (1) {
 		  p = p-&gt;tail;
@@ -310,7 +313,7 @@ template&lt;class T&gt; bool Ordered_Bag&lt;T&gt;::operator != (const Ordered_Bag&lt;T&gt;&amp; b) con
               }
 
 template&lt;class T&gt; bool Ordered_Bag&lt;T&gt;::operator &lt; (const Ordered_Bag&lt;T&gt;&amp; b) const {
-		List_Element&lt;T&gt; * p = contents;
+		List_Element&lt;T&gt; * p = this-&gt;contents;
 		List_Element&lt;T&gt; * q = b.contents;
 		while (1) {
 		  p = p-&gt;tail;
@@ -325,3 +328,6 @@ template&lt;class T&gt; bool Ordered_Bag&lt;T&gt;::operator &lt; (const Ordered_Bag&lt;T&gt;&amp; b) cons
 		  return 1;
 		  }
 
+
+} // end of namespace omega
+</diff>
      <filename>basic/include/basic/Bag.c</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,10 @@
 #include &lt;basic/Collection.h&gt;
 #include &lt;basic/Link.h&gt;
 
-#include &lt;basic/enter_Bag.h&gt;
+//#include &lt;basic/enter_Bag.h&gt;
+
+
+namespace omega {
 
 template&lt;class T&gt; class Bag : public Collection&lt;T&gt; { 
 public:
@@ -64,16 +67,22 @@ virtual	void operator |= (const Set&lt;T&gt; &amp; b); // add elements in b
         bool operator &amp; (const Set&lt;T&gt; &amp;) const; // check for elements in common
 };
 
+} // end of namespace omega
+
+
 
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/Bag.c&gt;
 #endif
 
+namespace omega {
+
 #define instantiate_Bag(T)		template class Bag&lt;T&gt;; \
 					instantiate_List_Element(T);
 #define instantiate_Ordered_Bag(T)	template class Ordered_Bag&lt;T&gt;; \
 					instantiate_Bag(T)
 #define instantiate_Set(T)		template class Set&lt;T&gt;; \
 					instantiate_Ordered_Bag(T)
+}
 
 #endif</diff>
      <filename>basic/include/basic/Bag.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,11 @@
 #if !defined Already_Included_Collection
 #define Already_Included_Collection
 
-#include &lt;basic/enter_Iterator.h&gt;
-#include &lt;basic/enter_Collection.h&gt;
+//#include &lt;basic/enter_Iterator.h&gt;
+//#include &lt;basic/enter_Collection.h&gt;
+
+
+namespace omega {
 
 template&lt;class T&gt; class Iterator;
 template&lt;class T&gt; class Any_Iterator;
@@ -14,6 +17,8 @@ template&lt;class T&gt; class Any_Iterator;
 
 template&lt;class T&gt; class Collection {
 public:
+    Collection() {}
+    virtual ~Collection() {}
     virtual Iterator&lt;T&gt; *new_iterator() = 0;
     virtual Any_Iterator&lt;T&gt;   any_iterator()     { return Any_Iterator&lt;T&gt;(new_iterator()); }
 
@@ -31,6 +36,8 @@ public:
 
 template&lt;class T&gt; class Sequence : public Collection&lt;T&gt; {
 public:
+    Sequence() {}
+    virtual ~Sequence() {}
     virtual const T &amp;operator[](int) const = 0;
     virtual       T &amp;operator[](int)       = 0;
 
@@ -38,10 +45,13 @@ public:
 };
 
 
+
+
 #define instantiate_Collection(T)	template class Collection&lt;T&gt;; \
 					instantiate_Any_Iterator(T)
 #define instantiate_Sequence(T) 	template class Sequence&lt;T&gt;; \
 					instantiate_Collection(T)
 
+} // end of namespace omega
 #endif 
 </diff>
      <filename>basic/include/basic/Collection.h</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,9 @@
 
 #include &lt;basic/String.h&gt;
 
+namespace omega {
+
+
 
 // should be inside Const_String, but I can't get it to
 // compile the hashTable when it is: hashTable can't be
@@ -58,4 +61,7 @@ static int	operator!=(const Const_String &amp;x, const char *y)
 		    { return x != (Const_String) y; }
 #endif
 
+} // end of namespace omega
+
+
 #endif</diff>
      <filename>basic/include/basic/ConstString.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,102 +1,103 @@
 #include &lt;basic/assert.h&gt;
 #include &lt;basic/Dynamic_Array.h&gt;
 
-template&lt;class T, int d&gt; void Dynamic_Array&lt;T,d&gt;::do_constr()
+
+template&lt;class T, int d&gt; void omega::Dynamic_Array&lt;T,d&gt;::do_constr()
     {
 #if ! defined SHUT_UP_ABOUT_STATEMENT_WITH_NO_EFFECT_IN_DYNAMIC_ARRAY_CREATION
     assert(d &gt; 0);
 #endif
-    bounds = NULL;
-    elements = NULL;
-    partial = false;
+    this-&gt;bounds = NULL;
+    this-&gt;elements = NULL;
+    this-&gt;partial = false;
     }
 
 
-template&lt;class T&gt; void Dynamic_Array1&lt;T&gt;::do_construct(int d0)
+template&lt;class T&gt; void omega::Dynamic_Array1&lt;T&gt;::do_construct(int d0)
     {
-    bounds = new int[1];
-    bounds[0] = d0;
-    elements = new T [d0];
-    partial = false;
+    this-&gt;bounds = new int[1];
+    this-&gt;bounds[0] = d0;
+    this-&gt;elements = new T [d0];
+    this-&gt;partial = false;
     }
 
-template&lt;class T&gt; void Dynamic_Array2&lt;T&gt;::do_construct(int d0, int d1)
+template&lt;class T&gt; void omega::Dynamic_Array2&lt;T&gt;::do_construct(int d0, int d1)
     {
-    bounds = new int[2];
-    bounds[0] = d0;
-    bounds[1] = d1;
-    elements = new T [d0 * d1];
-    partial = false;
+    this-&gt;bounds = new int[2];
+    this-&gt;bounds[0] = d0;
+    this-&gt;bounds[1] = d1;
+    this-&gt;elements = new T [d0 * d1];
+    this-&gt;partial = false;
     }
 
-template&lt;class T&gt; void Dynamic_Array3&lt;T&gt;::do_construct(int d0,int d1,int d2)
+template&lt;class T&gt; void omega::Dynamic_Array3&lt;T&gt;::do_construct(int d0,int d1,int d2)
     {
-    bounds = new int[3];
-    bounds[0] = d0;
-    bounds[1] = d1;
-    bounds[2] = d2;
-    elements = new T [d0 * d1 * d2];
-    partial = false;
+    this-&gt;bounds = new int[3];
+    this-&gt;bounds[0] = d0;
+    this-&gt;bounds[1] = d1;
+    this-&gt;bounds[2] = d2;
+    this-&gt;elements = new T [d0 * d1 * d2];
+    this-&gt;partial = false;
     }
 
-template&lt;class T&gt; void Dynamic_Array4&lt;T&gt;::do_construct(int d0,int d1,int d2,int d3)
+template&lt;class T&gt; void omega::Dynamic_Array4&lt;T&gt;::do_construct(int d0,int d1,int d2,int d3)
     {
-    bounds = new int[4];
-    bounds[0] = d0;
-    bounds[1] = d1;
-    bounds[2] = d2;
-    bounds[3] = d3;
-    elements = new T [d0 * d1 * d2 * d3];
-    partial = false;
+    this-&gt;bounds = new int[4];
+    this-&gt;bounds[0] = d0;
+    this-&gt;bounds[1] = d1;
+    this-&gt;bounds[2] = d2;
+    this-&gt;bounds[3] = d3;
+    this-&gt;elements = new T [d0 * d1 * d2 * d3];
+    this-&gt;partial = false;
     }
 
-template&lt;class T, int d&gt; Dynamic_Array&lt;T,d&gt;::Dynamic_Array()
+template&lt;class T, int d&gt; omega::Dynamic_Array&lt;T,d&gt;::Dynamic_Array()
     {
     do_constr();
     }
 
-template&lt;class T&gt; Dynamic_Array1&lt;T&gt;::Dynamic_Array1(char *)
+template&lt;class T&gt; omega::Dynamic_Array1&lt;T&gt;::Dynamic_Array1(char *)
     {
-    do_constr();
+    this-&gt;do_constr();
     }
 
-template&lt;class T&gt; Dynamic_Array2&lt;T&gt;::Dynamic_Array2(char *,char *)
+template&lt;class T&gt; omega::Dynamic_Array2&lt;T&gt;::Dynamic_Array2(char *,char *)
     {
-    do_constr();
+    this-&gt;do_constr();
     }
 
-template&lt;class T&gt; Dynamic_Array3&lt;T&gt;::Dynamic_Array3(char *,char *,char *)
+template&lt;class T&gt; omega::Dynamic_Array3&lt;T&gt;::Dynamic_Array3(char *,char *,char *)
     {
-    do_constr();
+    this-&gt;do_constr();
     }
 
-template&lt;class T&gt; Dynamic_Array4&lt;T&gt;::Dynamic_Array4(char *,char *,char *,char *)
+template&lt;class T&gt; omega::Dynamic_Array4&lt;T&gt;::Dynamic_Array4(char *,char *,char *,char *)
     {
-    do_constr();
+    this-&gt;do_constr();
     }
 
-template&lt;class T&gt; Dynamic_Array1&lt;T&gt;::Dynamic_Array1(int d0)
+template&lt;class T&gt; omega::Dynamic_Array1&lt;T&gt;::Dynamic_Array1(int d0)
     {
-    do_construct(d0);
+    this-&gt;do_construct(d0);
     } 
 
-template&lt;class T&gt; Dynamic_Array2&lt;T&gt;::Dynamic_Array2(int d0, int d1)
+template&lt;class T&gt; omega::Dynamic_Array2&lt;T&gt;::Dynamic_Array2(int d0, int d1)
     {
-    do_construct(d0, d1);
+    this-&gt;do_construct(d0, d1);
     }
 
-template&lt;class T&gt; Dynamic_Array3&lt;T&gt;::Dynamic_Array3(int d0,int d1,int d2)
+template&lt;class T&gt; omega::Dynamic_Array3&lt;T&gt;::Dynamic_Array3(int d0,int d1,int d2)
     {
-    do_construct(d0, d1, d2);
+    this-&gt;do_construct(d0, d1, d2);
     }
 
-template&lt;class T&gt; Dynamic_Array4&lt;T&gt;::Dynamic_Array4(int d0,int d1,int d2,int d3)
+template&lt;class T&gt; omega::Dynamic_Array4&lt;T&gt;::Dynamic_Array4(int d0,int d1,int d2,int d3)
     {
-    do_construct(d0, d1, d2, d3);
+    this-&gt;do_construct(d0, d1, d2, d3);
     }
 
 
-template&lt;class T, int d&gt; void Dynamic_Array&lt;T,d&gt;::do_destruct()
+template&lt;class T, int d&gt; void omega::Dynamic_Array&lt;T,d&gt;::do_destruct()
     {
     if (! partial)
 	{
@@ -106,110 +107,112 @@ template&lt;class T, int d&gt; void Dynamic_Array&lt;T,d&gt;::do_destruct()
     }
 
 
-template&lt;class T, int d&gt; Dynamic_Array&lt;T,d&gt;::~Dynamic_Array()
+template&lt;class T, int d&gt; omega::Dynamic_Array&lt;T,d&gt;::~Dynamic_Array()
     {
     do_destruct();
     }
 
 
-template&lt;class T&gt; void Dynamic_Array1&lt;T&gt;::resize(int d0)
+template&lt;class T&gt; void omega::Dynamic_Array1&lt;T&gt;::resize(int d0)
     {
-    assert(!partial);
-    do_destruct();
+    assert(!this-&gt;partial);
+    this-&gt;do_destruct();
     if (d0 == 0)
-        do_constr();
+        this-&gt;do_constr();
     else
-        do_construct(d0);
+        this-&gt;do_construct(d0);
     } 
 
-template&lt;class T&gt; void Dynamic_Array2&lt;T&gt;::resize(int d0, int d1)
+template&lt;class T&gt; void omega::Dynamic_Array2&lt;T&gt;::resize(int d0, int d1)
     {
-    assert(!partial);
-    do_destruct();
+    assert(!this-&gt;partial);
+    this-&gt;do_destruct();
     if (d0 == 0 &amp;&amp; d1 == 0)
-        do_constr();
+        this-&gt;do_constr();
     else
-        do_construct(d0, d1);
+        this-&gt;do_construct(d0, d1);
     }
 
-template&lt;class T&gt; void Dynamic_Array3&lt;T&gt;::resize(int d0, int d1, int d2)
+template&lt;class T&gt; void omega::Dynamic_Array3&lt;T&gt;::resize(int d0, int d1, int d2)
     {
-    assert(!partial);
-    do_destruct();
+    assert(!this-&gt;partial);
+    this-&gt;do_destruct();
     if (d0 == 0 &amp;&amp; d1 == 0 &amp;&amp; d2 == 0)
-        do_constr();
+        this-&gt;do_constr();
     else
-        do_construct(d0, d1, d2);
+        this-&gt;do_construct(d0, d1, d2);
     }
 
-template&lt;class T&gt; void Dynamic_Array4&lt;T&gt;::resize(int d0, int d1, int d2, int d3)
+template&lt;class T&gt; void omega::Dynamic_Array4&lt;T&gt;::resize(int d0, int d1, int d2, int d3)
     {
-    assert(!partial);
-    do_destruct();
+    assert(!this-&gt;partial);
+    this-&gt;do_destruct();
     if (d0 == 0 &amp;&amp; d1 == 0 &amp;&amp; d2 == 0 &amp;&amp; d3 == 0)
-        do_constr();
+        this-&gt;do_constr();
     else
-        do_construct(d0, d1, d2, d3);
+        this-&gt;do_construct(d0, d1, d2, d3);
     }
 
 
-template&lt;class T&gt; T&amp; Dynamic_Array1&lt;T&gt;::operator[](int d0)
+template&lt;class T&gt; T&amp; omega::Dynamic_Array1&lt;T&gt;::operator[](int d0)
     { 
 #if !defined (NDEBUG)
-    assert(elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
-    assert(0 &lt;= d0 &amp;&amp; d0 &lt; bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
+    assert(this-&gt;elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
+    assert(0 &lt;= d0 &amp;&amp; d0 &lt; this-&gt;bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
 #endif
 
-    return elements[d0];
+    return this-&gt;elements[d0];
     }
 
-template&lt;class T&gt;  Dynamic_Array1&lt;T&gt; Dynamic_Array2&lt;T&gt;::operator[](int d0)
+template&lt;class T&gt;  omega::Dynamic_Array1&lt;T&gt; omega::Dynamic_Array2&lt;T&gt;::operator[](int d0)
     { 
 #if !defined (NDEBUG)
-    assert(elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
-    assert(0 &lt;= d0 &amp;&amp; d0 &lt; bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
+    assert(this-&gt;elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
+    assert(0 &lt;= d0 &amp;&amp; d0 &lt; this-&gt;bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
 #endif
 
     Dynamic_Array1&lt;T&gt; result;
-    result.bounds = bounds+1;
-    result.elements = elements + bounds[1] * d0;
+    result.bounds = this-&gt;bounds+1;
+    result.elements = this-&gt;elements + this-&gt;bounds[1] * d0;
     result.partial = true;
     return result;
     }
 
-template&lt;class T&gt;  Dynamic_Array2&lt;T&gt; Dynamic_Array3&lt;T&gt;::operator[](int d0)
+template&lt;class T&gt;  omega::Dynamic_Array2&lt;T&gt; omega::Dynamic_Array3&lt;T&gt;::operator[](int d0)
     { 
 #if !defined (NDEBUG)
-    assert(elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
-    assert(0 &lt;= d0 &amp;&amp; d0 &lt; bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
+    assert(this-&gt;elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
+    assert(0 &lt;= d0 &amp;&amp; d0 &lt; this-&gt;bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
 #endif
     Dynamic_Array2&lt;T&gt; result;
-    result.bounds = bounds+1;
-    result.elements = elements + bounds[1] * bounds[2] * d0;
+    result.bounds = this-&gt;bounds+1;
+    result.elements = this-&gt;elements + this-&gt;bounds[1] * this-&gt;bounds[2] * d0;
     result.partial = true;
     return result;
     } 
 
-template&lt;class T&gt;  Dynamic_Array3&lt;T&gt; Dynamic_Array4&lt;T&gt;::operator[](int d0)
+template&lt;class T&gt;  omega::Dynamic_Array3&lt;T&gt; omega::Dynamic_Array4&lt;T&gt;::operator[](int d0)
     { 
 #if !defined (NDEBUG)
-    assert(elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
-    assert(0 &lt;= d0 &amp;&amp; d0 &lt; bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
+    assert(this-&gt;elements != NULL &amp;&amp; &quot;Trying to dereference undefined array&quot;);
+    assert(0 &lt;= d0 &amp;&amp; d0 &lt; this-&gt;bounds[0] &amp;&amp; &quot;Array subscript out of bounds&quot;);
 #endif
 
     Dynamic_Array3&lt;T&gt; result;
-    result.bounds = bounds+1;
-    result.elements = elements + bounds[1] * bounds[2] * bounds[3] * d0;
+    result.bounds = this-&gt;bounds+1;
+    result.elements = this-&gt;elements + this-&gt;bounds[1] * this-&gt;bounds[2] 
+                      * this-&gt;bounds[3] * d0;
     result.partial = true;
     return result;
     } 
 
 
 template&lt;class T, int d&gt; 
-    Dynamic_Array&lt;T,d&gt;::Dynamic_Array(Dynamic_Array&lt;T,d&gt; &amp;D)
+    omega::Dynamic_Array&lt;T,d&gt;::Dynamic_Array(Dynamic_Array&lt;T,d&gt; &amp;D)
     {
     assert(D.elements != NULL &amp;&amp; &quot;Trying to copy an undefined array&quot;);
     partial = true;
     bounds = D.bounds;
     elements = D.elements;
     }
+</diff>
      <filename>basic/include/basic/Dynamic_Array.c</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,8 @@
 #ifndef Already_Included_Dynamic_Array
 #define Already_Included_Dynamic_Array
 
+namespace omega {
+
 template &lt;class T&gt; class Dynamic_Array2;
 template &lt;class T&gt; class Dynamic_Array3;
 template &lt;class T&gt; class Dynamic_Array4;
@@ -79,10 +81,14 @@ template &lt;class T&gt; class Dynamic_Array4 : public Dynamic_Array&lt;T,4&gt;
 	void do_construct(int d0, int d1, int d2, int d3);
     };
 
+} // end of namespace omega
+
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/Dynamic_Array.c&gt;
 #endif
 
+namespace omega {
+
 #define instantiate_Dynamic_Array1(T)	template class Dynamic_Array1&lt;T&gt;; \
 					template class Dynamic_Array&lt;T,1&gt;;
 
@@ -97,4 +103,6 @@ template &lt;class T&gt; class Dynamic_Array4 : public Dynamic_Array&lt;T,4&gt;
 #define instantiate_Dynamic_Array4(T)	template class Dynamic_Array4&lt;T&gt;;  \
 					template class Dynamic_Array&lt;T,4&gt;; \
 					instantiate_Dynamic_Array3(T);
+}
+
 #endif</diff>
      <filename>basic/include/basic/Dynamic_Array.h</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,9 @@
 
 #include &lt;basic/List.h&gt;
 
+
+namespace omega {
+
 typedef void (*exit_func)(int);
 extern List&lt;exit_func&gt; Exit_hooks;
 
@@ -10,4 +13,7 @@ extern List&lt;exit_func&gt; Exit_hooks;
 // then calls &quot;exit&quot;
 extern void Exit(int);
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>basic/include/basic/Exit.h</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,10 @@
 
 #define foreachSeparated(x,T,S,A,B) do {for (Any_Iterator&lt;T&gt; __P_##x = (S).any_iterator();__P_##x;) {T &amp; x = *__P_##x; A; __P_##x++; if (__P_##x) B;}} while (0)
 
-#include &lt;basic/enter_Iterator.h&gt;
+//#include &lt;basic/enter_Iterator.h&gt;
+
+
+namespace omega {
 
 /*
  * Abstract base class Iterator&lt;type&gt;
@@ -38,6 +41,8 @@
 
 template&lt;class T&gt; class Iterator {
 public:
+    Iterator() {}
+    virtual ~Iterator() {}
     virtual const T &amp;  operator*() const = 0;
     virtual       T &amp;  operator*() = 0;
 
@@ -60,6 +65,8 @@ public:
 
 template&lt;class T&gt; class Generator {
 public:
+    Generator() {}
+    virtual ~Generator() {}
     virtual       T    operator*() const = 0;
 
     virtual    void    operator++(int) = 0;
@@ -127,4 +134,7 @@ template &lt;class T&gt; inline Any_Iterator&lt;T&gt;::Any_Iterator(const Iterator&lt;T&gt; &amp;i)
 #define instantiate_Any_Iterator(T)	template class Any_Iterator&lt;T&gt;; \
 					instantiate_Iterator(T)
 
+} // end of namespace omega
+
+
 #endif</diff>
      <filename>basic/include/basic/Iterator.h</filename>
    </modified>
    <modified>
      <diff>@@ -15,6 +15,9 @@
 #endif
 #endif
 
+namespace omega {
+
+
 /* 
    List_Element: one item in a list and the pointer to the next.
    Each such object should be pointed to by either exactly one
@@ -92,4 +95,7 @@ protected:
 #define instantiate_List_Element(T)	instantiate_Only_List_Element(T)\
 					instantiate_Collection(T)
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>basic/include/basic/Link.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
 #include &lt;basic/assert.h&gt;
+#include &quot;List.h&quot;
+
+using namespace omega;
 
 template&lt;class T&gt; List_Iterator&lt;T&gt;::List_Iterator(List&lt;T&gt; &amp;l) 
 : List_Element_Iterator&lt;T&gt;(l.contents) {}
@@ -9,6 +12,7 @@ template&lt;class T&gt; List_Iterator&lt;T&gt;::List_Iterator(const List&lt;T&gt; &amp;l)
 template&lt;class T&gt; List_Iterator&lt;T&gt;::List_Iterator()
 : List_Element_Iterator&lt;T&gt;(0) {}
 
+
 template&lt;class T&gt; Iterator&lt;T&gt; *List&lt;T&gt;::new_iterator()
 {
     return new List_Iterator&lt;T&gt;(*this);
@@ -143,3 +147,5 @@ template&lt;class T&gt; void List&lt;T&gt;::join(List&lt;T&gt; &amp;consumed)
     consumed.contents = 0;
     *(end()) = e;
     }
+
+     </diff>
      <filename>basic/include/basic/List.c</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,9 @@
 #include &lt;basic/Collection.h&gt;
 #include &lt;basic/Link.h&gt;
 
-#include &lt;basic/enter_List.h&gt;
+//#include &lt;basic/enter_List.h&gt;
+
+namespace omega {
 
 template&lt;class T&gt; class List_Iterator;
 
@@ -75,18 +77,23 @@ public:
     List_Iterator(const List&lt;T&gt; &amp;l);
     List_Iterator();
 private:
-    List_Element&lt;T&gt; &amp;element() { return *i; } ;
+    List_Element&lt;T&gt; &amp;element() { return *(this-&gt;i); }
     friend class List&lt;T&gt;;
 };
 
+} // end of namespace omega
 
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/List.c&gt;
 #endif
 
+namespace omega {
 #define instantiate_List(T)	template class List&lt;T&gt;; \
 				template class List_Iterator&lt;T&gt;; \
 				instantiate_Only_List_Element(T) \
 				instantiate_Sequence(T)
 
+}
+
+
 #endif</diff>
      <filename>basic/include/basic/List.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
 
+namespace omega {
+
+
 template&lt;class K, class V&gt; MapElement&lt;K,V&gt;:: MapElement(const MapElement&lt;K,V&gt;&amp; M) {
 		if (M.tail) tail = new MapElement&lt;K,V&gt;(*M.tail);
 		else tail = 0;
@@ -58,3 +61,7 @@ template &lt;class K, class V&gt; V &amp; Map&lt;K,V&gt;::operator[](K k) {
 		contents = P;
 		return P-&gt;v;
 		}
+
+
+} // end of namespace omega
+</diff>
      <filename>basic/include/basic/Map.c</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,10 @@
 #include &lt;basic/Link.h&gt;
 #include &lt;stdio.h&gt;  // for NULL
 
-#include &lt;basic/enter_Map.h&gt;
+//#include &lt;basic/enter_Map.h&gt;
+
+
+namespace omega {
 
 #define foreach_map(k,K,v,V,M,A) {for (MapElementIterator&lt;K,V&gt; __M_##k = (M).iterator();__M_##k;__M_##k++) {K &amp; k = *__M_##k; V &amp; v = __M_##k.value(); A;}}
 
@@ -23,6 +26,7 @@ public:
 template&lt;class K, class V&gt; class MapElementIterator {
 public:
     MapElementIterator(MapElement&lt;K,V&gt;* j) { i = j;}
+    virtual ~MapElementIterator() {}
     virtual const K &amp;  operator*() const   { return i-&gt;k; }
     virtual       K &amp;  operator*()         { return i-&gt;k;}
     virtual const V &amp;  value() const       { return i-&gt;v; }
@@ -54,14 +58,19 @@ private:
 	V _default_value;
 };
 
+} // end of namespace omega
+
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/Map.c&gt;
 #endif
 
+namespace omega {
 #define instantiate_Map(T1,T2)	template class Map&lt;T1,T2&gt;; \
 				template class MapElement&lt;T1,T2&gt;; \
 				template class MapElementIterator&lt;T1,T2&gt;;
 #define instantiate_MapElement(T1,T2)		instantiate_Map(T1,T2)
 #define instantiate_MapElementIterator(T1,T2)	instantiate_Map(T1,T2)
+}
+
 
 #endif</diff>
      <filename>basic/include/basic/Map.h</filename>
    </modified>
    <modified>
      <diff>@@ -12,6 +12,8 @@
 
 #define TEMPLATIZED 1
 
+namespace omega {
+
 #if defined NONCOERCIBLE_WONT_WORK_AT_ALL
 
 typedef int NonCoercibleInt;
@@ -34,4 +36,7 @@ template&lt;class T&gt; T value(const NonCoercible&lt;T&gt; &amp;nc)
 				    template T value(const NonCoercible&lt;T&gt; &amp;);
 
 #endif /* NONCOERCIBLE_WONT_WORK_AT_ALL */
+
+} // end of namespace omega
+
 #endif /* already included */</diff>
      <filename>basic/include/basic/NonCoercible.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 #include &lt;basic/bool.h&gt;
 
+using namespace omega;
 
 template &lt;class T&gt; Section&lt;T&gt;::Section(Sequence&lt;T&gt; *s, int start, int length)
     {
@@ -74,3 +75,5 @@ template &lt;class T&gt; Iterator&lt;T&gt; *Section_Iterator&lt;T&gt;::new_copy() const
     {
     return new Section_Iterator&lt;T&gt;(*this);
     }
+
+</diff>
      <filename>basic/include/basic/Section.c</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,10 @@
 #include &lt;basic/assert.h&gt;
 #include &lt;basic/Collection.h&gt;
 
-#include &lt;basic/enter_Section.h&gt;
+//#include &lt;basic/enter_Section.h&gt;
+
+namespace omega {
+
 
 template&lt;class T&gt; class Section_Iterator;
 
@@ -51,8 +54,9 @@ private:
     int remaining;
 };
 
+} // end of namespace omega
 
-
+namespace omega {
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/Section.c&gt;
 #endif
@@ -62,4 +66,7 @@ private:
 				instantiate_Sequence(T)
 #define instantiate_Section_Iterator(T)	  instantiate_Section(T)
 
+} // end of namespace omega
+
+
 #endif</diff>
      <filename>basic/include/basic/Section.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,8 @@
+
+namespace omega {
+
+
+
 template&lt;class T&gt; Simple_List_Iterator&lt;T&gt;::Simple_List_Iterator(Simple_List&lt;T&gt; &amp;l) 
 : List_Element_Iterator&lt;T&gt;(l.contents) {}
 
@@ -99,3 +104,6 @@ template&lt;class T&gt; void Simple_List&lt;T&gt;::join(Simple_List&lt;T&gt; &amp;consumed)
     consumed.contents = 0;
     *(end()) = e;
     }
+
+} // end of namespace omega
+</diff>
      <filename>basic/include/basic/SimpleList.c</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,8 @@
 #define Simple_List Omega_Simple_List
 #define Simple_List_Iterator Omega_Simple_List_Iterator
 
+namespace omega {
+
 template&lt;class T&gt; class Simple_List_Iterator;
 
 // A TEMPORARY HACK - ERROR IF YOU TRY TO USE &quot;INDEX&quot; - FERD
@@ -75,18 +77,23 @@ public:
     Simple_List_Iterator(const Simple_List&lt;T&gt; &amp;l);
     Simple_List_Iterator();
 private:
-    List_Element&lt;T&gt; &amp;element() { return *i; } ;
+    List_Element&lt;T&gt; &amp;element() { return *(this-&gt;i); } ;
     friend class Simple_List&lt;T&gt;;
 };
 
+} // end of namespace omega
 
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/SimpleList.c&gt;
 #endif
 
+namespace omega {
 #define instantiate_Simple_List(T)	template class Simple_List&lt;T&gt;; \
 				template class Simple_List_Iterator&lt;T&gt;; \
 				instantiate_Only_List_Element(T) \
 				instantiate_Sequence(T)
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>basic/include/basic/SimpleList.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,11 +4,22 @@
 
 #include &lt;basic/bool.h&gt;
 #include &lt;basic/util.h&gt;
+
 #include &lt;stdio.h&gt;
+//#include &lt;cstdio&gt;
+
 #include &lt;string.h&gt;
-#include &lt;iostream.h&gt;
+//#include &lt;string&gt;
+
+//#include &lt;iostream.h&gt;
+#include &lt;iostream&gt;
+using namespace std;
+
+
+//#include &lt;basic/enter_String.h&gt;
+
+namespace omega {
 
-#include &lt;basic/enter_String.h&gt;
 
 class String {
 public:
@@ -93,4 +104,6 @@ static int	operator!=(const String &amp;x, const char *y)
 		    { return x != (String) y; }
 #endif
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>basic/include/basic/String.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,19 @@
 #include &lt;basic/bool.h&gt;
 
+using namespace omega;
+
 /* class Tuple */
 
 
 
 // THESE FIRST TWO REALLY SHOULD BE INLINE BUT IT BREAKS CFRONT:
 
-template&lt;class T&gt;  T &amp;Tuple&lt;T&gt;::operator[](int index)
+template&lt;class T&gt;  T&amp; Tuple&lt;T&gt;::operator[](int index)
     {
     assert(1 &lt;= index &amp;&amp; index &lt;= sz); return data[index-1];
     }
 
-template&lt;class T&gt;  const T &amp;Tuple&lt;T&gt;::operator[](int index) const
+template&lt;class T&gt;  const T&amp; Tuple&lt;T&gt;::operator[](int index) const
     {
     assert(1 &lt;= index &amp;&amp; index &lt;= sz); return data[index-1];
     }
@@ -252,3 +254,4 @@ template&lt;class T&gt; bool Tuple_Iterator&lt;T&gt;::live() const
 template&lt;class T&gt; Iterator&lt;T&gt; *Tuple_Iterator&lt;T&gt;::new_copy() const {
     return new Tuple_Iterator&lt;T&gt;(current, firstptr, lastptr, sz); 
 }
+</diff>
      <filename>basic/include/basic/Tuple.c</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,9 @@
 #include &lt;basic/Iterator.h&gt;
 #include &lt;basic/util.h&gt;
 
-#include &lt;basic/enter_Tuple.h&gt;
+//#include &lt;basic/enter_Tuple.h&gt;
+
+namespace omega {
 
 template&lt;class T&gt; class Tuple_Iterator;
 
@@ -78,16 +80,17 @@ private:
     T  * current, * lastptr, *firstptr;
     int sz;
 }; 
+} // end of namespace omega
 
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 #include &lt;basic/Tuple.c&gt;
 #endif
 
+namespace omega {
 #define instantiate_Tuple(T)	template class Tuple&lt;T&gt;; \
 				template class Tuple_Iterator&lt;T&gt;; \
 				instantiate_Sequence(T)
 
-
-
-     
+} // end of namespace omega
+   
 #endif</diff>
      <filename>basic/include/basic/Tuple.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,8 @@
 /* assert.h that calls abort as Exit(-1)
    for applications that do not care about Exit, regular assert may be used */
 
-#include &lt;basic/Exit.h&gt;
+//#include &lt;basic/Exit.h&gt;
+#include &lt;stdlib.h&gt;
 
 #ifndef Already_Included_Assert
 #define Already_Included_Assert 1
@@ -14,7 +15,8 @@
 #ifdef WIN32
 # define _assert(ex)	((!(ex)) ? ((void)fprintf(stderr,&quot;\n\nAssertion \&quot;%s\&quot; failed: file \&quot;%s\&quot;, line %d\n&quot;, ex, __FILE__, __LINE__), Exit(-2), 0) : 1)
 #else
-# define _assert(ex)	((!(ex)) ? ((void)fprintf(stderr,&quot;\n\nAssertion \&quot;%s\&quot; failed: file \&quot;%s\&quot;, line %d\n&quot;, #ex, __FILE__, __LINE__), Exit(-2), 0) : 1)
+//# define _assert(ex)	((!(ex)) ? ((void)fprintf(stderr,&quot;\n\nAssertion \&quot;%s\&quot; failed: file \&quot;%s\&quot;, line %d\n&quot;, #ex, __FILE__, __LINE__), Exit(-2), 0) : 1)
+# define _assert(ex)	(void)((!(ex)) ? ((void)fprintf(stderr,&quot;\n\nAssertion \&quot;%s\&quot; failed: file \&quot;%s\&quot;, line %d\n&quot;, #ex, __FILE__, __LINE__), exit(-2), 0) : 1)
 #endif
 # define assert(ex)	_assert(ex)
 # else</diff>
      <filename>basic/include/basic/assert.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
+namespace omega {
 #if ! defined Bag
 #define Bag Omega_Bag
 #define Ordered_Bag Omega_Ordered_Bag
 #define Set Omega_Set
 #endif
+}</diff>
      <filename>basic/include/basic/enter_Bag.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,6 @@
+namespace omega {
 #if ! defined Collection
 #define Collection Omega_Collection
 #define Sequence Omega_Sequence
 #endif
+}</diff>
      <filename>basic/include/basic/enter_Collection.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
+namespace omega {
 #if ! defined Iterator
 #define Iterator Omega_Iterator
 #define Any_Iterator Omega_Any_Iterator
 #define Generator Omega_Generator
 #endif
+}</diff>
      <filename>basic/include/basic/enter_Iterator.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,6 @@
+namespace omega {
 #if ! defined List
 #define List Omega_List
 #define List_Iterator Omega_List_Iterator
 #endif
+}</diff>
      <filename>basic/include/basic/enter_List.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
+namespace omega {
 #if ! defined Map
 #define MapElement Omega_MapElement
 #define MapElementIterator Omega_MapElementIterator
 #define Map Omega_Map
 #endif
+}</diff>
      <filename>basic/include/basic/enter_Map.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,6 @@
+namespace omega {
 #if ! defined Section
 #define Section Omega_Section
 #define Section_Iterator Omega_Section_Iterator
 #endif
+}</diff>
      <filename>basic/include/basic/enter_Section.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+namespace omega {
 #if ! defined enter_String_h
-#define String Omega_String
+#define String omega::String
 #endif
+}</diff>
      <filename>basic/include/basic/enter_String.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,6 @@
+namespace omega {
 #if ! defined Tuple
 #define Tuple Omega_Tuple
 #define Tuple_Iterator Omega_Tuple_Iterator
 #endif
+}</diff>
      <filename>basic/include/basic/enter_Tuple.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+namespace omega {
 #undef Bag
 #undef Ordered_Bag
 #undef Set
+}</diff>
      <filename>basic/include/basic/leave_Bag.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+namespace omega {
 #undef Collection
 #undef Sequence
+}</diff>
      <filename>basic/include/basic/leave_Collection.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+namespace omega {
 #undef Iterator
 #undef Any_Iterator
 #undef Generator
+}</diff>
      <filename>basic/include/basic/leave_Iterator.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+namespace omega {
 #undef List
 #undef List_Iterator
+}</diff>
      <filename>basic/include/basic/leave_List.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+namespace omega {
 #undef MapElement
 #undef MapElementIterator
 #undef Map
+}</diff>
      <filename>basic/include/basic/leave_Map.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+namespace omega {
 #undef Section
 #undef Section_Iterator
+}</diff>
      <filename>basic/include/basic/leave_Section.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+namespace omega {
 #undef String
-#undef enter_String_h
+//#undef enter_String_h
+//}</diff>
      <filename>basic/include/basic/leave_String.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+namespace omega {
 #undef Tuple
 #undef Tuple_Iterator
+}</diff>
      <filename>basic/include/basic/leave_Tuple.h</filename>
    </modified>
    <modified>
      <diff>@@ -32,6 +32,8 @@
 
 #include &lt;basic/assert.h&gt;
 
+namespace omega {
+
 #ifdef __SUNPRO_CC
 template&lt;class T,class S&gt; inline T max(T x, S y) {
 	if (x &gt;= y) return x; else return y;
@@ -163,7 +165,9 @@ T lcm(T b, T a) /* First argument is non-negative */
     return a*b/gcd(a,b);
     }
 
-
 #define implies(A,B) (A==(A&amp;B))
 
+} // end of namespace omega
+
+
 #endif</diff>
      <filename>basic/include/basic/util.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,9 @@
 #include &lt;stdio.h&gt;
 #include &lt;basic/assert.h&gt;
 
+namespace omega {
+
+
 
 static const int CS_hashTableSize = 1000;
 static ConstStringRep *hashTable[CS_hashTableSize] = {0};	
@@ -99,3 +102,7 @@ ConstStringRep:: ConstStringRep(const char *t) {
 	strcpy(s,t);
 	name = s;
 	};
+
+
+} // end of namespace omega
+</diff>
      <filename>basic/src/ConstString.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,9 @@
 #include &lt;stdlib.h&gt;
 #include &lt;basic/Exit.h&gt;
 
+namespace omega {
+
+
 List&lt;exit_func&gt; Exit_hooks;
 
 void Exit(int e) 
@@ -9,3 +12,6 @@ void Exit(int e)
 
     exit(e);
     }
+
+} // end of namespace omega
+</diff>
      <filename>basic/src/Exit.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,16 @@
 #include &lt;basic/Link.h&gt;
 
 #if ListElementFreeList
+
+namespace omega {
+
+
   static List_Element&lt;void*&gt; *_kludgy_List_Element_free_list_pointer;
 // we rely on the fact that that is initialized to 0 before any
 // constructor-based initialization that could call List_Element::new.
 
+
+
   void *kludgy_List_Element_new(size_t size)
     {
     void *mem;
@@ -34,5 +40,10 @@
 	    ::operator delete(ptr);
     }
 
+} // end of namespace omega
+
+
 #endif
 
+
+</diff>
      <filename>basic/src/Link.c</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,8 @@
 #include &lt;omega/Relation.h&gt;
 #include &lt;code_gen/elim.h&gt;
 
+namespace omega {
+
 typedef Tuple&lt;int&gt; IntTuple;
 typedef Tuple&lt;Relation&gt; SetTuple;
 typedef Tuple&lt;SetTuple&gt; SetTupleTuple;
@@ -80,7 +82,7 @@ public:
     ~CG_split() { delete trueClause; delete falseClause; }
     CG_result *new_copy();
     virtual int depth() 
-      { return max(trueClause-&gt;depth(),falseClause-&gt;depth()); }
+      { return omega::max(trueClause-&gt;depth(),falseClause-&gt;depth()); }
     virtual String printStructure(int indent);
     virtual String print(int indent);
     // added by D people
@@ -155,4 +157,5 @@ public:
     CG_result *body;
 };
 
+} // end omega namespace
 #endif</diff>
      <filename>code_gen/include/code_gen/CG.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-// $Id: CG_outputBuilder.h,v 1.1.1.1 2000/06/29 19:23:28 dwonnaco Exp $
+// $Id: CG_outputBuilder.h,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $
 
 //*****************************************************************************
 // File: CG_outputBuilder.h
@@ -17,6 +17,8 @@
 #include &lt;code_gen/CG_outputRepr.h&gt;
 #include &lt;basic/String.h&gt;
 
+namespace omega {
+
 //*****************************************************************************
 // class: CG_outputBuilder
 //
@@ -40,7 +42,7 @@ public:
   // place holder generation
   //---------------------------------------------------------------------------
   virtual CG_outputRepr* CreatePlaceHolder(int indent, const String &amp;funcName,
-					   CG_outputRepr* funcList) const = 0;
+					   CG_outputRepr* funcList,bool gen_python) const = 0;
 
   //---------------------------------------------------------------------------
   // assignment generation
@@ -72,13 +74,14 @@ public:
   virtual CG_outputRepr* CreateInductive(CG_outputRepr* index,
 					 CG_outputRepr* lower,
 					 CG_outputRepr* upper,
-					 CG_outputRepr* step) const = 0;
+					 CG_outputRepr* step,
+					 bool gen_python) const = 0;
 
   //---------------------------------------------------------------------------
   // loop stmt generation
   //---------------------------------------------------------------------------
   virtual CG_outputRepr* CreateLoop(int indent, CG_outputRepr* control,
-				    CG_outputRepr* stmtList) const = 0;
+				    CG_outputRepr* stmtList,bool gen_python) const = 0;
 
   //---------------------------------------------------------------------------
   // basic parenthesis, interpretation operations
@@ -136,5 +139,6 @@ public:
   StmtListAppend(CG_outputRepr* list1, CG_outputRepr* list2) const = 0;
 };
 
+} // end of omega namespace
 
 #endif // CG_outputBuilder_h</diff>
      <filename>code_gen/include/code_gen/CG_outputBuilder.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-// $Id: CG_outputRepr.h,v 1.1.1.1 2000/06/29 19:23:28 dwonnaco Exp $
+// $Id: CG_outputRepr.h,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $
 
 //*****************************************************************************
 // File: CG_outputRepr.h
@@ -17,6 +17,8 @@
 
 #include &lt;stdio.h&gt;
 
+namespace omega {
+
 class CG_outputRepr;                    // forward declaration
 
 #define CG_REPR_NIL         (CG_outputRepr *)NULL
@@ -42,5 +44,6 @@ public:
   virtual void DumpToFile(FILE *fp = stderr) const = 0;
 };
 
+} // end namespace omega
 
 #endif // CG_outputRepr_h</diff>
      <filename>code_gen/include/code_gen/CG_outputRepr.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-// $Id: CG_stringBuilder.h,v 1.1.1.1 2000/06/29 19:23:28 dwonnaco Exp $
+// $Id: CG_stringBuilder.h,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $
 
 //*****************************************************************************
 // File: CG_stringBuilder.h
@@ -23,6 +23,8 @@
 #include &lt;code_gen/CG_outputBuilder.h&gt;
 #include &lt;code_gen/CG_outputRepr.h&gt;
 
+namespace omega {
+
 //*****************************************************************************
 // class: CG_stringBuilder
 //
@@ -42,7 +44,7 @@ public:
   // place holder generation
   //---------------------------------------------------------------------------
   virtual CG_outputRepr* CreatePlaceHolder(int indent, const String &amp;funcName,
-					   CG_outputRepr* funcList) const;
+					   CG_outputRepr* funcList,bool gen_python) const;
 
   //---------------------------------------------------------------------------
   // assignment generation
@@ -73,13 +75,14 @@ public:
   virtual CG_outputRepr* CreateInductive(CG_outputRepr* index,
 					 CG_outputRepr* lower,
 					 CG_outputRepr* upper,
-					 CG_outputRepr* step) const;
+					 CG_outputRepr* step,
+					 bool gen_python) const;
 
   //---------------------------------------------------------------------------
   // loop stmt generation
   //---------------------------------------------------------------------------
   virtual CG_outputRepr* CreateLoop(int indent, CG_outputRepr* control,
-				    CG_outputRepr* stmtList) const;
+				    CG_outputRepr* stmtList,bool gen_python) const;
 
   //---------------------------------------------------------------------------
   // basic parenthesis, interpretation operations
@@ -137,5 +140,6 @@ public:
   StmtListAppend(CG_outputRepr* list1, CG_outputRepr* list2) const;
 };
 
+} // end of omega namespace
 
 #endif // CG_stringBuilder_h</diff>
      <filename>code_gen/include/code_gen/CG_stringBuilder.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-// $Id: CG_stringRepr.h,v 1.1.1.1 2000/06/29 19:23:29 dwonnaco Exp $
+// $Id: CG_stringRepr.h,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $
 
 //*****************************************************************************
 // File: CG_stringRepr.h
@@ -19,6 +19,8 @@
 #include &lt;basic/String.h&gt;
 #include &lt;code_gen/CG_outputRepr.h&gt;
 
+namespace omega {
+
 //*****************************************************************************
 // class: CG_stringRepr
 //
@@ -49,6 +51,6 @@ private:
   String s;
 };
 
-
+} // end of omega namespace
 
 #endif // CG_stringRepr_h</diff>
      <filename>code_gen/include/code_gen/CG_stringRepr.h</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,8 @@
 
 #include &lt;omega.h&gt;
 
+namespace omega {
+
 struct PartialMMap {
   Relation mapping;
   Relation bounds;
@@ -60,4 +62,6 @@ static inline int operator==(const stm_info &amp;, const stm_info &amp;)
   return 0;
 }
 
+} // end namespace omega
+
 #endif</diff>
      <filename>code_gen/include/code_gen/MMap.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-/* $Id: PT-code_gen.c,v 1.2 2000/08/02 20:04:33 dwonnaco Exp $ */
+/* $Id: PT-code_gen.c,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $ */
 
 // For basic code gen:
 </diff>
      <filename>code_gen/include/code_gen/PT-code_gen.c</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,8 @@
 #include &lt;code_gen/CG_outputRepr.h&gt;
 #include &lt;code_gen/CG_outputBuilder.h&gt;
 
+namespace omega {
+
 typedef Tuple&lt;int&gt; IntTuple;
 typedef Tuple&lt;Relation&gt; SetTuple;
 typedef Tuple&lt;SetTuple&gt; SetTupleTuple;
@@ -34,6 +36,9 @@ MMGenerateCode(CG_outputBuilder* ocg,
 String MMGenerateCode(Tuple&lt;Relation&gt; &amp;, Tuple&lt;Relation&gt; &amp;, Relation &amp;known,
 			int effort=0);
 
+String MMGeneratePythonCode(Tuple&lt;Relation&gt; &amp;, Tuple&lt;Relation&gt; &amp;, Relation &amp;known,
+			int effort=0);
+
 String MMGenerateCode(Tuple&lt;Relation&gt; &amp;, Tuple&lt;Relation&gt; &amp;,
 		      Tuple&lt;naming_info *&gt; &amp;,
 		      Relation &amp;known, int effort=0);
@@ -116,5 +121,6 @@ private:
   int stmt_num;
 };
 
+} // end of omega namespace
 
 #endif</diff>
      <filename>code_gen/include/code_gen/code_gen.h</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,8 @@
 #include &lt;basic/String.h&gt;
 #include &lt;omega/Relations.h&gt;
 
+namespace omega {
+
 class elimination_info {
 public: 
   elimination_info();
@@ -25,4 +27,7 @@ private:
 
 int max_fs_arity(const Constraint_Handle &amp;c);
 
+}
+
+
 #endif</diff>
      <filename>code_gen/include/code_gen/elim.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,8 @@
 #include &lt;omega.h&gt;
 #include &lt;code_gen/MMap.h&gt;
 
+namespace omega {
+
 bool checkDataFlow(Tuple&lt;stm_info&gt; &amp;info);
 bool checkIS(Tuple&lt;stm_info&gt; info);
 bool checkPartials(Tuple&lt;stm_info&gt; info);
@@ -12,5 +14,6 @@ bool checkBounds(Tuple&lt;stm_info&gt; noconst);
 bool check_arities(Tuple&lt;Relation&gt; &amp;sets, int arity);
 bool check_arities(Tuple&lt;stm_info&gt; &amp;info);
 
+}
 
 #endif</diff>
      <filename>code_gen/include/code_gen/mmap-checks.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,15 @@
 #include &lt;code_gen/CG_stringBuilder.h&gt;
 #include &lt;code_gen/CG_stringRepr.h&gt;
 
+#ifndef MMAPCODEGEN_H 
+#define MMAPCODEGEN_H 
+
+namespace omega {
+
 // the main &quot;tcodegen&quot; function
 // (stands for either &quot;Tina's codegen&quot; or &quot;time-skewed codegen&quot;)
 String tcodegen(int effort, Tuple&lt;stm_info&gt; &amp;info, const Relation &amp;known, bool check_input = true);
+
+}
+
+#endif</diff>
      <filename>code_gen/include/code_gen/mmap-codegen.h</filename>
    </modified>
    <modified>
      <diff>@@ -9,4 +9,8 @@
     and integrated into the Substitutions class.
  */
 
+namespace omega {
+
 String get_sub(Relation &amp;R, int o, Substitutions &amp;subs);
+
+}</diff>
      <filename>code_gen/include/code_gen/mmap-sub.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 #include &lt;code_gen/MMap.h&gt;
 
+namespace omega {
+
 /*
  * Utility functions for dealing with stm_info arrays
  */
@@ -62,3 +64,5 @@ extern int code_gen_debug;
 #define tcodegen_debug code_gen_debug
 static const char *debug_mark_cp = &quot;# tcodegen debug:\t&quot;;
 static const String debug_mark = debug_mark_cp;
+
+} // end namespace omega</diff>
      <filename>code_gen/include/code_gen/mmap-util.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-/* $Id: spmd.h,v 1.1.1.1 2000/06/29 19:23:29 dwonnaco Exp $ */
+/* $Id: spmd.h,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $ */
 #if !defined(Already_Included_spmd)
 #define Already_Included_spmd
 
@@ -6,6 +6,8 @@
 #include &lt;code_gen/code_gen.h&gt;
 #include &lt;basic/Tuple.h&gt;
 
+namespace omega {
+
 extern int overheadEffort;
 
 extern int gen_dash;
@@ -68,6 +70,7 @@ protected:
     Relation my_time;
     Relation my_space;
 
+public:
     void add_cyclic_level(int level){
         extern void move_just_input(int from, int to, Relation &amp;R);
 
@@ -80,7 +83,7 @@ protected:
         my_time.compress(); my_space.compress();
     }
 
-    friend Omega_String SPMD_GenerateCode(String Decls,
+    friend String SPMD_GenerateCode(String Decls,
 				    SetTuple &amp;Space, RelTuple &amp;Time,
                                     SetTuple &amp;IterationSpaces,
                                     Tuple&lt;spmd_stmt_info *&gt; &amp;NameInfo,
@@ -151,5 +154,6 @@ private:
     char *my_stmt;
 };
 
+} // end namespace omega
 
 #endif</diff>
      <filename>code_gen/include/code_gen/spmd.h</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,7 @@
 #include &lt;code_gen/CG_outputBuilder.h&gt;
 #include &lt;code_gen/CG_outputRepr.h&gt;
 
+namespace omega {
 
 CG_outputRepr* tryToPrintVarToReprWithDiv(CG_outputBuilder* ocg,
 					       Conjunct *C, Variable_ID v);
@@ -13,4 +14,6 @@ CG_outputRepr* print_outputs_with_subs_to_repr(Relation &amp;R,
 CG_outputRepr* print_sub_to_repr(CG_outputBuilder* ocg, const Sub_Handle &amp;s);
 CG_outputRepr* print_term_to_repr(CG_outputBuilder* ocg, const Sub_Handle &amp;s, int c);
 
+}
+
 #endif</diff>
      <filename>code_gen/include/code_gen/stmt_builder.h</filename>
    </modified>
    <modified>
      <diff>@@ -0,0 +1,540 @@
+# DO NOT DELETE
+
+../src/CG_stringBuilder.o: /usr/include/assert.h /usr/include/sys/cdefs.h
+../src/CG_stringBuilder.o: ../../basic/include/basic/String.h
+../src/CG_stringBuilder.o: ../../basic/include/basic/bool.h
+../src/CG_stringBuilder.o: ../../basic/include/basic/util.h
+../src/CG_stringBuilder.o: /usr/include/stdio.h /usr/include/_types.h
+../src/CG_stringBuilder.o: /usr/include/sys/_types.h
+../src/CG_stringBuilder.o: /usr/include/machine/_types.h
+../src/CG_stringBuilder.o: /usr/include/i386/_types.h /usr/include/limits.h
+../src/CG_stringBuilder.o: /usr/include/machine/limits.h
+../src/CG_stringBuilder.o: /usr/include/i386/limits.h
+../src/CG_stringBuilder.o: /usr/include/i386/_limits.h
+../src/CG_stringBuilder.o: /usr/include/sys/syslimits.h /usr/include/float.h
+../src/CG_stringBuilder.o: ../../basic/include/basic/assert.h
+../src/CG_stringBuilder.o: /usr/include/stdlib.h /usr/include/sys/wait.h
+../src/CG_stringBuilder.o: /usr/include/sys/signal.h
+../src/CG_stringBuilder.o: /usr/include/sys/appleapiopts.h
+../src/CG_stringBuilder.o: /usr/include/machine/signal.h
+../src/CG_stringBuilder.o: /usr/include/i386/signal.h
+../src/CG_stringBuilder.o: /usr/include/sys/resource.h
+../src/CG_stringBuilder.o: /usr/include/machine/endian.h
+../src/CG_stringBuilder.o: /usr/include/i386/endian.h
+../src/CG_stringBuilder.o: /usr/include/sys/_endian.h /usr/include/stdint.h
+../src/CG_stringBuilder.o: /usr/include/libkern/OSByteOrder.h
+../src/CG_stringBuilder.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/CG_stringBuilder.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/CG_stringBuilder.o: /usr/include/i386/types.h /usr/include/string.h
+../src/CG_stringBuilder.o: ../include/code_gen/CG_stringBuilder.h
+../src/CG_stringBuilder.o: ../include/code_gen/CG_outputBuilder.h
+../src/CG_stringBuilder.o: ../include/code_gen/CG_outputRepr.h
+../src/CG_stringBuilder.o: ../include/code_gen/CG_stringRepr.h
+../src/spmd.o: ../../basic/include/basic/bool.h
+../src/spmd.o: ../include/code_gen/code_gen.h
+../src/spmd.o: ../../basic/include/basic/Tuple.h
+../src/spmd.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/spmd.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/spmd.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/spmd.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/spmd.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/spmd.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/spmd.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/spmd.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/spmd.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/spmd.o: /usr/include/libkern/i386/OSByteOrder.h /usr/include/alloca.h
+../src/spmd.o: /usr/include/machine/types.h /usr/include/i386/types.h
+../src/spmd.o: /usr/include/stdio.h ../../basic/include/basic/Collection.h
+../src/spmd.o: ../../basic/include/basic/Iterator.h
+../src/spmd.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/spmd.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/spmd.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/spmd.o: /usr/include/float.h ../../basic/include/basic/Tuple.c
+../src/spmd.o: ../../omega_lib/include/omega/Relation.h
+../src/spmd.o: ../../omega_lib/include/omega/RelBody.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_form.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_gen.h
+../src/spmd.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/spmd.o: ../../basic/include/basic/String.h /usr/include/string.h
+../src/spmd.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/spmd.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/spmd.o: ../../basic/include/basic/ConstString.h
+../src/spmd.o: ../../basic/include/basic/List.h
+../src/spmd.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/spmd.o: ../../basic/include/basic/List.c
+../src/spmd.o: ../../basic/include/basic/List.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_var.h
+../src/spmd.o: ../../basic/include/basic/NonCoercible.h
+../src/spmd.o: ../../omega_lib/include/omega/Relations.h
+../src/spmd.o: ../include/code_gen/CG.h ../include/code_gen/elim.h
+../src/spmd.o: ../include/code_gen/CG_outputRepr.h
+../src/spmd.o: ../include/code_gen/CG_outputBuilder.h
+../src/spmd.o: ../include/code_gen/spmd.h
+../src/spmd.o: ../../omega_lib/include/omega/hull.h
+../src/spmd.o: ../../omega_lib/include/omega/farkas.h
+../src/spmd.o: ../../omega_lib/include/omega/Rel_map.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_conj.h
+../src/spmd.o: ../../omega_lib/include/omega/pres_decl.h
+../src/spmd.o: ../../basic/include/basic/Section.h
+../src/spmd.o: ../../basic/include/basic/Section.c
+../src/spmd.o: ../../omega_lib/include/omega/pres_logic.h /usr/include/math.h
+../src/spmd.o: /usr/include/architecture/i386/math.h /usr/include/sys/time.h
+../src/spmd.o: /usr/include/time.h /usr/include/machine/_limits.h
+../src/CG_stringRepr.o: ../include/code_gen/CG_stringRepr.h
+../src/CG_stringRepr.o: /usr/include/stdio.h /usr/include/_types.h
+../src/CG_stringRepr.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/CG_stringRepr.o: /usr/include/machine/_types.h
+../src/CG_stringRepr.o: /usr/include/i386/_types.h
+../src/CG_stringRepr.o: ../../basic/include/basic/String.h
+../src/CG_stringRepr.o: ../../basic/include/basic/bool.h
+../src/CG_stringRepr.o: ../../basic/include/basic/util.h
+../src/CG_stringRepr.o: /usr/include/limits.h /usr/include/machine/limits.h
+../src/CG_stringRepr.o: /usr/include/i386/limits.h
+../src/CG_stringRepr.o: /usr/include/i386/_limits.h
+../src/CG_stringRepr.o: /usr/include/sys/syslimits.h /usr/include/float.h
+../src/CG_stringRepr.o: ../../basic/include/basic/assert.h
+../src/CG_stringRepr.o: /usr/include/stdlib.h /usr/include/sys/wait.h
+../src/CG_stringRepr.o: /usr/include/sys/signal.h
+../src/CG_stringRepr.o: /usr/include/sys/appleapiopts.h
+../src/CG_stringRepr.o: /usr/include/machine/signal.h
+../src/CG_stringRepr.o: /usr/include/i386/signal.h
+../src/CG_stringRepr.o: /usr/include/sys/resource.h
+../src/CG_stringRepr.o: /usr/include/machine/endian.h
+../src/CG_stringRepr.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/CG_stringRepr.o: /usr/include/stdint.h
+../src/CG_stringRepr.o: /usr/include/libkern/OSByteOrder.h
+../src/CG_stringRepr.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/CG_stringRepr.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/CG_stringRepr.o: /usr/include/i386/types.h /usr/include/string.h
+../src/CG_stringRepr.o: ../include/code_gen/CG_outputRepr.h
+../src/code_gen.o: ../../basic/include/basic/bool.h
+../src/code_gen.o: ../../omega_lib/include/omega.h
+../src/code_gen.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/code_gen.o: /usr/include/stdio.h /usr/include/_types.h
+../src/code_gen.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/code_gen.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/code_gen.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_var.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_subs.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_gen.h
+../src/code_gen.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/code_gen.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/code_gen.o: /usr/include/sys/appleapiopts.h
+../src/code_gen.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/code_gen.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/code_gen.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/code_gen.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/code_gen.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/code_gen.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/code_gen.o: /usr/include/i386/types.h
+../src/code_gen.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/code_gen.o: ../../basic/include/basic/String.h
+../src/code_gen.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/code_gen.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/code_gen.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/code_gen.o: /usr/include/float.h /usr/include/string.h
+../src/code_gen.o: ../../basic/include/basic/ConstString.h
+../src/code_gen.o: ../../basic/include/basic/Iterator.h
+../src/code_gen.o: ../../basic/include/basic/Collection.h
+../src/code_gen.o: ../../basic/include/basic/List.h
+../src/code_gen.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/code_gen.o: ../../basic/include/basic/List.c
+../src/code_gen.o: ../../basic/include/basic/List.h
+../src/code_gen.o: ../../basic/include/basic/Tuple.h
+../src/code_gen.o: ../../basic/include/basic/Tuple.c
+../src/code_gen.o: ../../omega_lib/include/omega/Relation.h
+../src/code_gen.o: ../../omega_lib/include/omega/RelBody.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_form.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/code_gen.o: ../../basic/include/basic/NonCoercible.h
+../src/code_gen.o: ../../omega_lib/include/omega/Relations.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_conj.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_decl.h
+../src/code_gen.o: ../../basic/include/basic/Section.h
+../src/code_gen.o: ../../basic/include/basic/Section.c
+../src/code_gen.o: ../../omega_lib/include/omega/pres_logic.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_quant.h
+../src/code_gen.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/code_gen.o: ../../omega_lib/include/omega/Rel_map.h
+../src/code_gen.o: ../../omega_lib/include/omega/farkas.h
+../src/code_gen.o: ../../omega_lib/include/omega/hull.h
+../src/code_gen.o: ../../omega_lib/include/omega/closure.h
+../src/code_gen.o: ../../omega_lib/include/omega/lib_hack.h
+../src/code_gen.o: ../include/code_gen/elim.h ../include/code_gen/code_gen.h
+../src/code_gen.o: ../include/code_gen/CG.h
+../src/code_gen.o: ../include/code_gen/CG_outputRepr.h
+../src/code_gen.o: ../include/code_gen/CG_outputBuilder.h
+../src/code_gen.o: ../../basic/include/basic/Bag.h
+../src/code_gen.o: ../../basic/include/basic/Bag.c
+../src/code_gen.o: ../../basic/include/basic/Map.h
+../src/code_gen.o: ../../basic/include/basic/Map.c /usr/include/math.h
+../src/code_gen.o: /usr/include/architecture/i386/math.h
+../src/code_gen.o: ../include/code_gen/CG_stringBuilder.h
+../src/code_gen.o: ../include/code_gen/CG_stringRepr.h
+../src/code_gen.o: ../include/code_gen/stmt_builder.h
+../src/stmt_builder.o: ../../omega_lib/include/omega.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/stmt_builder.o: /usr/include/stdio.h /usr/include/_types.h
+../src/stmt_builder.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/stmt_builder.o: /usr/include/machine/_types.h
+../src/stmt_builder.o: /usr/include/i386/_types.h /usr/include/ctype.h
+../src/stmt_builder.o: /usr/include/runetype.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_var.h
+../src/stmt_builder.o: ../../basic/include/basic/bool.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_subs.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_gen.h
+../src/stmt_builder.o: ../../basic/include/basic/assert.h
+../src/stmt_builder.o: /usr/include/stdlib.h /usr/include/sys/wait.h
+../src/stmt_builder.o: /usr/include/sys/signal.h
+../src/stmt_builder.o: /usr/include/sys/appleapiopts.h
+../src/stmt_builder.o: /usr/include/machine/signal.h
+../src/stmt_builder.o: /usr/include/i386/signal.h /usr/include/sys/resource.h
+../src/stmt_builder.o: /usr/include/machine/endian.h
+../src/stmt_builder.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/stmt_builder.o: /usr/include/stdint.h
+../src/stmt_builder.o: /usr/include/libkern/OSByteOrder.h
+../src/stmt_builder.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/stmt_builder.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/stmt_builder.o: /usr/include/i386/types.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/stmt_builder.o: ../../basic/include/basic/String.h
+../src/stmt_builder.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/stmt_builder.o: /usr/include/machine/limits.h
+../src/stmt_builder.o: /usr/include/i386/limits.h /usr/include/i386/_limits.h
+../src/stmt_builder.o: /usr/include/sys/syslimits.h /usr/include/float.h
+../src/stmt_builder.o: /usr/include/string.h
+../src/stmt_builder.o: ../../basic/include/basic/ConstString.h
+../src/stmt_builder.o: ../../basic/include/basic/Iterator.h
+../src/stmt_builder.o: ../../basic/include/basic/Collection.h
+../src/stmt_builder.o: ../../basic/include/basic/List.h
+../src/stmt_builder.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/stmt_builder.o: ../../basic/include/basic/List.c
+../src/stmt_builder.o: ../../basic/include/basic/List.h
+../src/stmt_builder.o: ../../basic/include/basic/Tuple.h
+../src/stmt_builder.o: ../../basic/include/basic/Tuple.c
+../src/stmt_builder.o: ../../omega_lib/include/omega/Relation.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/RelBody.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_form.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/stmt_builder.o: ../../basic/include/basic/NonCoercible.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/Relations.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_conj.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_decl.h
+../src/stmt_builder.o: ../../basic/include/basic/Section.h
+../src/stmt_builder.o: ../../basic/include/basic/Section.c
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_logic.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_quant.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/Rel_map.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/farkas.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/hull.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/closure.h
+../src/stmt_builder.o: ../../omega_lib/include/omega/lib_hack.h
+../src/stmt_builder.o: ../include/code_gen/stmt_builder.h
+../src/stmt_builder.o: ../include/code_gen/CG_outputBuilder.h
+../src/stmt_builder.o: ../include/code_gen/CG_outputRepr.h
+../src/elim.o: ../../omega_lib/include/omega.h
+../src/elim.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/elim.o: /usr/include/stdio.h /usr/include/_types.h
+../src/elim.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/elim.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/elim.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/elim.o: ../../omega_lib/include/omega/pres_var.h
+../src/elim.o: ../../basic/include/basic/bool.h
+../src/elim.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/elim.o: ../../omega_lib/include/omega/pres_subs.h
+../src/elim.o: ../../omega_lib/include/omega/pres_gen.h
+../src/elim.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/elim.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/elim.o: /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h
+../src/elim.o: /usr/include/i386/signal.h /usr/include/sys/resource.h
+../src/elim.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
+../src/elim.o: /usr/include/sys/_endian.h /usr/include/stdint.h
+../src/elim.o: /usr/include/libkern/OSByteOrder.h
+../src/elim.o: /usr/include/libkern/i386/OSByteOrder.h /usr/include/alloca.h
+../src/elim.o: /usr/include/machine/types.h /usr/include/i386/types.h
+../src/elim.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/elim.o: ../../basic/include/basic/String.h
+../src/elim.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/elim.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/elim.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/elim.o: /usr/include/float.h /usr/include/string.h
+../src/elim.o: ../../basic/include/basic/ConstString.h
+../src/elim.o: ../../basic/include/basic/Iterator.h
+../src/elim.o: ../../basic/include/basic/Collection.h
+../src/elim.o: ../../basic/include/basic/List.h
+../src/elim.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/elim.o: ../../basic/include/basic/List.c
+../src/elim.o: ../../basic/include/basic/List.h
+../src/elim.o: ../../basic/include/basic/Tuple.h
+../src/elim.o: ../../basic/include/basic/Tuple.c
+../src/elim.o: ../../omega_lib/include/omega/Relation.h
+../src/elim.o: ../../omega_lib/include/omega/RelBody.h
+../src/elim.o: ../../omega_lib/include/omega/pres_form.h
+../src/elim.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/elim.o: ../../basic/include/basic/NonCoercible.h
+../src/elim.o: ../../omega_lib/include/omega/Relations.h
+../src/elim.o: ../../omega_lib/include/omega/pres_conj.h
+../src/elim.o: ../../omega_lib/include/omega/pres_decl.h
+../src/elim.o: ../../basic/include/basic/Section.h
+../src/elim.o: ../../basic/include/basic/Section.c
+../src/elim.o: ../../omega_lib/include/omega/pres_logic.h
+../src/elim.o: ../../omega_lib/include/omega/pres_quant.h
+../src/elim.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/elim.o: ../../omega_lib/include/omega/Rel_map.h
+../src/elim.o: ../../omega_lib/include/omega/farkas.h
+../src/elim.o: ../../omega_lib/include/omega/hull.h
+../src/elim.o: ../../omega_lib/include/omega/closure.h
+../src/elim.o: ../../omega_lib/include/omega/lib_hack.h
+../src/elim.o: ../include/code_gen/elim.h
+../src/mmap-codegen.o: /usr/include/assert.h /usr/include/sys/cdefs.h
+../src/mmap-codegen.o: ../include/code_gen/mmap-codegen.h
+../src/mmap-codegen.o: ../include/code_gen/MMap.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/mmap-codegen.o: /usr/include/stdio.h /usr/include/_types.h
+../src/mmap-codegen.o: /usr/include/sys/_types.h
+../src/mmap-codegen.o: /usr/include/machine/_types.h
+../src/mmap-codegen.o: /usr/include/i386/_types.h /usr/include/ctype.h
+../src/mmap-codegen.o: /usr/include/runetype.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_var.h
+../src/mmap-codegen.o: ../../basic/include/basic/bool.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_subs.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_gen.h
+../src/mmap-codegen.o: ../../basic/include/basic/assert.h
+../src/mmap-codegen.o: /usr/include/stdlib.h /usr/include/sys/wait.h
+../src/mmap-codegen.o: /usr/include/sys/signal.h
+../src/mmap-codegen.o: /usr/include/sys/appleapiopts.h
+../src/mmap-codegen.o: /usr/include/machine/signal.h
+../src/mmap-codegen.o: /usr/include/i386/signal.h /usr/include/sys/resource.h
+../src/mmap-codegen.o: /usr/include/machine/endian.h
+../src/mmap-codegen.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/mmap-codegen.o: /usr/include/stdint.h
+../src/mmap-codegen.o: /usr/include/libkern/OSByteOrder.h
+../src/mmap-codegen.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/mmap-codegen.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/mmap-codegen.o: /usr/include/i386/types.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/mmap-codegen.o: ../../basic/include/basic/String.h
+../src/mmap-codegen.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/mmap-codegen.o: /usr/include/machine/limits.h
+../src/mmap-codegen.o: /usr/include/i386/limits.h /usr/include/i386/_limits.h
+../src/mmap-codegen.o: /usr/include/sys/syslimits.h /usr/include/float.h
+../src/mmap-codegen.o: /usr/include/string.h
+../src/mmap-codegen.o: ../../basic/include/basic/ConstString.h
+../src/mmap-codegen.o: ../../basic/include/basic/Iterator.h
+../src/mmap-codegen.o: ../../basic/include/basic/Collection.h
+../src/mmap-codegen.o: ../../basic/include/basic/List.h
+../src/mmap-codegen.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/mmap-codegen.o: ../../basic/include/basic/List.c
+../src/mmap-codegen.o: ../../basic/include/basic/List.h
+../src/mmap-codegen.o: ../../basic/include/basic/Tuple.h
+../src/mmap-codegen.o: ../../basic/include/basic/Tuple.c
+../src/mmap-codegen.o: ../../omega_lib/include/omega/Relation.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/RelBody.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_form.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/mmap-codegen.o: ../../basic/include/basic/NonCoercible.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/Relations.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_conj.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_decl.h
+../src/mmap-codegen.o: ../../basic/include/basic/Section.h
+../src/mmap-codegen.o: ../../basic/include/basic/Section.c
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_logic.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_quant.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/Rel_map.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/farkas.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/hull.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/closure.h
+../src/mmap-codegen.o: ../../omega_lib/include/omega/lib_hack.h
+../src/mmap-codegen.o: ../include/code_gen/code_gen.h
+../src/mmap-codegen.o: ../include/code_gen/CG.h ../include/code_gen/elim.h
+../src/mmap-codegen.o: ../include/code_gen/CG_outputRepr.h
+../src/mmap-codegen.o: ../include/code_gen/CG_outputBuilder.h
+../src/mmap-codegen.o: ../include/code_gen/CG_stringBuilder.h
+../src/mmap-codegen.o: ../include/code_gen/CG_stringRepr.h
+../src/mmap-codegen.o: ../include/code_gen/mmap-util.h
+../src/mmap-codegen.o: ../include/code_gen/mmap-sub.h
+../src/mmap-codegen.o: ../include/code_gen/mmap-checks.h
+../src/mmap-codegen.o: ../../basic/include/basic/Exit.h
+../src/mmap-util.o: ../include/code_gen/mmap-util.h
+../src/mmap-util.o: ../include/code_gen/MMap.h
+../src/mmap-util.o: ../../omega_lib/include/omega.h
+../src/mmap-util.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/mmap-util.o: /usr/include/stdio.h /usr/include/_types.h
+../src/mmap-util.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/mmap-util.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/mmap-util.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_var.h
+../src/mmap-util.o: ../../basic/include/basic/bool.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_subs.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_gen.h
+../src/mmap-util.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/mmap-util.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/mmap-util.o: /usr/include/sys/appleapiopts.h
+../src/mmap-util.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/mmap-util.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/mmap-util.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/mmap-util.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/mmap-util.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/mmap-util.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/mmap-util.o: /usr/include/i386/types.h
+../src/mmap-util.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/mmap-util.o: ../../basic/include/basic/String.h
+../src/mmap-util.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/mmap-util.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/mmap-util.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/mmap-util.o: /usr/include/float.h /usr/include/string.h
+../src/mmap-util.o: ../../basic/include/basic/ConstString.h
+../src/mmap-util.o: ../../basic/include/basic/Iterator.h
+../src/mmap-util.o: ../../basic/include/basic/Collection.h
+../src/mmap-util.o: ../../basic/include/basic/List.h
+../src/mmap-util.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/mmap-util.o: ../../basic/include/basic/List.c
+../src/mmap-util.o: ../../basic/include/basic/List.h
+../src/mmap-util.o: ../../basic/include/basic/Tuple.h
+../src/mmap-util.o: ../../basic/include/basic/Tuple.c
+../src/mmap-util.o: ../../omega_lib/include/omega/Relation.h
+../src/mmap-util.o: ../../omega_lib/include/omega/RelBody.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_form.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/mmap-util.o: ../../basic/include/basic/NonCoercible.h
+../src/mmap-util.o: ../../omega_lib/include/omega/Relations.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_conj.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_decl.h
+../src/mmap-util.o: ../../basic/include/basic/Section.h
+../src/mmap-util.o: ../../basic/include/basic/Section.c
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_logic.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_quant.h
+../src/mmap-util.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/mmap-util.o: ../../omega_lib/include/omega/Rel_map.h
+../src/mmap-util.o: ../../omega_lib/include/omega/farkas.h
+../src/mmap-util.o: ../../omega_lib/include/omega/hull.h
+../src/mmap-util.o: ../../omega_lib/include/omega/closure.h
+../src/mmap-util.o: ../../omega_lib/include/omega/lib_hack.h
+../src/mmap-checks.o: ../include/code_gen/mmap-checks.h
+../src/mmap-checks.o: ../../omega_lib/include/omega.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/mmap-checks.o: /usr/include/stdio.h /usr/include/_types.h
+../src/mmap-checks.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/mmap-checks.o: /usr/include/machine/_types.h
+../src/mmap-checks.o: /usr/include/i386/_types.h /usr/include/ctype.h
+../src/mmap-checks.o: /usr/include/runetype.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_var.h
+../src/mmap-checks.o: ../../basic/include/basic/bool.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_subs.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_gen.h
+../src/mmap-checks.o: ../../basic/include/basic/assert.h
+../src/mmap-checks.o: /usr/include/stdlib.h /usr/include/sys/wait.h
+../src/mmap-checks.o: /usr/include/sys/signal.h
+../src/mmap-checks.o: /usr/include/sys/appleapiopts.h
+../src/mmap-checks.o: /usr/include/machine/signal.h
+../src/mmap-checks.o: /usr/include/i386/signal.h /usr/include/sys/resource.h
+../src/mmap-checks.o: /usr/include/machine/endian.h
+../src/mmap-checks.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/mmap-checks.o: /usr/include/stdint.h
+../src/mmap-checks.o: /usr/include/libkern/OSByteOrder.h
+../src/mmap-checks.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/mmap-checks.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/mmap-checks.o: /usr/include/i386/types.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/mmap-checks.o: ../../basic/include/basic/String.h
+../src/mmap-checks.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/mmap-checks.o: /usr/include/machine/limits.h
+../src/mmap-checks.o: /usr/include/i386/limits.h /usr/include/i386/_limits.h
+../src/mmap-checks.o: /usr/include/sys/syslimits.h /usr/include/float.h
+../src/mmap-checks.o: /usr/include/string.h
+../src/mmap-checks.o: ../../basic/include/basic/ConstString.h
+../src/mmap-checks.o: ../../basic/include/basic/Iterator.h
+../src/mmap-checks.o: ../../basic/include/basic/Collection.h
+../src/mmap-checks.o: ../../basic/include/basic/List.h
+../src/mmap-checks.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/mmap-checks.o: ../../basic/include/basic/List.c
+../src/mmap-checks.o: ../../basic/include/basic/List.h
+../src/mmap-checks.o: ../../basic/include/basic/Tuple.h
+../src/mmap-checks.o: ../../basic/include/basic/Tuple.c
+../src/mmap-checks.o: ../../omega_lib/include/omega/Relation.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/RelBody.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_form.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/mmap-checks.o: ../../basic/include/basic/NonCoercible.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/Relations.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_conj.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_decl.h
+../src/mmap-checks.o: ../../basic/include/basic/Section.h
+../src/mmap-checks.o: ../../basic/include/basic/Section.c
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_logic.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_quant.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/Rel_map.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/farkas.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/hull.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/closure.h
+../src/mmap-checks.o: ../../omega_lib/include/omega/lib_hack.h
+../src/mmap-checks.o: ../include/code_gen/MMap.h
+../src/mmap-checks.o: ../include/code_gen/mmap-util.h
+../src/mmap-sub.o: ../include/code_gen/mmap-sub.h
+../src/mmap-sub.o: ../../omega_lib/include/omega.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/mmap-sub.o: /usr/include/stdio.h /usr/include/_types.h
+../src/mmap-sub.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/mmap-sub.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/mmap-sub.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_var.h
+../src/mmap-sub.o: ../../basic/include/basic/bool.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_subs.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_gen.h
+../src/mmap-sub.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/mmap-sub.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/mmap-sub.o: /usr/include/sys/appleapiopts.h
+../src/mmap-sub.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/mmap-sub.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/mmap-sub.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/mmap-sub.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/mmap-sub.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/mmap-sub.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/mmap-sub.o: /usr/include/i386/types.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/mmap-sub.o: ../../basic/include/basic/String.h
+../src/mmap-sub.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/mmap-sub.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/mmap-sub.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/mmap-sub.o: /usr/include/float.h /usr/include/string.h
+../src/mmap-sub.o: ../../basic/include/basic/ConstString.h
+../src/mmap-sub.o: ../../basic/include/basic/Iterator.h
+../src/mmap-sub.o: ../../basic/include/basic/Collection.h
+../src/mmap-sub.o: ../../basic/include/basic/List.h
+../src/mmap-sub.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/mmap-sub.o: ../../basic/include/basic/List.c
+../src/mmap-sub.o: ../../basic/include/basic/List.h
+../src/mmap-sub.o: ../../basic/include/basic/Tuple.h
+../src/mmap-sub.o: ../../basic/include/basic/Tuple.c
+../src/mmap-sub.o: ../../omega_lib/include/omega/Relation.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/RelBody.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_form.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/mmap-sub.o: ../../basic/include/basic/NonCoercible.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/Relations.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_conj.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_decl.h
+../src/mmap-sub.o: ../../basic/include/basic/Section.h
+../src/mmap-sub.o: ../../basic/include/basic/Section.c
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_logic.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_quant.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/Rel_map.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/farkas.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/hull.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/closure.h
+../src/mmap-sub.o: ../../omega_lib/include/omega/lib_hack.h
+../src/mmap-sub.o: ../include/code_gen/mmap-util.h ../include/code_gen/MMap.h
+../src/mmap-sub.o: ../../basic/include/basic/Exit.h</diff>
      <filename>code_gen/obj/Makefile.deps</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-// $Id: CG_stringBuilder.c,v 1.1.1.1 2000/06/29 19:23:29 dwonnaco Exp $
+// $Id: CG_stringBuilder.c,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $
 
 //*****************************************************************************
 // File: CG_stringBuilder.C
@@ -18,6 +18,8 @@
 #include &lt;code_gen/CG_stringBuilder.h&gt;
 #include &lt;code_gen/CG_stringRepr.h&gt;
 
+using namespace omega;
+
 //*****************************************************************************
 // static function declarations
 //*****************************************************************************
@@ -42,7 +44,7 @@ CG_stringBuilder::~CG_stringBuilder()
 //-----------------------------------------------------------------------------
 CG_outputRepr* 
 CG_stringBuilder::CreatePlaceHolder(int indent, const String &amp;funcName,
-				    CG_outputRepr* funcList) const
+				    CG_outputRepr* funcList,bool gen_python) const
 {
   String listStr = &quot;&quot;;
 
@@ -54,7 +56,10 @@ CG_stringBuilder::CreatePlaceHolder(int indent, const String &amp;funcName,
 
   String indentStr = GetIndentSpaces(indent);
 
-  return new CG_stringRepr(indentStr + fStr + &quot;(&quot; + listStr + &quot;);\n&quot;);
+  if(gen_python)
+    return new CG_stringRepr(indentStr + fStr + &quot;(&quot; + listStr + &quot;)\n&quot;);
+  else
+    return new CG_stringRepr(indentStr + fStr + &quot;(&quot; + listStr + &quot;);\n&quot;);
 }
 
 //-----------------------------------------------------------------------------
@@ -142,7 +147,8 @@ CG_outputRepr* CG_stringBuilder::CreateIf(int indent, CG_outputRepr* guardList,
 CG_outputRepr* CG_stringBuilder::CreateInductive(CG_outputRepr* index,
 						 CG_outputRepr* lower,
 						 CG_outputRepr* upper,
-						 CG_outputRepr* step) const
+						 CG_outputRepr* step,
+						 bool gen_python) const
 {
   if ( index == CG_REPR_NIL || lower == CG_REPR_NIL || upper == CG_REPR_NIL ) {
     assert(0 &amp;&amp; &quot;Something wrong in CreateInductive&quot;);
@@ -153,20 +159,35 @@ CG_outputRepr* CG_stringBuilder::CreateInductive(CG_outputRepr* index,
   String lowerStr = GetString(lower);
   String upperStr = GetString(upper);
 
-  String doStr = &quot;for(&quot; + indexStr + &quot; = &quot; + lowerStr + &quot;; &quot; 
-                        + indexStr + &quot; &lt;= &quot; + upperStr + &quot;; &quot; 
-                        + indexStr;
-  
-  if ( step != CG_REPR_NIL ) {
-    String stepStr = GetString(step);
-    doStr += &quot; += &quot; + stepStr;
-  }
-  else {
-    doStr += &quot;++&quot;;
+  String doStr;
+  if(gen_python)
+  {
+    doStr = &quot;for &quot; + indexStr + &quot; in range(&quot;+
+                    lowerStr + &quot;,&quot; + upperStr + &quot;+1&quot;;
+    if ( step != CG_REPR_NIL )
+    {
+      String stepStr = GetString(step);
+      doStr+=&quot;,&quot;+stepStr;
+    }
+    doStr+=&quot;):&quot;;
+  }
+  else
+  {
+     doStr = &quot;for(&quot; + indexStr + &quot; = &quot; + lowerStr + &quot;; &quot; 
+                          + indexStr + &quot; &lt;= &quot; + upperStr + &quot;; &quot; 
+                          + indexStr;
+
+    if ( step != CG_REPR_NIL ) {
+     String stepStr = GetString(step);
+     doStr += &quot; += &quot; + stepStr;
+     }
+    else {
+     doStr += &quot;++&quot;;
+    }
+
+    doStr += &quot;)&quot;;
   }
-    
-  doStr += &quot;)&quot;;
-      
+
   return new CG_stringRepr(doStr);
 }
 
@@ -175,7 +196,7 @@ CG_outputRepr* CG_stringBuilder::CreateInductive(CG_outputRepr* index,
 // loop stmt generation
 //-----------------------------------------------------------------------------
 CG_outputRepr* CG_stringBuilder::CreateLoop(int indent, CG_outputRepr* control,
-					    CG_outputRepr* stmtList) const
+					    CG_outputRepr* stmtList,bool gen_python) const
 {
   if ( stmtList == CG_REPR_NIL ) {
     delete control;
@@ -191,9 +212,18 @@ CG_outputRepr* CG_stringBuilder::CreateLoop(int indent, CG_outputRepr* control,
 
   String indentStr = GetIndentSpaces(indent);
 
-  String s = indentStr + ctrlStr + &quot; {\n&quot; 
+  String s;
+  if(gen_python)
+  {
+     s = indentStr + ctrlStr + &quot;\n&quot; 
+                       + stmtStr;
+  }
+  else
+  {
+     s = indentStr + ctrlStr + &quot; {\n&quot; 
                        + stmtStr 
            + indentStr + &quot;}\n&quot;;
+  }
 
   return new CG_stringRepr(s);
 }</diff>
      <filename>code_gen/src/CG_stringBuilder.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-// $Id: CG_stringRepr.c,v 1.1.1.1 2000/06/29 19:23:30 dwonnaco Exp $
+// $Id: CG_stringRepr.c,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $
 
 //*****************************************************************************
 // File: CG_stringRepr.C
@@ -14,8 +14,9 @@
 
 #include &lt;code_gen/CG_stringRepr.h&gt;
 #include &lt;stdio.h&gt;
-#include &lt;iostream.h&gt;
+#include &lt;iostream&gt;
 
+namespace omega {
 
 CG_stringRepr::CG_stringRepr()
 {
@@ -56,3 +57,4 @@ void CG_stringRepr::DumpToFile(FILE *fp) const
   fprintf(fp,&quot;%s&quot;, (const char *)s);
 }
 
+} // end namespace omega</diff>
      <filename>code_gen/src/CG_stringRepr.c</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,7 @@
 #include &lt;basic/Map.h&gt;
 #include &lt;basic/util.h&gt;
 #include &lt;math.h&gt;
+#include &lt;string&gt;
 
 //*****************************************************************************
 // Omega code gen builder and internal representation
@@ -20,8 +21,11 @@
 
 #include &lt;code_gen/stmt_builder.h&gt;
 
+namespace omega {
+
 #if ! defined DONT_EVEN_TRY_TO_COMPILE_CODE_GEN_WITH_CFRONT
 
+
 static int last_level;// Should not be global, but it is.
 static int OMEGA_WHINGE = -1;
 
@@ -29,6 +33,7 @@ SetTuple function_guards;
 SetTuple new_IS;
 SetTupleTuple projected_nIS;
 Tuple&lt;naming_info *&gt; statementNameInfo;
+bool gen_python=false;
 
 
 // ******************************************
@@ -1038,7 +1043,7 @@ bool printBounds(CG_outputBuilder* ocg,
     b.prefix_print(DebugFile);
   }
 
-  ctrlRepr = ocg-&gt;CreateInductive(indexRepr, lbRepr, ubRepr, stRepr);
+  ctrlRepr = ocg-&gt;CreateInductive(indexRepr, lbRepr, ubRepr, stRepr,gen_python);
 
   return true;
 }
@@ -1312,9 +1317,13 @@ CG_outputRepr *
 default_stmt_info::place_holder(CG_outputBuilder *ocg, int indent, 
 				Relation *current_map)
 {
-  String stmtName = String(&quot;s&quot;) + itoS(stmt_num);
+  String stmtName;
+  if(gen_python)
+    stmtName=String(&quot;yield &quot;);
+  else
+    stmtName = String(&quot;s&quot;) + itoS(stmt_num);
   CG_outputRepr* sList = print_outputs_with_subs_to_repr(*current_map,ocg);
-  CG_outputRepr* stmtRepr = ocg-&gt;CreatePlaceHolder(indent, stmtName, sList);
+  CG_outputRepr* stmtRepr = ocg-&gt;CreatePlaceHolder(indent, stmtName, sList,gen_python);
   return stmtRepr;  
 }
   
@@ -2233,7 +2242,7 @@ CG_outputRepr* CG_loop::printRepr(CG_outputBuilder* ocg, int indent)
   }
   else {
     bodyRepr = body-&gt;printRepr(ocg, indnt+1);
-    loopRepr = ocg-&gt;CreateLoop(indnt, ctrlRepr, bodyRepr);
+    loopRepr = ocg-&gt;CreateLoop(indnt, ctrlRepr, bodyRepr,gen_python);
   }
 
 
@@ -2509,6 +2518,21 @@ String MMGenerateCode(RelTuple &amp;T, SetTuple &amp;old_IS,
   return MMGenerateCode(T, old_IS, NameInfo, known, effort);
 }
 
+String MMGeneratePythonCode(RelTuple &amp;T, SetTuple &amp;old_IS, 
+		      Relation &amp;known, int effort){
+  Tuple&lt;naming_info *&gt; NameInfo;
+  for (int stmt = 1; stmt &lt;= T.size(); stmt++)
+  {
+    NameInfo.append(new default_stmt_info(stmt));
+  }
+  gen_python=true;
+  String s=MMGenerateCode(T, old_IS, NameInfo, known, effort);
+  std::string str=(const char*)s;
+  str=str.substr(0,str.length()-1);
+  gen_python=false;
+  return String(str.c_str());
+}
+
 
 //*****************************************************************************
 // MMGenerateCode implementation, added by D people. Lei Zhou, Apr. 24, 96
@@ -2714,7 +2738,11 @@ MMGenerateCode(CG_outputBuilder* ocg, RelTuple &amp;T, SetTuple &amp;old_IS,
   //--------------------------------------------------------------
   // really print out the loop
   //--------------------------------------------------------------
-  CG_outputRepr* sRepr = r-&gt;printRepr(ocg, 1);
+  CG_outputRepr* sRepr;
+  if(gen_python)
+    sRepr = r-&gt;printRepr(ocg, 2);
+  else
+    sRepr = r-&gt;printRepr(ocg, 1);
 
   print_in_code_gen_style--;
   delete r;
@@ -3052,3 +3080,4 @@ String MMGenerateCode(Tuple&lt;Relation&gt; &amp;, Tuple&lt;Relation&gt; &amp;, Tuple&lt;char*&gt; &amp;,
 
 
 #endif
+} // using namespace omega</diff>
      <filename>code_gen/src/code_gen.c</filename>
    </modified>
    <modified>
      <diff>@@ -2,11 +2,13 @@
 #include &lt;omega.h&gt;
 #include &lt;code_gen/elim.h&gt;
 
+namespace omega {
+
 int max_fs_arity(const Constraint_Handle &amp;c) {
   int max_arity=0;
   for(Constr_Vars_Iter cv(c); cv; cv++)
     if((*cv).var-&gt;kind() == Global_Var)
-      max_arity = max(max_arity,(*cv).var-&gt;get_global_var()-&gt;arity());
+      max_arity = omega::max(max_arity,(*cv).var-&gt;get_global_var()-&gt;arity());
   return max_arity;
 }
 
@@ -21,7 +23,7 @@ elimination_info::elimination_info(const Tuple&lt;Relation&gt; &amp;sets) {
     assert(R.is_set());
     for(DNF_Iterator D(R.query_DNF()); D; D++)
       for(Constraint_Iterator c(*D); c; c++)
-	max_arity = max(max_arity,max_fs_arity(*c));
+	max_arity = omega::max(max_arity,max_fs_arity(*c));
   }
   never_eliminate_lt = max_arity;
 }
@@ -74,3 +76,5 @@ String elimination_info::print_eliminated_to_string() {
         + &quot;) &quot;;
   return res;
 }
+
+} // end namespace omega</diff>
      <filename>code_gen/src/elim.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,10 @@
 #include &lt;code_gen/mmap-checks.h&gt;
 #include &lt;code_gen/mmap-util.h&gt;
 #include &lt;stdio.h&gt;
-#include &lt;iostream.h&gt;
+#include &lt;iostream&gt;
 #include &lt;omega.h&gt;
 
+namespace omega {
 
 /*****************************************************************************/
 // checks the reads and writes to make sure they cover all of the iteration space
@@ -403,3 +404,5 @@ bool check_arities(Tuple&lt;stm_info&gt; &amp;info)
     }
   return value;
 }
+
+} // end namespace omega</diff>
      <filename>code_gen/src/mmap-checks.c</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,9 @@
 #include &lt;code_gen/mmap-util.h&gt;
 #include &lt;code_gen/mmap-sub.h&gt;
 #include &lt;code_gen/mmap-checks.h&gt;
+#include &lt;basic/Exit.h&gt;
 
+namespace omega {
 
 // converts an integer to a string
 static inline String itos(int i)
@@ -491,3 +493,5 @@ String tcodegen(int effort, Tuple&lt;stm_info&gt; &amp;info, const Relation &amp;known1, bool
   result += MMGenerateCode(R,S,known,effort);
   return result;
 }
+
+} // end namespace omega</diff>
      <filename>code_gen/src/mmap-codegen.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,8 @@
 #include &lt;code_gen/mmap-sub.h&gt;
 #include &lt;code_gen/mmap-util.h&gt;
+#include &lt;basic/Exit.h&gt;
+
+namespace omega {
 
 #if ! defined DONT_QUIT_FOR_FAILED_SUBSTITUTION
 #define DONT_QUIT_FOR_FAILED_SUBSTITUTION (getenv(&quot;DONT_QUIT_FOR_FAILED_SUBSTITUTION&quot;) ? atoi(getenv(&quot;DONT_QUIT_FOR_FAILED_SUBSTITUTION&quot;)) : 0)
@@ -598,3 +601,5 @@ String get_sub(Relation &amp;R, int o, Substitutions &amp;subs)
 	}
     }
 }
+
+} // end namespace omega</diff>
      <filename>code_gen/src/mmap-sub.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 #include &lt;code_gen/mmap-util.h&gt;
 
+namespace omega {
+
 /* simplify everything */
 
 static void simplify_everything(Tuple&lt;stm_info&gt; &amp;info)
@@ -440,3 +442,5 @@ void DoDebug(char * message, int effort, const Tuple&lt;stm_info&gt; &amp;info, const Rela
 
    fprintf(DebugFile, &quot;%s&quot;, (const char *) result);
 }
+
+} // end namespace omega</diff>
      <filename>code_gen/src/mmap-util.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-/* $Id: spmd.c,v 1.2 2000/08/16 19:27:18 dwonnaco Exp $ */
+/* $Id: spmd.c,v 1.1.1.1 2004/09/13 21:07:47 mstrout Exp $ */
 #include &lt;basic/bool.h&gt;
 #include &lt;code_gen/code_gen.h&gt;
 #include &lt;code_gen/spmd.h&gt;
@@ -12,6 +12,10 @@
 #include &lt;sys/resource.h&gt;
 #endif
 
+using namespace omega;
+
+namespace omega {
+
 FILE *cyclic_debug_file = DebugFile;
 
 int overheadEffort = -1;
@@ -21,6 +25,7 @@ int Block_Size = 0;
 int Num_Procs = 0;
 
 
+
 String program_head(String Decls, int timeDepth) {
     String s = &quot;&quot;;
     if (gen_dash)
@@ -890,3 +895,5 @@ String SPMD_GenerateCode(String Decls, SetTuple &amp;Space, RelTuple &amp;Time,
     return SPMD_GenerateCode(Decls, Space, Time, IterationSpaces, NameInfo,
 			     lowerBounds,upperBounds,my_procs,Time.size());
 }
+
+} // end namespace omega</diff>
      <filename>code_gen/src/spmd.c</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,8 @@
 #include &lt;code_gen/stmt_builder.h&gt;
 #include &lt;omega/pres_subs.h&gt;
 
+namespace omega {
+
 
  //***********************************************************************
 // Methods added by D people, 
@@ -241,3 +243,4 @@ CG_outputRepr* print_sub_to_repr(CG_outputBuilder* ocg, const Sub_Handle &amp;s)
   return cgRepr;
 }
 
+} // end namespace omega</diff>
      <filename>code_gen/src/stmt_builder.c</filename>
    </modified>
    <modified>
      <diff>@@ -0,0 +1,180 @@
+# DO NOT DELETE
+
+../src/parser.o: /usr/include/stdio.h /usr/include/_types.h
+../src/parser.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/parser.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/parser.o: /usr/include/string.h ../../omega_lib/include/omega/AST.h
+../src/parser.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/parser.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/parser.o: /usr/include/sys/appleapiopts.h
+../src/parser.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/parser.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/parser.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/parser.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/parser.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/parser.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/parser.o: /usr/include/i386/types.h
+../src/parser.o: ../../basic/include/basic/Collections.h
+../src/parser.o: ../../basic/include/basic/Collection.h
+../src/parser.o: ../../basic/include/basic/Iterator.h
+../src/parser.o: ../../basic/include/basic/bool.h
+../src/parser.o: ../../basic/include/basic/List.h
+../src/parser.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/parser.o: ../../basic/include/basic/List.c
+../src/parser.o: ../../basic/include/basic/List.h
+../src/parser.o: ../../basic/include/basic/Bag.h
+../src/parser.o: ../../basic/include/basic/Bag.c
+../src/parser.o: ../../basic/include/basic/Map.h
+../src/parser.o: ../../basic/include/basic/Map.c
+../src/parser.o: ../../omega_lib/include/omega.h
+../src/parser.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/parser.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/parser.o: ../../omega_lib/include/omega/pres_var.h
+../src/parser.o: ../../omega_lib/include/omega/pres_gen.h
+../src/parser.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/parser.o: ../../basic/include/basic/String.h
+../src/parser.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/parser.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/parser.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/parser.o: /usr/include/float.h ../../basic/include/basic/ConstString.h
+../src/parser.o: ../../basic/include/basic/Tuple.h
+../src/parser.o: ../../basic/include/basic/Tuple.c
+../src/parser.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/parser.o: ../../omega_lib/include/omega/pres_subs.h
+../src/parser.o: ../../omega_lib/include/omega/Relation.h
+../src/parser.o: ../../omega_lib/include/omega/RelBody.h
+../src/parser.o: ../../omega_lib/include/omega/pres_form.h
+../src/parser.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/parser.o: ../../basic/include/basic/NonCoercible.h
+../src/parser.o: ../../omega_lib/include/omega/Relations.h
+../src/parser.o: ../../omega_lib/include/omega/pres_conj.h
+../src/parser.o: ../../omega_lib/include/omega/pres_decl.h
+../src/parser.o: ../../basic/include/basic/Section.h
+../src/parser.o: ../../basic/include/basic/Section.c
+../src/parser.o: ../../omega_lib/include/omega/pres_logic.h
+../src/parser.o: ../../omega_lib/include/omega/pres_quant.h
+../src/parser.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/parser.o: ../../omega_lib/include/omega/Rel_map.h
+../src/parser.o: ../../omega_lib/include/omega/farkas.h
+../src/parser.o: ../../omega_lib/include/omega/hull.h
+../src/parser.o: ../../omega_lib/include/omega/closure.h
+../src/parser.o: ../../omega_lib/include/omega/lib_hack.h
+../src/parser.o: ../../omega_lib/include/omega/enter_AST.h
+../src/parser.o: ../../basic/include/basic/Dynamic_Array.h
+../src/parser.o: ../../basic/include/basic/Dynamic_Array.c
+../src/parser.o: ../../basic/include/basic/Exit.h
+../src/parser.o: ../../code_gen/include/code_gen/mmap-codegen.h
+../src/parser.o: ../../code_gen/include/code_gen/MMap.h
+../src/parser.o: ../../code_gen/include/code_gen/code_gen.h
+../src/parser.o: ../../code_gen/include/code_gen/CG.h
+../src/parser.o: ../../code_gen/include/code_gen/elim.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_outputRepr.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_outputBuilder.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_stringBuilder.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_stringRepr.h
+../src/parser.o: ../../omega_lib/include/omega/calc_debug.h y.tab.h
+../src/parser.o: ../../basic/include/basic/Dynamic_Array.h
+../src/parser.o: ../../basic/include/basic/Dynamic_Array.c
+../src/parser.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/parser.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/parser.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/parser.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/parser.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/parser.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/parser.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/parser.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/parser.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/parser.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/parser.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/parser.o: /usr/include/i386/types.h /usr/include/stdio.h
+../src/parser.o: ../../code_gen/include/code_gen/code_gen.h
+../src/parser.o: ../../basic/include/basic/bool.h
+../src/parser.o: ../../basic/include/basic/Tuple.h
+../src/parser.o: ../../basic/include/basic/Collection.h
+../src/parser.o: ../../basic/include/basic/Iterator.h
+../src/parser.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/parser.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/parser.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/parser.o: /usr/include/float.h ../../basic/include/basic/Tuple.c
+../src/parser.o: ../../omega_lib/include/omega/Relation.h
+../src/parser.o: ../../omega_lib/include/omega/RelBody.h
+../src/parser.o: ../../omega_lib/include/omega/pres_form.h
+../src/parser.o: ../../omega_lib/include/omega/pres_dnf.h
+../src/parser.o: ../../basic/include/basic/NonCoercible.h
+../src/parser.o: ../../omega_lib/include/omega/Relations.h
+../src/parser.o: ../../code_gen/include/code_gen/CG.h
+../src/parser.o: ../../code_gen/include/code_gen/elim.h
+../src/parser.o: ../../basic/include/basic/String.h /usr/include/string.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_outputRepr.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_outputBuilder.h
+../src/parser.o: ../../code_gen/include/code_gen/spmd.h
+../src/parser.o: ../../omega_lib/include/omega/library_version.h
+../src/parser.o: ../../omega_lib/include/omega/AST.h
+../src/parser.o: ../../basic/include/basic/Collections.h
+../src/parser.o: ../../basic/include/basic/List.h
+../src/parser.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/parser.o: ../../basic/include/basic/List.c
+../src/parser.o: ../../basic/include/basic/List.h
+../src/parser.o: ../../basic/include/basic/Bag.h
+../src/parser.o: ../../basic/include/basic/Bag.c
+../src/parser.o: ../../basic/include/basic/Map.h
+../src/parser.o: ../../basic/include/basic/Map.c
+../src/parser.o: ../../omega_lib/include/omega.h
+../src/parser.o: ../../omega_lib/include/omega/omega_core/debugging.h
+../src/parser.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/parser.o: ../../omega_lib/include/omega/pres_var.h
+../src/parser.o: ../../omega_lib/include/omega/pres_gen.h
+../src/parser.o: ../../omega_lib/include/omega/omega_core/oc.h
+../src/parser.o: ../../basic/include/basic/ConstString.h
+../src/parser.o: ../../omega_lib/include/omega/pres_cnstr.h
+../src/parser.o: ../../omega_lib/include/omega/pres_subs.h
+../src/parser.o: ../../omega_lib/include/omega/pres_conj.h
+../src/parser.o: ../../omega_lib/include/omega/pres_decl.h
+../src/parser.o: ../../basic/include/basic/Section.h
+../src/parser.o: ../../basic/include/basic/Section.c
+../src/parser.o: ../../omega_lib/include/omega/pres_logic.h
+../src/parser.o: ../../omega_lib/include/omega/pres_quant.h
+../src/parser.o: ../../omega_lib/include/omega/pres_cmpr.h
+../src/parser.o: ../../omega_lib/include/omega/Rel_map.h
+../src/parser.o: ../../omega_lib/include/omega/farkas.h
+../src/parser.o: ../../omega_lib/include/omega/hull.h
+../src/parser.o: ../../omega_lib/include/omega/closure.h
+../src/parser.o: ../../omega_lib/include/omega/lib_hack.h
+../src/parser.o: ../../omega_lib/include/omega/enter_AST.h
+../src/parser.o: ../include/omega_calc/yylex.h
+../src/parser.o: ../../omega_lib/include/omega/calc_debug.h
+../src/parser.o: ../../basic/include/basic/Exit.h
+../src/parser.o: ../../omega_lib/include/omega/reach.h
+../src/parser.o: ../../code_gen/include/code_gen/mmap-codegen.h
+../src/parser.o: ../../code_gen/include/code_gen/MMap.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_stringBuilder.h
+../src/parser.o: ../../code_gen/include/code_gen/CG_stringRepr.h
+../src/parser.o: ../../code_gen/include/code_gen/mmap-util.h
+../src/parser.o: /usr/include/sys/time.h /usr/include/time.h
+../src/parser.o: /usr/include/machine/_limits.h /usr/include/sys/types.h
+../../basic/src/Exit.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h
+../../basic/src/Exit.o: /usr/include/_types.h /usr/include/sys/_types.h
+../../basic/src/Exit.o: /usr/include/machine/_types.h
+../../basic/src/Exit.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../../basic/src/Exit.o: /usr/include/sys/signal.h
+../../basic/src/Exit.o: /usr/include/sys/appleapiopts.h
+../../basic/src/Exit.o: /usr/include/machine/signal.h
+../../basic/src/Exit.o: /usr/include/i386/signal.h
+../../basic/src/Exit.o: /usr/include/sys/resource.h
+../../basic/src/Exit.o: /usr/include/machine/endian.h
+../../basic/src/Exit.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../../basic/src/Exit.o: /usr/include/stdint.h
+../../basic/src/Exit.o: /usr/include/libkern/OSByteOrder.h
+../../basic/src/Exit.o: /usr/include/libkern/i386/OSByteOrder.h
+../../basic/src/Exit.o: /usr/include/alloca.h /usr/include/machine/types.h
+../../basic/src/Exit.o: /usr/include/i386/types.h
+../../basic/src/Exit.o: ../../basic/include/basic/Exit.h
+../../basic/src/Exit.o: ../../basic/include/basic/List.h /usr/include/stdio.h
+../../basic/src/Exit.o: ../../basic/include/basic/Iterator.h
+../../basic/src/Exit.o: ../../basic/include/basic/bool.h
+../../basic/src/Exit.o: ../../basic/include/basic/Collection.h
+../../basic/src/Exit.o: ../../basic/include/basic/Link.h
+../../basic/src/Exit.o: /usr/include/stddef.h
+../../basic/src/Exit.o: ../../basic/include/basic/List.c
+../../basic/src/Exit.o: ../../basic/include/basic/assert.h
+../../basic/src/Exit.o: ../../basic/include/basic/List.h</diff>
      <filename>omega_calc/obj/Makefile.deps</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /home/unixmail/dwonnaco/.cvs-research/omega1_2devel/omega_calc/obj/lex.yy.c,v 1.6 2000/08/21 18:57:45 dwonnaco Exp $
+ * $Header: /cvs/root/flex/flex/skel.c,v 1.2 2004/05/07 00:28:17 jkh Exp $
  */
 
 #define FLEX_SCANNER
@@ -1905,8 +1905,8 @@ char *yytext;
 #include &lt;string.h&gt;
 #include &lt;omega/AST.h&gt;
 #include &lt;basic/Dynamic_Array.h&gt;
+#include &lt;basic/Exit.h&gt;
 #include &lt;code_gen/mmap-codegen.h&gt;
-#include &quot;y.tab.h&quot;
 #include &lt;omega/calc_debug.h&gt;
 #ifdef WIN32
 #include &lt;io.h&gt;
@@ -1917,6 +1917,8 @@ char *yytext;
 
 extern &quot;C&quot; int yywrap() {return 1;};
 
+using namespace omega;
+#include &quot;y.tab.h&quot;
 
 #if defined BRAIN_DAMAGED_FREE
 void free(void *p);
@@ -1972,7 +1974,7 @@ void includeFile(char *s) {
 #define LATEX 1
 #define INCLUDE 2
 
-#line 1976 &quot;lex.yy.c&quot;
+#line 1978 &quot;lex.yy.c&quot;
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -2123,11 +2125,11 @@ YY_DECL
 	register char *yy_cp, *yy_bp;
 	register int yy_act;
 
-#line 74 &quot;../src/parser.l&quot;
+#line 76 &quot;../src/parser.l&quot;
 
 
 
-#line 2131 &quot;lex.yy.c&quot;
+#line 2133 &quot;lex.yy.c&quot;
 
 	if ( yy_init )
 		{
@@ -2212,12 +2214,12 @@ do_action:	/* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 77 &quot;../src/parser.l&quot;
+#line 79 &quot;../src/parser.l&quot;
 {BUFFER; BEGIN(INCLUDE); }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 78 &quot;../src/parser.l&quot;
+#line 80 &quot;../src/parser.l&quot;
 { BUFFER; 
 			  char *s = yytext;
 			  while (*s != '&gt;') s++;
@@ -2229,7 +2231,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 86 &quot;../src/parser.l&quot;
+#line 88 &quot;../src/parser.l&quot;
 {	fprintf(stderr,&quot;Error in include syntax\n&quot;);
 			fprintf(stderr,&quot;Use &lt;&lt;fname&gt;&gt; to include the file named fname\n&quot;);
 			Exit(1);
@@ -2238,684 +2240,684 @@ YY_RULE_SETUP
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 93 &quot;../src/parser.l&quot;
+#line 95 &quot;../src/parser.l&quot;
 { BUFFER; }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 94 &quot;../src/parser.l&quot;
+#line 96 &quot;../src/parser.l&quot;
 { BUFFER; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 95 &quot;../src/parser.l&quot;
+#line 97 &quot;../src/parser.l&quot;
 {strncat(scanBuf,yytext,yyleng-1);yylineno++;flushScanBuffer();}
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 97 &quot;../src/parser.l&quot;
+#line 99 &quot;../src/parser.l&quot;
 { BUFFER; BEGIN 0; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 98 &quot;../src/parser.l&quot;
+#line 100 &quot;../src/parser.l&quot;
 { BUFFER; BEGIN LATEX; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 99 &quot;../src/parser.l&quot;
+#line 101 &quot;../src/parser.l&quot;
 { BUFFER; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 100 &quot;../src/parser.l&quot;
+#line 102 &quot;../src/parser.l&quot;
 { BUFFER; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 101 &quot;../src/parser.l&quot;
+#line 103 &quot;../src/parser.l&quot;
 { BUFFER; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 103 &quot;../src/parser.l&quot;
+#line 105 &quot;../src/parser.l&quot;
 { yylineno++; flushScanBuffer(); }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 104 &quot;../src/parser.l&quot;
+#line 106 &quot;../src/parser.l&quot;
 { BUFFER;  return OPEN_BRACE; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 105 &quot;../src/parser.l&quot;
+#line 107 &quot;../src/parser.l&quot;
 { BUFFER;  return OPEN_BRACE; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 106 &quot;../src/parser.l&quot;
+#line 108 &quot;../src/parser.l&quot;
 { BUFFER;  return CLOSE_BRACE; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 107 &quot;../src/parser.l&quot;
+#line 109 &quot;../src/parser.l&quot;
 { BUFFER;  return CLOSE_BRACE; }
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 108 &quot;../src/parser.l&quot;
+#line 110 &quot;../src/parser.l&quot;
 { BUFFER;  return APPROX; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 109 &quot;../src/parser.l&quot;
+#line 111 &quot;../src/parser.l&quot;
 { BUFFER;  return UNION; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 110 &quot;../src/parser.l&quot;
+#line 112 &quot;../src/parser.l&quot;
 { BUFFER;  return UNION; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 111 &quot;../src/parser.l&quot;
+#line 113 &quot;../src/parser.l&quot;
 { BUFFER;  return INTERSECTION; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 112 &quot;../src/parser.l&quot;
+#line 114 &quot;../src/parser.l&quot;
 { BUFFER;  return INTERSECTION; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 113 &quot;../src/parser.l&quot;
+#line 115 &quot;../src/parser.l&quot;
 { BUFFER;  return SYMBOLIC; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 114 &quot;../src/parser.l&quot;
+#line 116 &quot;../src/parser.l&quot;
 { BUFFER;  return SYMBOLIC; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 115 &quot;../src/parser.l&quot;
+#line 117 &quot;../src/parser.l&quot;
 { BUFFER;  return VERTICAL_BAR; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 116 &quot;../src/parser.l&quot;
+#line 118 &quot;../src/parser.l&quot;
 { BUFFER;  return VERTICAL_BAR; }
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 117 &quot;../src/parser.l&quot;
+#line 119 &quot;../src/parser.l&quot;
 { BUFFER;  return SUCH_THAT; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 118 &quot;../src/parser.l&quot;
+#line 120 &quot;../src/parser.l&quot;
 { BUFFER;  return SUCH_THAT; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 119 &quot;../src/parser.l&quot;
+#line 121 &quot;../src/parser.l&quot;
 { BUFFER;  return INVERSE; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 120 &quot;../src/parser.l&quot;
+#line 122 &quot;../src/parser.l&quot;
 { BUFFER;  return COMPLEMENT; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 121 &quot;../src/parser.l&quot;
+#line 123 &quot;../src/parser.l&quot;
 { BUFFER;  return COMPOSE; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 122 &quot;../src/parser.l&quot;
+#line 124 &quot;../src/parser.l&quot;
 { BUFFER;  return COMPOSE; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 123 &quot;../src/parser.l&quot;
+#line 125 &quot;../src/parser.l&quot;
 { BUFFER;  return DIFFERENCE; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 124 &quot;../src/parser.l&quot;
+#line 126 &quot;../src/parser.l&quot;
 { BUFFER;  return DIFFERENCE_TO_RELATION; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 125 &quot;../src/parser.l&quot;
+#line 127 &quot;../src/parser.l&quot;
 { BUFFER;  return PROJECT_AWAY_SYMBOLS; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 126 &quot;../src/parser.l&quot;
+#line 128 &quot;../src/parser.l&quot;
 { BUFFER;  return PROJECT_AWAY_SYMBOLS; }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 127 &quot;../src/parser.l&quot;
+#line 129 &quot;../src/parser.l&quot;
 { BUFFER;  return PROJECT_AWAY_SYMBOLS; }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 128 &quot;../src/parser.l&quot;
+#line 130 &quot;../src/parser.l&quot;
 { BUFFER;  return PROJECT_ON_SYMBOLS; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 129 &quot;../src/parser.l&quot;
+#line 131 &quot;../src/parser.l&quot;
 { BUFFER;  return PROJECT_ON_SYMBOLS; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 130 &quot;../src/parser.l&quot;
+#line 132 &quot;../src/parser.l&quot;
 { BUFFER;  return PROJECT_ON_SYMBOLS; }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 131 &quot;../src/parser.l&quot;
+#line 133 &quot;../src/parser.l&quot;
 { BUFFER;  return JOIN; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 132 &quot;../src/parser.l&quot;
+#line 134 &quot;../src/parser.l&quot;
 { BUFFER;  return JOIN; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 133 &quot;../src/parser.l&quot;
+#line 135 &quot;../src/parser.l&quot;
 { BUFFER;  return JOIN; }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 134 &quot;../src/parser.l&quot;
+#line 136 &quot;../src/parser.l&quot;
 { BUFFER;  return DOMAIN; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 135 &quot;../src/parser.l&quot;
+#line 137 &quot;../src/parser.l&quot;
 { BUFFER; return TIME; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 136 &quot;../src/parser.l&quot;
+#line 138 &quot;../src/parser.l&quot;
 { BUFFER; return TIMECLOSURE; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 137 &quot;../src/parser.l&quot;
+#line 139 &quot;../src/parser.l&quot;
 { BUFFER;  return RANGE; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 138 &quot;../src/parser.l&quot;
+#line 140 &quot;../src/parser.l&quot;
 { BUFFER;  return FORALL; }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 139 &quot;../src/parser.l&quot;
+#line 141 &quot;../src/parser.l&quot;
 { BUFFER;  return FORALL; }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 140 &quot;../src/parser.l&quot;
+#line 142 &quot;../src/parser.l&quot;
 { BUFFER;  return EXISTS; }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 141 &quot;../src/parser.l&quot;
+#line 143 &quot;../src/parser.l&quot;
 { BUFFER;  return EXISTS; }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 142 &quot;../src/parser.l&quot;
+#line 144 &quot;../src/parser.l&quot;
 { BUFFER;  return PAIRWISE_CHECK; }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 143 &quot;../src/parser.l&quot;
+#line 145 &quot;../src/parser.l&quot;
 { BUFFER;  return VENN; }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 144 &quot;../src/parser.l&quot;
+#line 146 &quot;../src/parser.l&quot;
 { BUFFER;  return CONVEX_CHECK; }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 145 &quot;../src/parser.l&quot;
+#line 147 &quot;../src/parser.l&quot;
 { BUFFER;  return CONVEX_COMBINATION; }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 146 &quot;../src/parser.l&quot;
+#line 148 &quot;../src/parser.l&quot;
 { BUFFER;  return POSITIVE_COMBINATION; }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 147 &quot;../src/parser.l&quot;
+#line 149 &quot;../src/parser.l&quot;
 { BUFFER;  return CONVEX_HULL; }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 148 &quot;../src/parser.l&quot;
+#line 150 &quot;../src/parser.l&quot;
 { BUFFER;  return AFFINE_HULL; }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 149 &quot;../src/parser.l&quot;
+#line 151 &quot;../src/parser.l&quot;
 { BUFFER;  return CONIC_HULL; }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 150 &quot;../src/parser.l&quot;
+#line 152 &quot;../src/parser.l&quot;
 { BUFFER;  return LINEAR_HULL; }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 151 &quot;../src/parser.l&quot;
+#line 153 &quot;../src/parser.l&quot;
 { BUFFER;  return HULL; }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 152 &quot;../src/parser.l&quot;
+#line 154 &quot;../src/parser.l&quot;
 { BUFFER;  return MINIMIZE; }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 153 &quot;../src/parser.l&quot;
+#line 155 &quot;../src/parser.l&quot;
 { BUFFER;  return MAXIMIZE; }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 154 &quot;../src/parser.l&quot;
+#line 156 &quot;../src/parser.l&quot;
 { BUFFER;  return MINIMIZE_RANGE; }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 155 &quot;../src/parser.l&quot;
+#line 157 &quot;../src/parser.l&quot;
 { BUFFER;  return MAXIMIZE_RANGE; }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 156 &quot;../src/parser.l&quot;
+#line 158 &quot;../src/parser.l&quot;
 { BUFFER;  return MINIMIZE_RANGE; }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 157 &quot;../src/parser.l&quot;
+#line 159 &quot;../src/parser.l&quot;
 { BUFFER;  return MAXIMIZE_RANGE; }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 158 &quot;../src/parser.l&quot;
+#line 160 &quot;../src/parser.l&quot;
 { BUFFER;  return MINIMIZE_DOMAIN; }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 159 &quot;../src/parser.l&quot;
+#line 161 &quot;../src/parser.l&quot;
 { BUFFER;  return MAXIMIZE_DOMAIN; }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 160 &quot;../src/parser.l&quot;
+#line 162 &quot;../src/parser.l&quot;
 { BUFFER;  return MINIMIZE_DOMAIN; }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 161 &quot;../src/parser.l&quot;
+#line 163 &quot;../src/parser.l&quot;
 { BUFFER;  return MAXIMIZE_DOMAIN; }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 162 &quot;../src/parser.l&quot;
+#line 164 &quot;../src/parser.l&quot;
 { BUFFER;  return GIST; }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 163 &quot;../src/parser.l&quot;
+#line 165 &quot;../src/parser.l&quot;
 { BUFFER;  return GIVEN; }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 164 &quot;../src/parser.l&quot;
+#line 166 &quot;../src/parser.l&quot;
 { BUFFER;  return WITHIN; }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 165 &quot;../src/parser.l&quot;
+#line 167 &quot;../src/parser.l&quot;
 { BUFFER;  return SUBSET; }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 166 &quot;../src/parser.l&quot;
+#line 168 &quot;../src/parser.l&quot;
 { BUFFER;  return CODEGEN; }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 167 &quot;../src/parser.l&quot;
+#line 169 &quot;../src/parser.l&quot;
 { BUFFER;  return TCODEGEN; }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 168 &quot;../src/parser.l&quot;
+#line 170 &quot;../src/parser.l&quot;
 { BUFFER;  return TRANS_IS; }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 169 &quot;../src/parser.l&quot;
+#line 171 &quot;../src/parser.l&quot;
 { BUFFER;  return TRANS_IS; }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 170 &quot;../src/parser.l&quot;
+#line 172 &quot;../src/parser.l&quot;
 { BUFFER;  return SET_MMAP; }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 171 &quot;../src/parser.l&quot;
+#line 173 &quot;../src/parser.l&quot;
 { BUFFER;  return SET_MMAP; }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 172 &quot;../src/parser.l&quot;
+#line 174 &quot;../src/parser.l&quot;
 { BUFFER;  return UNROLL_IS; }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 173 &quot;../src/parser.l&quot;
+#line 175 &quot;../src/parser.l&quot;
 { BUFFER;  return UNROLL_IS; }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 174 &quot;../src/parser.l&quot;
+#line 176 &quot;../src/parser.l&quot;
 { BUFFER;  return PEEL_IS; }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 175 &quot;../src/parser.l&quot;
+#line 177 &quot;../src/parser.l&quot;
 { BUFFER;  return PEEL_IS; }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 176 &quot;../src/parser.l&quot;
+#line 178 &quot;../src/parser.l&quot;
 { BUFFER;  return SPMD; }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 177 &quot;../src/parser.l&quot;
+#line 179 &quot;../src/parser.l&quot;
 { BUFFER;  return FARKAS; }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 178 &quot;../src/parser.l&quot;
+#line 180 &quot;../src/parser.l&quot;
 { BUFFER;  return DECOUPLED_FARKAS; }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 179 &quot;../src/parser.l&quot;
+#line 181 &quot;../src/parser.l&quot;
 { BUFFER;  return DECOUPLED_FARKAS; }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 180 &quot;../src/parser.l&quot;
+#line 182 &quot;../src/parser.l&quot;
 { BUFFER;  return DECOUPLED_FARKAS; }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 181 &quot;../src/parser.l&quot;
+#line 183 &quot;../src/parser.l&quot;
 { BUFFER;  return MAKE_UPPER_BOUND; }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 182 &quot;../src/parser.l&quot;
+#line 184 &quot;../src/parser.l&quot;
 { BUFFER;  return MAKE_LOWER_BOUND; }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 183 &quot;../src/parser.l&quot;
+#line 185 &quot;../src/parser.l&quot;
 { BUFFER;  return SUPERSETOF;}
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 184 &quot;../src/parser.l&quot;
+#line 186 &quot;../src/parser.l&quot;
 { BUFFER;  return SUBSETOF;}
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 185 &quot;../src/parser.l&quot;
+#line 187 &quot;../src/parser.l&quot;
 { BUFFER;  return SYM_SAMPLE;}
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 186 &quot;../src/parser.l&quot;
+#line 188 &quot;../src/parser.l&quot;
 { BUFFER;  return SAMPLE;}
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 187 &quot;../src/parser.l&quot;
+#line 189 &quot;../src/parser.l&quot;
 { BUFFER;  return CARRIED_BY;}
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 188 &quot;../src/parser.l&quot;
+#line 190 &quot;../src/parser.l&quot;
 { BUFFER;  return ITERATIONS; }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 189 &quot;../src/parser.l&quot;
+#line 191 &quot;../src/parser.l&quot;
 { BUFFER;  return REACHABLE_FROM; }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 190 &quot;../src/parser.l&quot;
+#line 192 &quot;../src/parser.l&quot;
 { BUFFER;  return REACHABLE_OF; }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 191 &quot;../src/parser.l&quot;
+#line 193 &quot;../src/parser.l&quot;
 { BUFFER;  return RESTRICT_DOMAIN; }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 192 &quot;../src/parser.l&quot;
+#line 194 &quot;../src/parser.l&quot;
 { BUFFER;  return RESTRICT_DOMAIN; }
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 193 &quot;../src/parser.l&quot;
+#line 195 &quot;../src/parser.l&quot;
 { yyerror(&quot;Can't use \\ for restrict_domain in Tex mode&quot;); }
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 194 &quot;../src/parser.l&quot;
+#line 196 &quot;../src/parser.l&quot;
 { BUFFER;  return RESTRICT_DOMAIN; }
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 195 &quot;../src/parser.l&quot;
+#line 197 &quot;../src/parser.l&quot;
 { BUFFER;  return RESTRICT_RANGE; }
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 196 &quot;../src/parser.l&quot;
+#line 198 &quot;../src/parser.l&quot;
 { BUFFER;  return RESTRICT_RANGE; }
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 197 &quot;../src/parser.l&quot;
+#line 199 &quot;../src/parser.l&quot;
 { BUFFER;  return ASSERT_UNSAT; }
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 198 &quot;../src/parser.l&quot;
+#line 200 &quot;../src/parser.l&quot;
 { BUFFER;  return ASSERT_UNSAT; }
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 199 &quot;../src/parser.l&quot;
+#line 201 &quot;../src/parser.l&quot;
 { BUFFER;  return RESTRICT_RANGE; }
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 200 &quot;../src/parser.l&quot;
+#line 202 &quot;../src/parser.l&quot;
 { BUFFER;  return AND; }
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 201 &quot;../src/parser.l&quot;
+#line 203 &quot;../src/parser.l&quot;
 { BUFFER;  return OR; }
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 202 &quot;../src/parser.l&quot;
+#line 204 &quot;../src/parser.l&quot;
 { BUFFER;  return AND; }
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 203 &quot;../src/parser.l&quot;
+#line 205 &quot;../src/parser.l&quot;
 { BUFFER;  return OR; }
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 204 &quot;../src/parser.l&quot;
+#line 206 &quot;../src/parser.l&quot;
 { BUFFER;  return AND; }
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 205 &quot;../src/parser.l&quot;
+#line 207 &quot;../src/parser.l&quot;
 { BUFFER;  return OR; }
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 206 &quot;../src/parser.l&quot;
+#line 208 &quot;../src/parser.l&quot;
 { BUFFER;  return AND; }
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 207 &quot;../src/parser.l&quot;
+#line 209 &quot;../src/parser.l&quot;
 { BUFFER;  return OR; }
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 208 &quot;../src/parser.l&quot;
+#line 210 &quot;../src/parser.l&quot;
 { BUFFER;  return NOT; }
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 209 &quot;../src/parser.l&quot;
+#line 211 &quot;../src/parser.l&quot;
 { BUFFER;  return NOT; }
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 210 &quot;../src/parser.l&quot;
+#line 212 &quot;../src/parser.l&quot;
 { BUFFER;  return NOT; }
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 211 &quot;../src/parser.l&quot;
+#line 213 &quot;../src/parser.l&quot;
 { BUFFER;  return IS_ASSIGNED; }
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 212 &quot;../src/parser.l&quot;
+#line 214 &quot;../src/parser.l&quot;
 { BUFFER;  return GOES_TO; }
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 213 &quot;../src/parser.l&quot;
+#line 215 &quot;../src/parser.l&quot;
 { BUFFER;  return IN; }
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 214 &quot;../src/parser.l&quot;
+#line 216 &quot;../src/parser.l&quot;
 { BUFFER;  return GOES_TO; }
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 215 &quot;../src/parser.l&quot;
+#line 217 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = leq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 218 &quot;../src/parser.l&quot;
+#line 220 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = leq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 221 &quot;../src/parser.l&quot;
+#line 223 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = leq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 224 &quot;../src/parser.l&quot;
+#line 226 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = geq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 227 &quot;../src/parser.l&quot;
+#line 229 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = geq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 230 &quot;../src/parser.l&quot;
+#line 232 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = geq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 233 &quot;../src/parser.l&quot;
+#line 235 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = neq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 236 &quot;../src/parser.l&quot;
+#line 238 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = neq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 239 &quot;../src/parser.l&quot;
+#line 241 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = lt;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 242 &quot;../src/parser.l&quot;
+#line 244 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = gt;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 245 &quot;../src/parser.l&quot;
+#line 247 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.REL_OPERATOR = eq;
 		  return REL_OP;
 		  }
 	YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 248 &quot;../src/parser.l&quot;
+#line 250 &quot;../src/parser.l&quot;
 { BUFFER;  if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -2924,7 +2926,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 253 &quot;../src/parser.l&quot;
+#line 255 &quot;../src/parser.l&quot;
 { BUFFER; if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -2935,7 +2937,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 260 &quot;../src/parser.l&quot;
+#line 262 &quot;../src/parser.l&quot;
 { BUFFER; if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -2948,7 +2950,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 269 &quot;../src/parser.l&quot;
+#line 271 &quot;../src/parser.l&quot;
 { BUFFER; if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -2960,7 +2962,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 278 &quot;../src/parser.l&quot;
+#line 280 &quot;../src/parser.l&quot;
 { BUFFER;  
 			  if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
@@ -2970,7 +2972,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 284 &quot;../src/parser.l&quot;
+#line 286 &quot;../src/parser.l&quot;
 { BUFFER; if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -2981,7 +2983,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 291 &quot;../src/parser.l&quot;
+#line 293 &quot;../src/parser.l&quot;
 { BUFFER; if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -2994,7 +2996,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 300 &quot;../src/parser.l&quot;
+#line 302 &quot;../src/parser.l&quot;
 { BUFFER; if (yyleng &gt; 19) yyerror(&quot;Identifier too long&quot;);
 			  yylval.VAR_NAME = (char *) malloc(1+yyleng);
 			  strcpy(yylval.VAR_NAME,yytext);
@@ -3006,14 +3008,14 @@ YY_RULE_SETUP
 	YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 308 &quot;../src/parser.l&quot;
+#line 310 &quot;../src/parser.l&quot;
 { BUFFER;  yylval.INT_VALUE = atoi(yytext);
 		  return INT;
 			}
 	YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 311 &quot;../src/parser.l&quot;
+#line 313 &quot;../src/parser.l&quot;
 { BUFFER;
 		  yytext[strlen(yytext)-1]='\0';
 		  yylval.STRING_VALUE = new String(yytext+1);
@@ -3023,7 +3025,7 @@ YY_RULE_SETUP
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(LATEX):
 case YY_STATE_EOF(INCLUDE):
-#line 316 &quot;../src/parser.l&quot;
+#line 318 &quot;../src/parser.l&quot;
 {
                  if ( --include_stack_ptr &lt; 0 )
                      {
@@ -3039,15 +3041,15 @@ case YY_STATE_EOF(INCLUDE):
 	YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 329 &quot;../src/parser.l&quot;
+#line 331 &quot;../src/parser.l&quot;
 { BUFFER;  return yytext[0]; }
 	YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 331 &quot;../src/parser.l&quot;
+#line 333 &quot;../src/parser.l&quot;
 ECHO;
 	YY_BREAK
-#line 3051 &quot;lex.yy.c&quot;
+#line 3053 &quot;lex.yy.c&quot;
 
 	case YY_END_OF_BUFFER:
 		{
@@ -3931,4 +3933,4 @@ int main()
 	return 0;
 	}
 #endif
-#line 331 &quot;../src/parser.l&quot;
+#line 333 &quot;../src/parser.l&quot;</diff>
      <filename>omega_calc/obj/lex.yy.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,4 @@
-
-
-Terminals which are not used:
+Terminals which are not used
 
    ST
    LEQ
@@ -18,765 +16,251 @@ Terminals which are not used:
    p7
 
 
-Conflict in state 61 between rule 89 and token COMPOSE resolved as reduce.
-Conflict in state 61 between rule 89 and token JOIN resolved as reduce.
-Conflict in state 61 between rule 89 and token CARRIED_BY resolved as reduce.
-Conflict in state 61 between rule 89 and token UNION resolved as reduce.
-Conflict in state 61 between rule 89 and token INTERSECTION resolved as reduce.
-Conflict in state 61 between rule 89 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 61 between rule 89 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 61 between rule 89 and token '+' resolved as reduce.
-Conflict in state 61 between rule 89 and token '-' resolved as reduce.
-Conflict in state 61 between rule 89 and token '*' resolved as reduce.
-Conflict in state 61 between rule 89 and token '@' resolved as reduce.
-Conflict in state 61 between rule 89 and token '(' resolved as shift.
-Conflict in state 62 between rule 76 and token COMPOSE resolved as reduce.
-Conflict in state 62 between rule 76 and token JOIN resolved as reduce.
-Conflict in state 62 between rule 76 and token CARRIED_BY resolved as reduce.
-Conflict in state 62 between rule 76 and token UNION resolved as reduce.
-Conflict in state 62 between rule 76 and token INTERSECTION resolved as reduce.
-Conflict in state 62 between rule 76 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 62 between rule 76 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 62 between rule 76 and token '+' resolved as reduce.
-Conflict in state 62 between rule 76 and token '-' resolved as reduce.
-Conflict in state 62 between rule 76 and token '*' resolved as reduce.
-Conflict in state 62 between rule 76 and token '@' resolved as reduce.
-Conflict in state 62 between rule 76 and token '(' resolved as shift.
-Conflict in state 63 between rule 90 and token COMPOSE resolved as reduce.
-Conflict in state 63 between rule 90 and token JOIN resolved as reduce.
-Conflict in state 63 between rule 90 and token CARRIED_BY resolved as reduce.
-Conflict in state 63 between rule 90 and token UNION resolved as reduce.
-Conflict in state 63 between rule 90 and token INTERSECTION resolved as reduce.
-Conflict in state 63 between rule 90 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 63 between rule 90 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 63 between rule 90 and token '+' resolved as reduce.
-Conflict in state 63 between rule 90 and token '-' resolved as reduce.
-Conflict in state 63 between rule 90 and token '*' resolved as reduce.
-Conflict in state 63 between rule 90 and token '@' resolved as reduce.
-Conflict in state 63 between rule 90 and token '(' resolved as shift.
-Conflict in state 64 between rule 74 and token COMPOSE resolved as reduce.
-Conflict in state 64 between rule 74 and token JOIN resolved as reduce.
-Conflict in state 64 between rule 74 and token CARRIED_BY resolved as reduce.
-Conflict in state 64 between rule 74 and token UNION resolved as reduce.
-Conflict in state 64 between rule 74 and token INTERSECTION resolved as reduce.
-Conflict in state 64 between rule 74 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 64 between rule 74 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 64 between rule 74 and token '+' resolved as reduce.
-Conflict in state 64 between rule 74 and token '-' resolved as reduce.
-Conflict in state 64 between rule 74 and token '*' resolved as reduce.
-Conflict in state 64 between rule 74 and token '@' resolved as reduce.
-Conflict in state 64 between rule 74 and token '(' resolved as shift.
-Conflict in state 65 between rule 75 and token COMPOSE resolved as reduce.
-Conflict in state 65 between rule 75 and token JOIN resolved as reduce.
-Conflict in state 65 between rule 75 and token CARRIED_BY resolved as reduce.
-Conflict in state 65 between rule 75 and token UNION resolved as reduce.
-Conflict in state 65 between rule 75 and token INTERSECTION resolved as reduce.
-Conflict in state 65 between rule 75 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 65 between rule 75 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 65 between rule 75 and token '+' resolved as reduce.
-Conflict in state 65 between rule 75 and token '-' resolved as reduce.
-Conflict in state 65 between rule 75 and token '*' resolved as reduce.
-Conflict in state 65 between rule 75 and token '@' resolved as reduce.
-Conflict in state 65 between rule 75 and token '(' resolved as shift.
-Conflict in state 67 between rule 87 and token GIVEN resolved as shift.
-Conflict in state 67 between rule 87 and token COMPOSE resolved as reduce.
-Conflict in state 67 between rule 87 and token JOIN resolved as reduce.
-Conflict in state 67 between rule 87 and token CARRIED_BY resolved as reduce.
-Conflict in state 67 between rule 87 and token UNION resolved as reduce.
-Conflict in state 67 between rule 87 and token INTERSECTION resolved as reduce.
-Conflict in state 67 between rule 87 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 67 between rule 87 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 67 between rule 87 and token '+' resolved as reduce.
-Conflict in state 67 between rule 87 and token '-' resolved as reduce.
-Conflict in state 67 between rule 87 and token '*' resolved as reduce.
-Conflict in state 67 between rule 87 and token '@' resolved as reduce.
-Conflict in state 67 between rule 87 and token '(' resolved as shift.
-Conflict in state 68 between rule 67 and token COMPOSE resolved as reduce.
-Conflict in state 68 between rule 67 and token JOIN resolved as reduce.
-Conflict in state 68 between rule 67 and token CARRIED_BY resolved as reduce.
-Conflict in state 68 between rule 67 and token UNION resolved as reduce.
-Conflict in state 68 between rule 67 and token INTERSECTION resolved as reduce.
-Conflict in state 68 between rule 67 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 68 between rule 67 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 68 between rule 67 and token '+' resolved as reduce.
-Conflict in state 68 between rule 67 and token '-' resolved as reduce.
-Conflict in state 68 between rule 67 and token '*' resolved as reduce.
-Conflict in state 68 between rule 67 and token '@' resolved as reduce.
-Conflict in state 68 between rule 67 and token '(' resolved as shift.
-Conflict in state 69 between rule 68 and token COMPOSE resolved as reduce.
-Conflict in state 69 between rule 68 and token JOIN resolved as reduce.
-Conflict in state 69 between rule 68 and token CARRIED_BY resolved as reduce.
-Conflict in state 69 between rule 68 and token UNION resolved as reduce.
-Conflict in state 69 between rule 68 and token INTERSECTION resolved as reduce.
-Conflict in state 69 between rule 68 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 69 between rule 68 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 69 between rule 68 and token '+' resolved as reduce.
-Conflict in state 69 between rule 68 and token '-' resolved as reduce.
-Conflict in state 69 between rule 68 and token '*' resolved as reduce.
-Conflict in state 69 between rule 68 and token '@' resolved as reduce.
-Conflict in state 69 between rule 68 and token '(' resolved as shift.
-Conflict in state 70 between rule 84 and token COMPOSE resolved as reduce.
-Conflict in state 70 between rule 84 and token JOIN resolved as reduce.
-Conflict in state 70 between rule 84 and token CARRIED_BY resolved as reduce.
-Conflict in state 70 between rule 84 and token UNION resolved as reduce.
-Conflict in state 70 between rule 84 and token INTERSECTION resolved as reduce.
-Conflict in state 70 between rule 84 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 70 between rule 84 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 70 between rule 84 and token '+' resolved as reduce.
-Conflict in state 70 between rule 84 and token '-' resolved as reduce.
-Conflict in state 70 between rule 84 and token '*' resolved as reduce.
-Conflict in state 70 between rule 84 and token '@' resolved as reduce.
-Conflict in state 70 between rule 84 and token '(' resolved as shift.
-Conflict in state 71 between rule 77 and token GIVEN resolved as shift.
-Conflict in state 71 between rule 77 and token COMPOSE resolved as reduce.
-Conflict in state 71 between rule 77 and token JOIN resolved as reduce.
-Conflict in state 71 between rule 77 and token CARRIED_BY resolved as reduce.
-Conflict in state 71 between rule 77 and token UNION resolved as reduce.
-Conflict in state 71 between rule 77 and token INTERSECTION resolved as reduce.
-Conflict in state 71 between rule 77 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 71 between rule 77 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 71 between rule 77 and token '+' resolved as reduce.
-Conflict in state 71 between rule 77 and token '-' resolved as reduce.
-Conflict in state 71 between rule 77 and token '*' resolved as reduce.
-Conflict in state 71 between rule 77 and token '@' resolved as reduce.
-Conflict in state 71 between rule 77 and token '(' resolved as shift.
-Conflict in state 72 between rule 81 and token COMPOSE resolved as reduce.
-Conflict in state 72 between rule 81 and token JOIN resolved as reduce.
-Conflict in state 72 between rule 81 and token CARRIED_BY resolved as reduce.
-Conflict in state 72 between rule 81 and token UNION resolved as reduce.
-Conflict in state 72 between rule 81 and token INTERSECTION resolved as reduce.
-Conflict in state 72 between rule 81 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 72 between rule 81 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 72 between rule 81 and token '+' resolved as reduce.
-Conflict in state 72 between rule 81 and token '-' resolved as reduce.
-Conflict in state 72 between rule 81 and token '*' resolved as reduce.
-Conflict in state 72 between rule 81 and token '@' resolved as reduce.
-Conflict in state 72 between rule 81 and token '(' resolved as shift.
-Conflict in state 73 between rule 80 and token COMPOSE resolved as reduce.
-Conflict in state 73 between rule 80 and token JOIN resolved as reduce.
-Conflict in state 73 between rule 80 and token CARRIED_BY resolved as reduce.
-Conflict in state 73 between rule 80 and token UNION resolved as reduce.
-Conflict in state 73 between rule 80 and token INTERSECTION resolved as reduce.
-Conflict in state 73 between rule 80 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 73 between rule 80 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 73 between rule 80 and token '+' resolved as reduce.
-Conflict in state 73 between rule 80 and token '-' resolved as reduce.
-Conflict in state 73 between rule 80 and token '*' resolved as reduce.
-Conflict in state 73 between rule 80 and token '@' resolved as reduce.
-Conflict in state 73 between rule 80 and token '(' resolved as shift.
-Conflict in state 74 between rule 79 and token COMPOSE resolved as reduce.
-Conflict in state 74 between rule 79 and token JOIN resolved as reduce.
-Conflict in state 74 between rule 79 and token CARRIED_BY resolved as reduce.
-Conflict in state 74 between rule 79 and token UNION resolved as reduce.
-Conflict in state 74 between rule 79 and token INTERSECTION resolved as reduce.
-Conflict in state 74 between rule 79 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 74 between rule 79 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 74 between rule 79 and token '+' resolved as reduce.
-Conflict in state 74 between rule 79 and token '-' resolved as reduce.
-Conflict in state 74 between rule 79 and token '*' resolved as reduce.
-Conflict in state 74 between rule 79 and token '@' resolved as reduce.
-Conflict in state 74 between rule 79 and token '(' resolved as shift.
-Conflict in state 75 between rule 85 and token COMPOSE resolved as reduce.
-Conflict in state 75 between rule 85 and token JOIN resolved as reduce.
-Conflict in state 75 between rule 85 and token CARRIED_BY resolved as reduce.
-Conflict in state 75 between rule 85 and token UNION resolved as reduce.
-Conflict in state 75 between rule 85 and token INTERSECTION resolved as reduce.
-Conflict in state 75 between rule 85 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 75 between rule 85 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 75 between rule 85 and token '+' resolved as reduce.
-Conflict in state 75 between rule 85 and token '-' resolved as reduce.
-Conflict in state 75 between rule 85 and token '*' resolved as reduce.
-Conflict in state 75 between rule 85 and token '@' resolved as reduce.
-Conflict in state 75 between rule 85 and token '(' resolved as shift.
-Conflict in state 76 between rule 86 and token COMPOSE resolved as reduce.
-Conflict in state 76 between rule 86 and token JOIN resolved as reduce.
-Conflict in state 76 between rule 86 and token CARRIED_BY resolved as reduce.
-Conflict in state 76 between rule 86 and token UNION resolved as reduce.
-Conflict in state 76 between rule 86 and token INTERSECTION resolved as reduce.
-Conflict in state 76 between rule 86 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 76 between rule 86 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 76 between rule 86 and token '+' resolved as reduce.
-Conflict in state 76 between rule 86 and token '-' resolved as reduce.
-Conflict in state 76 between rule 86 and token '*' resolved as reduce.
-Conflict in state 76 between rule 86 and token '@' resolved as reduce.
-Conflict in state 76 between rule 86 and token '(' resolved as shift.
-Conflict in state 77 between rule 82 and token COMPOSE resolved as reduce.
-Conflict in state 77 between rule 82 and token JOIN resolved as reduce.
-Conflict in state 77 between rule 82 and token CARRIED_BY resolved as reduce.
-Conflict in state 77 between rule 82 and token UNION resolved as reduce.
-Conflict in state 77 between rule 82 and token INTERSECTION resolved as reduce.
-Conflict in state 77 between rule 82 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 77 between rule 82 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 77 between rule 82 and token '+' resolved as reduce.
-Conflict in state 77 between rule 82 and token '-' resolved as reduce.
-Conflict in state 77 between rule 82 and token '*' resolved as reduce.
-Conflict in state 77 between rule 82 and token '@' resolved as reduce.
-Conflict in state 77 between rule 82 and token '(' resolved as shift.
-Conflict in state 78 between rule 83 and token COMPOSE resolved as reduce.
-Conflict in state 78 between rule 83 and token JOIN resolved as reduce.
-Conflict in state 78 between rule 83 and token CARRIED_BY resolved as reduce.
-Conflict in state 78 between rule 83 and token UNION resolved as reduce.
-Conflict in state 78 between rule 83 and token INTERSECTION resolved as reduce.
-Conflict in state 78 between rule 83 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 78 between rule 83 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 78 between rule 83 and token '+' resolved as reduce.
-Conflict in state 78 between rule 83 and token '-' resolved as reduce.
-Conflict in state 78 between rule 83 and token '*' resolved as reduce.
-Conflict in state 78 between rule 83 and token '@' resolved as reduce.
-Conflict in state 78 between rule 83 and token '(' resolved as shift.
-Conflict in state 79 between rule 64 and token COMPOSE resolved as reduce.
-Conflict in state 79 between rule 64 and token JOIN resolved as reduce.
-Conflict in state 79 between rule 64 and token CARRIED_BY resolved as reduce.
-Conflict in state 79 between rule 64 and token UNION resolved as reduce.
-Conflict in state 79 between rule 64 and token INTERSECTION resolved as reduce.
-Conflict in state 79 between rule 64 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 79 between rule 64 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 79 between rule 64 and token '+' resolved as reduce.
-Conflict in state 79 between rule 64 and token '-' resolved as reduce.
-Conflict in state 79 between rule 64 and token '*' resolved as reduce.
-Conflict in state 79 between rule 64 and token '@' resolved as reduce.
-Conflict in state 79 between rule 64 and token '(' resolved as shift.
-Conflict in state 80 between rule 63 and token COMPOSE resolved as reduce.
-Conflict in state 80 between rule 63 and token JOIN resolved as reduce.
-Conflict in state 80 between rule 63 and token CARRIED_BY resolved as reduce.
-Conflict in state 80 between rule 63 and token UNION resolved as reduce.
-Conflict in state 80 between rule 63 and token INTERSECTION resolved as reduce.
-Conflict in state 80 between rule 63 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 80 between rule 63 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 80 between rule 63 and token '+' resolved as reduce.
-Conflict in state 80 between rule 63 and token '-' resolved as reduce.
-Conflict in state 80 between rule 63 and token '*' resolved as reduce.
-Conflict in state 80 between rule 63 and token '@' resolved as reduce.
-Conflict in state 80 between rule 63 and token '(' resolved as shift.
-Conflict in state 81 between rule 66 and token COMPOSE resolved as reduce.
-Conflict in state 81 between rule 66 and token JOIN resolved as reduce.
-Conflict in state 81 between rule 66 and token CARRIED_BY resolved as reduce.
-Conflict in state 81 between rule 66 and token UNION resolved as reduce.
-Conflict in state 81 between rule 66 and token INTERSECTION resolved as reduce.
-Conflict in state 81 between rule 66 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 81 between rule 66 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 81 between rule 66 and token '+' resolved as reduce.
-Conflict in state 81 between rule 66 and token '-' resolved as reduce.
-Conflict in state 81 between rule 66 and token '*' resolved as reduce.
-Conflict in state 81 between rule 66 and token '@' resolved as reduce.
-Conflict in state 81 between rule 66 and token '(' resolved as shift.
-Conflict in state 82 between rule 65 and token COMPOSE resolved as reduce.
-Conflict in state 82 between rule 65 and token JOIN resolved as reduce.
-Conflict in state 82 between rule 65 and token CARRIED_BY resolved as reduce.
-Conflict in state 82 between rule 65 and token UNION resolved as reduce.
-Conflict in state 82 between rule 65 and token INTERSECTION resolved as reduce.
-Conflict in state 82 between rule 65 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 82 between rule 65 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 82 between rule 65 and token '+' resolved as reduce.
-Conflict in state 82 between rule 65 and token '-' resolved as reduce.
-Conflict in state 82 between rule 65 and token '*' resolved as reduce.
-Conflict in state 82 between rule 65 and token '@' resolved as reduce.
-Conflict in state 82 between rule 65 and token '(' resolved as shift.
-Conflict in state 83 between rule 91 and token COMPOSE resolved as reduce.
-Conflict in state 83 between rule 91 and token JOIN resolved as reduce.
-Conflict in state 83 between rule 91 and token CARRIED_BY resolved as reduce.
-Conflict in state 83 between rule 91 and token UNION resolved as reduce.
-Conflict in state 83 between rule 91 and token INTERSECTION resolved as reduce.
-Conflict in state 83 between rule 91 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 83 between rule 91 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 83 between rule 91 and token '+' resolved as reduce.
-Conflict in state 83 between rule 91 and token '-' resolved as reduce.
-Conflict in state 83 between rule 91 and token '*' resolved as reduce.
-Conflict in state 83 between rule 91 and token '@' resolved as reduce.
-Conflict in state 83 between rule 91 and token '(' resolved as shift.
-Conflict in state 84 between rule 92 and token COMPOSE resolved as reduce.
-Conflict in state 84 between rule 92 and token JOIN resolved as reduce.
-Conflict in state 84 between rule 92 and token CARRIED_BY resolved as reduce.
-Conflict in state 84 between rule 92 and token UNION resolved as reduce.
-Conflict in state 84 between rule 92 and token INTERSECTION resolved as reduce.
-Conflict in state 84 between rule 92 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 84 between rule 92 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 84 between rule 92 and token '+' resolved as reduce.
-Conflict in state 84 between rule 92 and token '-' resolved as reduce.
-Conflict in state 84 between rule 92 and token '*' resolved as reduce.
-Conflict in state 84 between rule 92 and token '@' resolved as reduce.
-Conflict in state 84 between rule 92 and token '(' resolved as shift.
-Conflict in state 92 between rule 70 and token COMPOSE resolved as reduce.
-Conflict in state 92 between rule 70 and token JOIN resolved as reduce.
-Conflict in state 92 between rule 70 and token CARRIED_BY resolved as reduce.
-Conflict in state 92 between rule 70 and token UNION resolved as reduce.
-Conflict in state 92 between rule 70 and token INTERSECTION resolved as reduce.
-Conflict in state 92 between rule 70 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 92 between rule 70 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 92 between rule 70 and token '+' resolved as reduce.
-Conflict in state 92 between rule 70 and token '-' resolved as reduce.
-Conflict in state 92 between rule 70 and token '*' resolved as reduce.
-Conflict in state 92 between rule 70 and token '@' resolved as reduce.
-Conflict in state 92 between rule 70 and token '(' resolved as shift.
-Conflict in state 93 between rule 69 and token COMPOSE resolved as reduce.
-Conflict in state 93 between rule 69 and token JOIN resolved as reduce.
-Conflict in state 93 between rule 69 and token CARRIED_BY resolved as reduce.
-Conflict in state 93 between rule 69 and token UNION resolved as reduce.
-Conflict in state 93 between rule 69 and token INTERSECTION resolved as reduce.
-Conflict in state 93 between rule 69 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 93 between rule 69 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 93 between rule 69 and token '+' resolved as reduce.
-Conflict in state 93 between rule 69 and token '-' resolved as reduce.
-Conflict in state 93 between rule 69 and token '*' resolved as reduce.
-Conflict in state 93 between rule 69 and token '@' resolved as reduce.
-Conflict in state 93 between rule 69 and token '(' resolved as shift.
-Conflict in state 95 between rule 106 and token COMPOSE resolved as reduce.
-Conflict in state 95 between rule 106 and token JOIN resolved as reduce.
-Conflict in state 95 between rule 106 and token CARRIED_BY resolved as reduce.
-Conflict in state 95 between rule 106 and token UNION resolved as reduce.
-Conflict in state 95 between rule 106 and token INTERSECTION resolved as reduce.
-Conflict in state 95 between rule 106 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 95 between rule 106 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 95 between rule 106 and token '+' resolved as reduce.
-Conflict in state 95 between rule 106 and token '-' resolved as reduce.
-Conflict in state 95 between rule 106 and token '*' resolved as reduce.
-Conflict in state 95 between rule 106 and token '@' resolved as reduce.
-Conflict in state 95 between rule 106 and token '(' resolved as shift.
-Conflict in state 96 between rule 107 and token COMPOSE resolved as reduce.
-Conflict in state 96 between rule 107 and token JOIN resolved as reduce.
-Conflict in state 96 between rule 107 and token CARRIED_BY resolved as reduce.
-Conflict in state 96 between rule 107 and token UNION resolved as reduce.
-Conflict in state 96 between rule 107 and token INTERSECTION resolved as reduce.
-Conflict in state 96 between rule 107 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 96 between rule 107 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 96 between rule 107 and token '+' resolved as reduce.
-Conflict in state 96 between rule 107 and token '-' resolved as reduce.
-Conflict in state 96 between rule 107 and token '*' resolved as reduce.
-Conflict in state 96 between rule 107 and token '@' resolved as reduce.
-Conflict in state 96 between rule 107 and token '(' resolved as shift.
-Conflict in state 97 between rule 104 and token COMPOSE resolved as shift.
-Conflict in state 97 between rule 104 and token JOIN resolved as shift.
-Conflict in state 97 between rule 104 and token CARRIED_BY resolved as shift.
-Conflict in state 97 between rule 104 and token UNION resolved as reduce.
-Conflict in state 97 between rule 104 and token INTERSECTION resolved as shift.
-Conflict in state 97 between rule 104 and token RESTRICT_DOMAIN resolved as shift.
-Conflict in state 97 between rule 104 and token RESTRICT_RANGE resolved as shift.
-Conflict in state 97 between rule 104 and token '+' resolved as reduce.
-Conflict in state 97 between rule 104 and token '-' resolved as reduce.
-Conflict in state 97 between rule 104 and token '*' resolved as shift.
-Conflict in state 97 between rule 104 and token '@' resolved as shift.
-Conflict in state 97 between rule 104 and token '(' resolved as shift.
-Conflict in state 98 between rule 105 and token COMPOSE resolved as shift.
-Conflict in state 98 between rule 105 and token JOIN resolved as shift.
-Conflict in state 98 between rule 105 and token CARRIED_BY resolved as shift.
-Conflict in state 98 between rule 105 and token UNION resolved as reduce.
-Conflict in state 98 between rule 105 and token INTERSECTION resolved as shift.
-Conflict in state 98 between rule 105 and token RESTRICT_DOMAIN resolved as shift.
-Conflict in state 98 between rule 105 and token RESTRICT_RANGE resolved as shift.
-Conflict in state 98 between rule 105 and token '+' resolved as reduce.
-Conflict in state 98 between rule 105 and token '-' resolved as reduce.
-Conflict in state 98 between rule 105 and token '*' resolved as shift.
-Conflict in state 98 between rule 105 and token '@' resolved as shift.
-Conflict in state 98 between rule 105 and token '(' resolved as shift.
-Conflict in state 99 between rule 108 and token COMPOSE resolved as reduce.
-Conflict in state 99 between rule 108 and token JOIN resolved as reduce.
-Conflict in state 99 between rule 108 and token CARRIED_BY resolved as reduce.
-Conflict in state 99 between rule 108 and token UNION resolved as reduce.
-Conflict in state 99 between rule 108 and token INTERSECTION resolved as reduce.
-Conflict in state 99 between rule 108 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 99 between rule 108 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 99 between rule 108 and token '+' resolved as reduce.
-Conflict in state 99 between rule 108 and token '-' resolved as reduce.
-Conflict in state 99 between rule 108 and token '*' resolved as reduce.
-Conflict in state 99 between rule 108 and token '@' resolved as reduce.
-Conflict in state 99 between rule 108 and token '(' resolved as shift.
-Conflict in state 100 between rule 109 and token COMPOSE resolved as reduce.
-Conflict in state 100 between rule 109 and token JOIN resolved as reduce.
-Conflict in state 100 between rule 109 and token CARRIED_BY resolved as reduce.
-Conflict in state 100 between rule 109 and token UNION resolved as reduce.
-Conflict in state 100 between rule 109 and token INTERSECTION resolved as reduce.
-Conflict in state 100 between rule 109 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 100 between rule 109 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 100 between rule 109 and token '+' resolved as reduce.
-Conflict in state 100 between rule 109 and token '-' resolved as reduce.
-Conflict in state 100 between rule 109 and token '*' resolved as reduce.
-Conflict in state 100 between rule 109 and token '@' resolved as reduce.
-Conflict in state 100 between rule 109 and token '(' resolved as shift.
-Conflict in state 101 between rule 72 and token COMPOSE resolved as reduce.
-Conflict in state 101 between rule 72 and token JOIN resolved as reduce.
-Conflict in state 101 between rule 72 and token CARRIED_BY resolved as reduce.
-Conflict in state 101 between rule 72 and token UNION resolved as reduce.
-Conflict in state 101 between rule 72 and token INTERSECTION resolved as reduce.
-Conflict in state 101 between rule 72 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 101 between rule 72 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 101 between rule 72 and token '+' resolved as reduce.
-Conflict in state 101 between rule 72 and token '-' resolved as reduce.
-Conflict in state 101 between rule 72 and token '*' resolved as reduce.
-Conflict in state 101 between rule 72 and token '@' resolved as reduce.
-Conflict in state 101 between rule 72 and token '(' resolved as shift.
-Conflict in state 102 between rule 73 and token COMPOSE resolved as reduce.
-Conflict in state 102 between rule 73 and token JOIN resolved as reduce.
-Conflict in state 102 between rule 73 and token CARRIED_BY resolved as reduce.
-Conflict in state 102 between rule 73 and token UNION resolved as reduce.
-Conflict in state 102 between rule 73 and token INTERSECTION resolved as reduce.
-Conflict in state 102 between rule 73 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 102 between rule 73 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 102 between rule 73 and token '+' resolved as reduce.
-Conflict in state 102 between rule 73 and token '-' resolved as reduce.
-Conflict in state 102 between rule 73 and token '*' resolved as reduce.
-Conflict in state 102 between rule 73 and token '@' resolved as reduce.
-Conflict in state 102 between rule 73 and token '(' resolved as shift.
-Conflict in state 106 between rule 111 and token COMPOSE resolved as shift.
-Conflict in state 106 between rule 111 and token JOIN resolved as shift.
-Conflict in state 106 between rule 111 and token CARRIED_BY resolved as shift.
-Conflict in state 106 between rule 111 and token UNION resolved as shift.
-Conflict in state 106 between rule 111 and token INTERSECTION resolved as shift.
-Conflict in state 106 between rule 111 and token RESTRICT_DOMAIN resolved as shift.
-Conflict in state 106 between rule 111 and token RESTRICT_RANGE resolved as shift.
-Conflict in state 106 between rule 111 and token '+' resolved as shift.
-Conflict in state 106 between rule 111 and token '-' resolved as shift.
-Conflict in state 106 between rule 111 and token '*' resolved as shift.
-Conflict in state 106 between rule 111 and token '@' resolved as shift.
-Conflict in state 106 between rule 111 and token '(' resolved as shift.
-Conflict in state 119 between rule 61 and token '(' resolved as shift.
-Conflict in state 171 between rule 95 and token COMPOSE resolved as reduce.
-Conflict in state 171 between rule 95 and token JOIN resolved as reduce.
-Conflict in state 171 between rule 95 and token CARRIED_BY resolved as reduce.
-Conflict in state 171 between rule 95 and token UNION resolved as reduce.
-Conflict in state 171 between rule 95 and token INTERSECTION resolved as reduce.
-Conflict in state 171 between rule 95 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 171 between rule 95 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 171 between rule 95 and token '+' resolved as reduce.
-Conflict in state 171 between rule 95 and token '-' resolved as reduce.
-Conflict in state 171 between rule 95 and token '*' resolved as reduce.
-Conflict in state 171 between rule 95 and token '@' resolved as reduce.
-Conflict in state 171 between rule 95 and token '(' resolved as shift.
-Conflict in state 172 between rule 97 and token COMPOSE resolved as reduce.
-Conflict in state 172 between rule 97 and token JOIN resolved as reduce.
-Conflict in state 172 between rule 97 and token CARRIED_BY resolved as reduce.
-Conflict in state 172 between rule 97 and token UNION resolved as reduce.
-Conflict in state 172 between rule 97 and token INTERSECTION resolved as reduce.
-Conflict in state 172 between rule 97 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 172 between rule 97 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 172 between rule 97 and token '+' resolved as reduce.
-Conflict in state 172 between rule 97 and token '-' resolved as reduce.
-Conflict in state 172 between rule 97 and token '*' resolved as reduce.
-Conflict in state 172 between rule 97 and token '@' resolved as reduce.
-Conflict in state 172 between rule 97 and token '(' resolved as shift.
-Conflict in state 174 between rule 102 and token COMPOSE resolved as shift.
-Conflict in state 174 between rule 102 and token JOIN resolved as shift.
-Conflict in state 174 between rule 102 and token CARRIED_BY resolved as shift.
-Conflict in state 174 between rule 102 and token UNION resolved as reduce.
-Conflict in state 174 between rule 102 and token INTERSECTION resolved as shift.
-Conflict in state 174 between rule 102 and token RESTRICT_DOMAIN resolved as shift.
-Conflict in state 174 between rule 102 and token RESTRICT_RANGE resolved as shift.
-Conflict in state 174 between rule 102 and token '+' resolved as reduce.
-Conflict in state 174 between rule 102 and token '-' resolved as reduce.
-Conflict in state 174 between rule 102 and token '*' resolved as shift.
-Conflict in state 174 between rule 102 and token '@' resolved as shift.
-Conflict in state 174 between rule 102 and token '(' resolved as shift.
-Conflict in state 175 between rule 100 and token COMPOSE resolved as shift.
-Conflict in state 175 between rule 100 and token JOIN resolved as shift.
-Conflict in state 175 between rule 100 and token CARRIED_BY resolved as shift.
-Conflict in state 175 between rule 100 and token UNION resolved as reduce.
-Conflict in state 175 between rule 100 and token INTERSECTION resolved as reduce.
-Conflict in state 175 between rule 100 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 175 between rule 100 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 175 between rule 100 and token '+' resolved as reduce.
-Conflict in state 175 between rule 100 and token '-' resolved as reduce.
-Conflict in state 175 between rule 100 and token '*' resolved as reduce.
-Conflict in state 175 between rule 100 and token '@' resolved as reduce.
-Conflict in state 175 between rule 100 and token '(' resolved as shift.
-Conflict in state 177 between rule 99 and token COMPOSE resolved as shift.
-Conflict in state 177 between rule 99 and token JOIN resolved as shift.
-Conflict in state 177 between rule 99 and token CARRIED_BY resolved as shift.
-Conflict in state 177 between rule 99 and token UNION resolved as reduce.
-Conflict in state 177 between rule 99 and token INTERSECTION resolved as shift.
-Conflict in state 177 between rule 99 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 177 between rule 99 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 177 between rule 99 and token '+' resolved as reduce.
-Conflict in state 177 between rule 99 and token '-' resolved as reduce.
-Conflict in state 177 between rule 99 and token '*' resolved as shift.
-Conflict in state 177 between rule 99 and token '@' resolved as shift.
-Conflict in state 177 between rule 99 and token '(' resolved as shift.
-Conflict in state 178 between rule 98 and token COMPOSE resolved as shift.
-Conflict in state 178 between rule 98 and token JOIN resolved as shift.
-Conflict in state 178 between rule 98 and token CARRIED_BY resolved as shift.
-Conflict in state 178 between rule 98 and token UNION resolved as reduce.
-Conflict in state 178 between rule 98 and token INTERSECTION resolved as shift.
-Conflict in state 178 between rule 98 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 178 between rule 98 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 178 between rule 98 and token '+' resolved as reduce.
-Conflict in state 178 between rule 98 and token '-' resolved as reduce.
-Conflict in state 178 between rule 98 and token '*' resolved as shift.
-Conflict in state 178 between rule 98 and token '@' resolved as shift.
-Conflict in state 178 between rule 98 and token '(' resolved as shift.
-Conflict in state 180 between rule 101 and token COMPOSE resolved as shift.
-Conflict in state 180 between rule 101 and token JOIN resolved as shift.
-Conflict in state 180 between rule 101 and token CARRIED_BY resolved as shift.
-Conflict in state 180 between rule 101 and token UNION resolved as reduce.
-Conflict in state 180 between rule 101 and token INTERSECTION resolved as reduce.
-Conflict in state 180 between rule 101 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 180 between rule 101 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 180 between rule 101 and token '+' resolved as reduce.
-Conflict in state 180 between rule 101 and token '-' resolved as reduce.
-Conflict in state 180 between rule 101 and token '*' resolved as reduce.
-Conflict in state 180 between rule 101 and token '@' resolved as reduce.
-Conflict in state 180 between rule 101 and token '(' resolved as shift.
-Conflict in state 181 between rule 103 and token COMPOSE resolved as shift.
-Conflict in state 181 between rule 103 and token JOIN resolved as shift.
-Conflict in state 181 between rule 103 and token CARRIED_BY resolved as shift.
-Conflict in state 181 between rule 103 and token UNION resolved as reduce.
-Conflict in state 181 between rule 103 and token INTERSECTION resolved as reduce.
-Conflict in state 181 between rule 103 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 181 between rule 103 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 181 between rule 103 and token '+' resolved as reduce.
-Conflict in state 181 between rule 103 and token '-' resolved as reduce.
-Conflict in state 181 between rule 103 and token '*' resolved as reduce.
-Conflict in state 181 between rule 103 and token '@' resolved as reduce.
-Conflict in state 181 between rule 103 and token '(' resolved as shift.
-Conflict in state 187 between rule 141 and token OR resolved as reduce.
-Conflict in state 187 between rule 141 and token AND resolved as reduce.
-Conflict in state 190 between rule 166 and token '+' resolved as reduce.
-Conflict in state 190 between rule 166 and token '-' resolved as reduce.
-Conflict in state 190 between rule 166 and token '*' resolved as reduce.
-Conflict in state 218 between rule 93 and token COMPOSE resolved as reduce.
-Conflict in state 218 between rule 93 and token JOIN resolved as reduce.
-Conflict in state 218 between rule 93 and token CARRIED_BY resolved as reduce.
-Conflict in state 218 between rule 93 and token UNION resolved as reduce.
-Conflict in state 218 between rule 93 and token INTERSECTION resolved as reduce.
-Conflict in state 218 between rule 93 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 218 between rule 93 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 218 between rule 93 and token '+' resolved as reduce.
-Conflict in state 218 between rule 93 and token '-' resolved as reduce.
-Conflict in state 218 between rule 93 and token '*' resolved as reduce.
-Conflict in state 218 between rule 93 and token '@' resolved as reduce.
-Conflict in state 218 between rule 93 and token '(' resolved as shift.
-Conflict in state 219 between rule 88 and token COMPOSE resolved as reduce.
-Conflict in state 219 between rule 88 and token JOIN resolved as reduce.
-Conflict in state 219 between rule 88 and token CARRIED_BY resolved as reduce.
-Conflict in state 219 between rule 88 and token UNION resolved as reduce.
-Conflict in state 219 between rule 88 and token INTERSECTION resolved as reduce.
-Conflict in state 219 between rule 88 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 219 between rule 88 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 219 between rule 88 and token '+' resolved as reduce.
-Conflict in state 219 between rule 88 and token '-' resolved as reduce.
-Conflict in state 219 between rule 88 and token '*' resolved as reduce.
-Conflict in state 219 between rule 88 and token '@' resolved as reduce.
-Conflict in state 219 between rule 88 and token '(' resolved as shift.
-Conflict in state 220 between rule 78 and token COMPOSE resolved as reduce.
-Conflict in state 220 between rule 78 and token JOIN resolved as reduce.
-Conflict in state 220 between rule 78 and token CARRIED_BY resolved as reduce.
-Conflict in state 220 between rule 78 and token UNION resolved as reduce.
-Conflict in state 220 between rule 78 and token INTERSECTION resolved as reduce.
-Conflict in state 220 between rule 78 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 220 between rule 78 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 220 between rule 78 and token '+' resolved as reduce.
-Conflict in state 220 between rule 78 and token '-' resolved as reduce.
-Conflict in state 220 between rule 78 and token '*' resolved as reduce.
-Conflict in state 220 between rule 78 and token '@' resolved as reduce.
-Conflict in state 220 between rule 78 and token '(' resolved as shift.
-Conflict in state 242 between rule 62 and token COMPOSE resolved as reduce.
-Conflict in state 242 between rule 62 and token JOIN resolved as reduce.
-Conflict in state 242 between rule 62 and token CARRIED_BY resolved as reduce.
-Conflict in state 242 between rule 62 and token UNION resolved as reduce.
-Conflict in state 242 between rule 62 and token INTERSECTION resolved as reduce.
-Conflict in state 242 between rule 62 and token RESTRICT_DOMAIN resolved as reduce.
-Conflict in state 242 between rule 62 and token RESTRICT_RANGE resolved as reduce.
-Conflict in state 242 between rule 62 and token '+' resolved as reduce.
-Conflict in state 242 between rule 62 and token '-' resolved as reduce.
-Conflict in state 242 between rule 62 and token '*' resolved as reduce.
-Conflict in state 242 between rule 62 and token '@' resolved as reduce.
-Conflict in state 242 between rule 62 and token '(' resolved as shift.
-Conflict in state 255 between rule 138 and token OR resolved as reduce.
-Conflict in state 255 between rule 138 and token AND resolved as shift.
-Conflict in state 256 between rule 137 and token OR resolved as reduce.
-Conflict in state 256 between rule 137 and token AND resolved as reduce.
-Conflict in state 267 between rule 167 and token '+' resolved as reduce.
-Conflict in state 267 between rule 167 and token '-' resolved as reduce.
-Conflict in state 267 between rule 167 and token '*' resolved as shift.
-Conflict in state 268 between rule 168 and token '+' resolved as reduce.
-Conflict in state 268 between rule 168 and token '-' resolved as reduce.
-Conflict in state 268 between rule 168 and token '*' resolved as shift.
-Conflict in state 269 between rule 169 and token '+' resolved as reduce.
-Conflict in state 269 between rule 169 and token '-' resolved as reduce.
-Conflict in state 269 between rule 169 and token '*' resolved as reduce.
-State 250 contains 2 reduce/reduce conflicts.
+State 252 conflicts: 2 reduce/reduce
+
 
 Grammar
-rule 1    @1 -&gt;		/* empty */
-rule 2    start -&gt; @1 inputSequence
-rule 3    inputSequence -&gt; inputItem
-rule 4    @2 -&gt;		/* empty */
-rule 5    inputSequence -&gt; inputSequence @2 inputItem
-rule 6    inputItem -&gt; error ';'
-rule 7    inputItem -&gt; SYMBOLIC globVarList ';'
-rule 8    inputItem -&gt; VAR IS_ASSIGNED relation ';'
-rule 9    inputItem -&gt; relation ';'
-rule 10   inputItem -&gt; TIME relation ';'
-rule 11   inputItem -&gt; TIMECLOSURE relation ';'
-rule 12   inputItem -&gt; relation SUBSET relation ';'
-rule 13   inputItem -&gt; CODEGEN effort relPairList context ';'
-rule 14   inputItem -&gt; TCODEGEN effort statementInfoResult context ';'
-rule 15   inputItem -&gt; SPMD blockAndProcsAndEffort relTripList ';'
-rule 16   inputItem -&gt; reachable ';'
-rule 17   relTripList -&gt; relTripList ',' relation ':' relation ':' relation
-rule 18   relTripList -&gt; relation ':' relation ':' relation
-rule 19   blockAndProcsAndEffort -&gt;		/* empty */
-rule 20   blockAndProcsAndEffort -&gt; INT
-rule 21   blockAndProcsAndEffort -&gt; INT INT
-rule 22   blockAndProcsAndEffort -&gt; INT INT INT
-rule 23   effort -&gt;		/* empty */
-rule 24   effort -&gt; INT
-rule 25   effort -&gt; '-' INT
-rule 26   context -&gt;		/* empty */
-rule 27   context -&gt; GIVEN relation
-rule 28   relPairList -&gt; relPairList ',' relation ':' relation
-rule 29   relPairList -&gt; relPairList ',' relation
-rule 30   relPairList -&gt; relation ':' relation
-rule 31   relPairList -&gt; relation
-rule 32   statementInfoResult -&gt; statementInfoList
-rule 33   statementInfoResult -&gt; TRANS_IS relation statementInfoResult
-rule 34   statementInfoResult -&gt; SET_MMAP INT partialwrites statementInfoResult
-rule 35   statementInfoResult -&gt; UNROLL_IS INT INT INT statementInfoResult
-rule 36   statementInfoResult -&gt; PEEL_IS INT INT relation statementInfoResult
-rule 37   statementInfoResult -&gt; PEEL_IS INT INT relation ',' relation statementInfoResult
-rule 38   statementInfoList -&gt; statementInfo
-rule 39   statementInfoList -&gt; statementInfoList ',' statementInfo
-rule 40   statementInfo -&gt; '[' STRING ',' relation ',' partialwrites ',' reads ']'
-rule 41   statementInfo -&gt; '[' STRING ',' relation ',' partialwrites ']'
-rule 42   partialwrites -&gt; partialwrites ',' partialwrite
-rule 43   partialwrites -&gt; partialwrite
-rule 44   partialwrite -&gt; STRING '[' relation ']' ',' relation
-rule 45   partialwrite -&gt; STRING ',' relation
-rule 46   reads -&gt; reads ',' oneread
-rule 47   reads -&gt; oneread
-rule 48   oneread -&gt; '[' partials ']'
-rule 49   partials -&gt; partials ',' partial
-rule 50   partials -&gt; partial
-rule 51   partial -&gt; INT ',' relation
-rule 52   globVarList -&gt; globVarList ',' globVar
-rule 53   globVarList -&gt; globVar
-rule 54   globVar -&gt; VAR '(' INT ')'
-rule 55   globVar -&gt; VAR
-rule 56   @3 -&gt;		/* empty */
-rule 57   relation -&gt; OPEN_BRACE @3 builtRelation CLOSE_BRACE
-rule 58   relation -&gt; VAR
-rule 59   relation -&gt; '(' relation ')'
-rule 60   relation -&gt; relation '+'
-rule 61   relation -&gt; relation '*'
-rule 62   relation -&gt; relation '+' WITHIN relation
-rule 63   relation -&gt; MINIMIZE_RANGE relation
-rule 64   relation -&gt; MAXIMIZE_RANGE relation
-rule 65   relation -&gt; MINIMIZE_DOMAIN relation
-rule 66   relation -&gt; MAXIMIZE_DOMAIN relation
-rule 67   relation -&gt; MAXIMIZE relation
-rule 68   relation -&gt; MINIMIZE relation
-rule 69   relation -&gt; FARKAS relation
-rule 70   relation -&gt; DECOUPLED_FARKAS relation
-rule 71   relation -&gt; relation '@'
-rule 72   relation -&gt; PROJECT_AWAY_SYMBOLS relation
-rule 73   relation -&gt; PROJECT_ON_SYMBOLS relation
-rule 74   relation -&gt; DIFFERENCE relation
-rule 75   relation -&gt; DIFFERENCE_TO_RELATION relation
-rule 76   relation -&gt; DOMAIN relation
-rule 77   relation -&gt; VENN relation
-rule 78   relation -&gt; VENN relation GIVEN relation
-rule 79   relation -&gt; CONVEX_HULL relation
-rule 80   relation -&gt; POSITIVE_COMBINATION relation
-rule 81   relation -&gt; CONVEX_COMBINATION relation
-rule 82   relation -&gt; PAIRWISE_CHECK relation
-rule 83   relation -&gt; CONVEX_CHECK relation
-rule 84   relation -&gt; AFFINE_HULL relation
-rule 85   relation -&gt; CONIC_HULL relation
-rule 86   relation -&gt; LINEAR_HULL relation
-rule 87   relation -&gt; HULL relation
-rule 88   relation -&gt; HULL relation GIVEN relation
-rule 89   relation -&gt; APPROX relation
-rule 90   relation -&gt; RANGE relation
-rule 91   relation -&gt; INVERSE relation
-rule 92   relation -&gt; COMPLEMENT relation
-rule 93   relation -&gt; GIST relation GIVEN relation
-rule 94   relation -&gt; relation '(' relation ')'
-rule 95   relation -&gt; relation COMPOSE relation
-rule 96   relation -&gt; relation CARRIED_BY INT
-rule 97   relation -&gt; relation JOIN relation
-rule 98   relation -&gt; relation RESTRICT_RANGE relation
-rule 99   relation -&gt; relation RESTRICT_DOMAIN relation
-rule 100  relation -&gt; relation INTERSECTION relation
-rule 101  relation -&gt; relation '-' relation
-rule 102  relation -&gt; relation UNION relation
-rule 103  relation -&gt; relation '*' relation
-rule 104  relation -&gt; SUPERSETOF relation
-rule 105  relation -&gt; SUBSETOF relation
-rule 106  relation -&gt; MAKE_UPPER_BOUND relation
-rule 107  relation -&gt; MAKE_LOWER_BOUND relation
-rule 108  relation -&gt; SAMPLE relation
-rule 109  relation -&gt; SYM_SAMPLE relation
-rule 110  relation -&gt; reachable_of
-rule 111  relation -&gt; ASSERT_UNSAT relation
-rule 112  @4 -&gt;		/* empty */
-rule 113  @5 -&gt;		/* empty */
-rule 114  builtRelation -&gt; tupleDeclaration GOES_TO @4 tupleDeclaration @5 optionalFormula
-rule 115  builtRelation -&gt; tupleDeclaration optionalFormula
-rule 116  builtRelation -&gt; formula
-rule 117  optionalFormula -&gt; formula_sep formula
-rule 118  optionalFormula -&gt;		/* empty */
-rule 119  formula_sep -&gt; ':'
-rule 120  formula_sep -&gt; VERTICAL_BAR
-rule 121  formula_sep -&gt; SUCH_THAT
-rule 122  @6 -&gt;		/* empty */
-rule 123  tupleDeclaration -&gt; @6 '[' optionalTupleVarList ']'
-rule 124  optionalTupleVarList -&gt; tupleVar
-rule 125  optionalTupleVarList -&gt; optionalTupleVarList ',' tupleVar
-rule 126  optionalTupleVarList -&gt;		/* empty */
-rule 127  tupleVar -&gt; VAR
-rule 128  tupleVar -&gt; '*'
-rule 129  tupleVar -&gt; exp
-rule 130  tupleVar -&gt; exp ':' exp
-rule 131  tupleVar -&gt; exp ':' exp ':' INT
-rule 132  varList -&gt; varList ',' VAR
-rule 133  varList -&gt; VAR
-rule 134  varDecl -&gt; varList
-rule 135  varDeclOptBrackets -&gt; varDecl
-rule 136  varDeclOptBrackets -&gt; '[' varDecl ']'
-rule 137  formula -&gt; formula AND formula
-rule 138  formula -&gt; formula OR formula
-rule 139  formula -&gt; constraintChain
-rule 140  formula -&gt; '(' formula ')'
-rule 141  formula -&gt; NOT formula
-rule 142  formula -&gt; start_exists varDeclOptBrackets exists_sep formula end_quant
-rule 143  formula -&gt; start_forall varDeclOptBrackets forall_sep formula end_quant
-rule 144  start_exists -&gt; '(' EXISTS
-rule 145  start_exists -&gt; EXISTS '('
-rule 146  exists_sep -&gt; ':'
-rule 147  exists_sep -&gt; VERTICAL_BAR
-rule 148  exists_sep -&gt; SUCH_THAT
-rule 149  start_forall -&gt; '(' FORALL
-rule 150  start_forall -&gt; FORALL '('
-rule 151  forall_sep -&gt; ':'
-rule 152  end_quant -&gt; ')'
-rule 153  expList -&gt; exp ',' expList
-rule 154  expList -&gt; exp
-rule 155  constraintChain -&gt; expList REL_OP expList
-rule 156  constraintChain -&gt; expList REL_OP constraintChain
-rule 157  simpleExp -&gt; VAR
-rule 158  @7 -&gt;		/* empty */
-rule 159  simpleExp -&gt; VAR '(' @7 argumentList ')'
-rule 160  simpleExp -&gt; '(' exp ')'
-rule 161  argumentList -&gt; argumentList ',' VAR
-rule 162  argumentList -&gt; VAR
-rule 163  exp -&gt; INT
-rule 164  exp -&gt; INT simpleExp
-rule 165  exp -&gt; simpleExp
-rule 166  exp -&gt; '-' exp
-rule 167  exp -&gt; exp '+' exp
-rule 168  exp -&gt; exp '-' exp
-rule 169  exp -&gt; exp '*' exp
-rule 170  reachable -&gt; REACHABLE_FROM nodeNameList nodeSpecificationList
-rule 171  reachable_of -&gt; REACHABLE_OF VAR IN nodeNameList nodeSpecificationList
-rule 172  nodeNameList -&gt; '(' realNodeNameList ')'
-rule 173  realNodeNameList -&gt; realNodeNameList ',' VAR
-rule 174  realNodeNameList -&gt; VAR
-rule 175  nodeSpecificationList -&gt; OPEN_BRACE realNodeSpecificationList CLOSE_BRACE
-rule 176  realNodeSpecificationList -&gt; realNodeSpecificationList ',' VAR ':' relation
-rule 177  realNodeSpecificationList -&gt; realNodeSpecificationList ',' VAR GOES_TO VAR ':' relation
-rule 178  realNodeSpecificationList -&gt; VAR GOES_TO VAR ':' relation
-rule 179  realNodeSpecificationList -&gt; VAR ':' relation
+
+    0 $accept: start $end
+
+    1 @1: /* empty */
+
+    2 start: @1 inputSequence
+
+    3 inputSequence: inputItem
+
+    4 @2: /* empty */
+
+    5 inputSequence: inputSequence @2 inputItem
+
+    6 inputItem: error ';'
+    7          | SYMBOLIC globVarList ';'
+    8          | VAR IS_ASSIGNED relation ';'
+    9          | relation ';'
+   10          | TIME relation ';'
+   11          | TIMECLOSURE relation ';'
+   12          | relation SUBSET relation ';'
+   13          | CODEGEN effort relPairList context ';'
+   14          | TCODEGEN effort statementInfoResult context ';'
+   15          | SPMD blockAndProcsAndEffort relTripList ';'
+   16          | reachable ';'
+
+   17 relTripList: relTripList ',' relation ':' relation ':' relation
+   18            | relation ':' relation ':' relation
+
+   19 blockAndProcsAndEffort: /* empty */
+   20                       | INT
+   21                       | INT INT
+   22                       | INT INT INT
+
+   23 effort: /* empty */
+   24       | INT
+   25       | '-' INT
+
+   26 context: /* empty */
+   27        | GIVEN relation
+
+   28 relPairList: relPairList ',' relation ':' relation
+   29            | relPairList ',' relation
+   30            | relation ':' relation
+   31            | relation
+
+   32 statementInfoResult: statementInfoList
+   33                    | TRANS_IS relation statementInfoResult
+   34                    | SET_MMAP INT partialwrites statementInfoResult
+   35                    | UNROLL_IS INT INT INT statementInfoResult
+   36                    | PEEL_IS INT INT relation statementInfoResult
+   37                    | PEEL_IS INT INT relation ',' relation statementInfoResult
+
+   38 statementInfoList: statementInfo
+   39                  | statementInfoList ',' statementInfo
+
+   40 statementInfo: '[' STRING ',' relation ',' partialwrites ',' reads ']'
+   41              | '[' STRING ',' relation ',' partialwrites ']'
+
+   42 partialwrites: partialwrites ',' partialwrite
+   43              | partialwrite
+
+   44 partialwrite: STRING '[' relation ']' ',' relation
+   45             | STRING ',' relation
+
+   46 reads: reads ',' oneread
+   47      | oneread
+
+   48 oneread: '[' partials ']'
+
+   49 partials: partials ',' partial
+   50         | partial
+
+   51 partial: INT ',' relation
+
+   52 globVarList: globVarList ',' globVar
+   53            | globVar
+
+   54 globVar: VAR '(' INT ')'
+   55        | VAR
+
+   56 @3: /* empty */
+
+   57 relation: OPEN_BRACE @3 builtRelation CLOSE_BRACE
+   58         | VAR
+   59         | '(' relation ')'
+   60         | relation '+'
+   61         | relation '*'
+   62         | relation '+' WITHIN relation
+   63         | MINIMIZE_RANGE relation
+   64         | MAXIMIZE_RANGE relation
+   65         | MINIMIZE_DOMAIN relation
+   66         | MAXIMIZE_DOMAIN relation
+   67         | MAXIMIZE relation
+   68         | MINIMIZE relation
+   69         | FARKAS relation
+   70         | DECOUPLED_FARKAS relation
+   71         | relation '@'
+   72         | PROJECT_AWAY_SYMBOLS relation
+   73         | PROJECT_ON_SYMBOLS relation
+   74         | DIFFERENCE relation
+   75         | DIFFERENCE_TO_RELATION relation
+   76         | DOMAIN relation
+   77         | VENN relation
+   78         | VENN relation GIVEN relation
+   79         | CONVEX_HULL relation
+   80         | POSITIVE_COMBINATION relation
+   81         | CONVEX_COMBINATION relation
+   82         | PAIRWISE_CHECK relation
+   83         | CONVEX_CHECK relation
+   84         | AFFINE_HULL relation
+   85         | CONIC_HULL relation
+   86         | LINEAR_HULL relation
+   87         | HULL relation
+   88         | HULL relation GIVEN relation
+   89         | APPROX relation
+   90         | RANGE relation
+   91         | INVERSE relation
+   92         | COMPLEMENT relation
+   93         | GIST relation GIVEN relation
+   94         | relation '(' relation ')'
+   95         | relation COMPOSE relation
+   96         | relation CARRIED_BY INT
+   97         | relation JOIN relation
+   98         | relation RESTRICT_RANGE relation
+   99         | relation RESTRICT_DOMAIN relation
+  100         | relation INTERSECTION relation
+  101         | relation '-' relation
+  102         | relation UNION relation
+  103         | relation '*' relation
+  104         | SUPERSETOF relation
+  105         | SUBSETOF relation
+  106         | MAKE_UPPER_BOUND relation
+  107         | MAKE_LOWER_BOUND relation
+  108         | SAMPLE relation
+  109         | SYM_SAMPLE relation
+  110         | reachable_of
+  111         | ASSERT_UNSAT relation
+
+  112 @4: /* empty */
+
+  113 @5: /* empty */
+
+  114 builtRelation: tupleDeclaration GOES_TO @4 tupleDeclaration @5 optionalFormula
+  115              | tupleDeclaration optionalFormula
+  116              | formula
+
+  117 optionalFormula: formula_sep formula
+  118                | /* empty */
+
+  119 formula_sep: ':'
+  120            | VERTICAL_BAR
+  121            | SUCH_THAT
+
+  122 @6: /* empty */
+
+  123 tupleDeclaration: @6 '[' optionalTupleVarList ']'
+
+  124 optionalTupleVarList: tupleVar
+  125                     | optionalTupleVarList ',' tupleVar
+  126                     | /* empty */
+
+  127 tupleVar: VAR
+  128         | '*'
+  129         | exp
+  130         | exp ':' exp
+  131         | exp ':' exp ':' INT
+
+  132 varList: varList ',' VAR
+  133        | VAR
+
+  134 varDecl: varList
+
+  135 varDeclOptBrackets: varDecl
+  136                   | '[' varDecl ']'
+
+  137 formula: formula AND formula
+  138        | formula OR formula
+  139        | constraintChain
+  140        | '(' formula ')'
+  141        | NOT formula
+  142        | start_exists varDeclOptBrackets exists_sep formula end_quant
+  143        | start_forall varDeclOptBrackets forall_sep formula end_quant
+
+  144 start_exists: '(' EXISTS
+  145             | EXISTS '('
+
+  146 exists_sep: ':'
+  147           | VERTICAL_BAR
+  148           | SUCH_THAT
+
+  149 start_forall: '(' FORALL
+  150             | FORALL '('
+
+  151 forall_sep: ':'
+
+  152 end_quant: ')'
+
+  153 expList: exp ',' expList
+  154        | exp
+
+  155 constraintChain: expList REL_OP expList
+  156                | expList REL_OP constraintChain
+
+  157 simpleExp: VAR
+
+  158 @7: /* empty */
+
+  159 simpleExp: VAR '(' @7 argumentList ')'
+  160          | '(' exp ')'
+
+  161 argumentList: argumentList ',' VAR
+  162             | VAR
+
+  163 exp: INT
+  164    | INT simpleExp
+  165    | simpleExp
+  166    | '-' exp
+  167    | exp '+' exp
+  168    | exp '-' exp
+  169    | exp '*' exp
+
+  170 reachable: REACHABLE_FROM nodeNameList nodeSpecificationList
+
+  171 reachable_of: REACHABLE_OF VAR IN nodeNameList nodeSpecificationList
+
+  172 nodeNameList: '(' realNodeNameList ')'
+
+  173 realNodeNameList: realNodeNameList ',' VAR
+  174                 | VAR
+
+  175 nodeSpecificationList: OPEN_BRACE realNodeSpecificationList CLOSE_BRACE
+
+  176 realNodeSpecificationList: realNodeSpecificationList ',' VAR ':' relation
+  177                          | realNodeSpecificationList ',' VAR GOES_TO VAR ':' relation
+  178                          | VAR GOES_TO VAR ':' relation
+  179                          | VAR ':' relation
+
 
 Terminals, with rules where they appear
 
-$ (-1)
+$end (0) 0
 '(' (40) 54 59 94 140 144 145 149 150 159 160 172
 ')' (41) 54 59 94 140 152 159 160 172
 '*' (42) 61 103 128 169
@@ -883,51 +367,54 @@ p8 (346)
 p9 (347)
 p10 (348)
 
+
 Nonterminals, with rules where they appear
 
-start (105)
-    on left: 2
-@1 (106)
+$accept (105)
+    on left: 0
+start (106)
+    on left: 2, on right: 0
+@1 (107)
     on left: 1, on right: 2
-inputSequence (107)
+inputSequence (108)
     on left: 3 5, on right: 2 5
-@2 (108)
+@2 (109)
     on left: 4, on right: 5
-inputItem (109)
+inputItem (110)
     on left: 6 7 8 9 10 11 12 13 14 15 16, on right: 3 5
-relTripList (110)
+relTripList (111)
     on left: 17 18, on right: 15 17
-blockAndProcsAndEffort (111)
+blockAndProcsAndEffort (112)
     on left: 19 20 21 22, on right: 15
-effort (112)
+effort (113)
     on left: 23 24 25, on right: 13 14
-context (113)
+context (114)
     on left: 26 27, on right: 13 14
-relPairList (114)
+relPairList (115)
     on left: 28 29 30 31, on right: 13 28 29
-statementInfoResult (115)
+statementInfoResult (116)
     on left: 32 33 34 35 36 37, on right: 14 33 34 35 36 37
-statementInfoList (116)
+statementInfoList (117)
     on left: 38 39, on right: 32 39
-statementInfo (117)
+statementInfo (118)
     on left: 40 41, on right: 38 39
-partialwrites (118)
+partialwrites (119)
     on left: 42 43, on right: 34 40 41 42
-partialwrite (119)
+partialwrite (120)
     on left: 44 45, on right: 42 43
-reads (120)
+reads (121)
     on left: 46 47, on right: 40 46
-oneread (121)
+oneread (122)
     on left: 48, on right: 46 47
-partials (122)
+partials (123)
     on left: 49 50, on right: 48 49
-partial (123)
+partial (124)
     on left: 51, on right: 49 50
-globVarList (124)
+globVarList (125)
     on left: 52 53, on right: 7 52
-globVar (125)
+globVar (126)
     on left: 54 55, on right: 52 53
-relation (126)
+relation (127)
     on left: 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
     75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
     96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111,
@@ -935,8439 +422,8064 @@ relation (126)
     51 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
     79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
     100 101 102 103 104 105 106 107 108 109 111 176 177 178 179
-@3 (127)
+@3 (128)
     on left: 56, on right: 57
-builtRelation (128)
+builtRelation (129)
     on left: 114 115 116, on right: 57
-@4 (129)
+@4 (130)
     on left: 112, on right: 114
-@5 (130)
+@5 (131)
     on left: 113, on right: 114
-optionalFormula (131)
+optionalFormula (132)
     on left: 117 118, on right: 114 115
-formula_sep (132)
+formula_sep (133)
     on left: 119 120 121, on right: 117
-tupleDeclaration (133)
+tupleDeclaration (134)
     on left: 123, on right: 114 115
-@6 (134)
+@6 (135)
     on left: 122, on right: 123
-optionalTupleVarList (135)
+optionalTupleVarList (136)
     on left: 124 125 126, on right: 123 125
-tupleVar (136)
+tupleVar (137)
     on left: 127 128 129 130 131, on right: 124 125
-varList (137)
+varList (138)
     on left: 132 133, on right: 132 134
-varDecl (138)
+varDecl (139)
     on left: 134, on right: 135 136
-varDeclOptBrackets (139)
+varDeclOptBrackets (140)
     on left: 135 136, on right: 142 143
-formula (140)
+formula (141)
     on left: 137 138 139 140 141 142 143, on right: 116 117 137 138
     140 141 142 143
-start_exists (141)
+start_exists (142)
     on left: 144 145, on right: 142
-exists_sep (142)
+exists_sep (143)
     on left: 146 147 148, on right: 142
-start_forall (143)
+start_forall (144)
     on left: 149 150, on right: 143
-forall_sep (144)
+forall_sep (145)
     on left: 151, on right: 143
-end_quant (145)
+end_quant (146)
     on left: 152, on right: 142 143
-expList (146)
+expList (147)
     on left: 153 154, on right: 153 155 156
-constraintChain (147)
+constraintChain (148)
     on left: 155 156, on right: 139 156
-simpleExp (148)
+simpleExp (149)
     on left: 157 159 160, on right: 164 165
-@7 (149)
+@7 (150)
     on left: 158, on right: 159
-argumentList (150)
+argumentList (151)
     on left: 161 162, on right: 159 161
-exp (151)
+exp (152)
     on left: 163 164 165 166 167 168 169, on right: 129 130 131 153
     154 160 166 167 168 169
-reachable (152)
+reachable (153)
     on left: 170, on right: 16
-reachable_of (153)
+reachable_of (154)
     on left: 171, on right: 110
-nodeNameList (154)
+nodeNameList (155)
     on left: 172, on right: 170 171
-realNodeNameList (155)
+realNodeNameList (156)
     on left: 173 174, on right: 172 173
-nodeSpecificationList (156)
+nodeSpecificationList (157)
     on left: 175, on right: 170 171
-realNodeSpecificationList (157)
+realNodeSpecificationList (158)
     on left: 176 177 178 179, on right: 175 176 177
 
 
 state 0
 
-    $default	reduce using rule 1 (@1)
+    0 $accept: . start $end
 
-    start	go to state 370
-    @1  	go to state 1
+    $default  reduce using rule 1 (@1)
 
+    start  go to state 1
+    @1     go to state 2
 
 
 state 1
 
-    start  -&gt;  @1 . inputSequence   (rule 2)
-
-    error	shift, and go to state 2
-    VAR 	shift, and go to state 3
-    OPEN_BRACE	shift, and go to state 4
-    SYMBOLIC	shift, and go to state 5
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    TIME	shift, and go to state 30
-    TIMECLOSURE	shift, and go to state 31
-    SPMD	shift, and go to state 32
-    CODEGEN	shift, and go to state 33
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    TCODEGEN	shift, and go to state 36
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_FROM	shift, and go to state 45
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    inputSequence	go to state 49
-    inputItem	go to state 50
-    relation	go to state 51
-    reachable	go to state 52
-    reachable_of	go to state 53
+    0 $accept: start . $end
 
+    $end  shift, and go to state 3
 
 
 state 2
 
-    inputItem  -&gt;  error . ';'   (rule 6)
-
-    ';' 	shift, and go to state 54
-
+    2 start: @1 . inputSequence
+
+    error                   shift, and go to state 4
+    VAR                     shift, and go to state 5
+    OPEN_BRACE              shift, and go to state 6
+    SYMBOLIC                shift, and go to state 7
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    TIME                    shift, and go to state 32
+    TIMECLOSURE             shift, and go to state 33
+    SPMD                    shift, and go to state 34
+    CODEGEN                 shift, and go to state 35
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    TCODEGEN                shift, and go to state 38
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_FROM          shift, and go to state 47
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    inputSequence  go to state 51
+    inputItem      go to state 52
+    relation       go to state 53
+    reachable      go to state 54
+    reachable_of   go to state 55
 
 
 state 3
 
-    inputItem  -&gt;  VAR . IS_ASSIGNED relation ';'   (rule 8)
-    relation  -&gt;  VAR .   (rule 58)
-
-    IS_ASSIGNED	shift, and go to state 55
-
-    $default	reduce using rule 58 (relation)
+    0 $accept: start $end .
 
+    $default  accept
 
 
 state 4
 
-    relation  -&gt;  OPEN_BRACE . @3 builtRelation CLOSE_BRACE   (rule 57)
-
-    $default	reduce using rule 56 (@3)
-
-    @3  	go to state 56
+    6 inputItem: error . ';'
 
+    ';'  shift, and go to state 56
 
 
 state 5
 
-    inputItem  -&gt;  SYMBOLIC . globVarList ';'   (rule 7)
-
-    VAR 	shift, and go to state 57
+    8 inputItem: VAR . IS_ASSIGNED relation ';'
+   58 relation: VAR .
 
-    globVarList	go to state 58
-    globVar	go to state 59
+    IS_ASSIGNED  shift, and go to state 57
 
+    $default  reduce using rule 58 (relation)
 
 
 state 6
 
-    relation  -&gt;  APPROX . relation   (rule 89)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 61
-    reachable_of	go to state 53
+   57 relation: OPEN_BRACE . @3 builtRelation CLOSE_BRACE
 
+    $default  reduce using rule 56 (@3)
+
+    @3  go to state 58
 
 
 state 7
 
-    relation  -&gt;  DOMAIN . relation   (rule 76)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 62
-    reachable_of	go to state 53
+    7 inputItem: SYMBOLIC . globVarList ';'
 
+    VAR  shift, and go to state 59
 
+    globVarList  go to state 60
+    globVar      go to state 61
 
-state 8
 
-    relation  -&gt;  RANGE . relation   (rule 90)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 63
-    reachable_of	go to state 53
+state 8
 
+   89 relation: APPROX . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 63
+    reachable_of  go to state 55
 
 
 state 9
 
-    relation  -&gt;  DIFFERENCE . relation   (rule 74)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 64
-    reachable_of	go to state 53
-
+   76 relation: DOMAIN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 64
+    reachable_of  go to state 55
 
 
 state 10
 
-    relation  -&gt;  DIFFERENCE_TO_RELATION . relation   (rule 75)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 65
-    reachable_of	go to state 53
-
+   90 relation: RANGE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 65
+    reachable_of  go to state 55
 
 
 state 11
 
-    relation  -&gt;  GIST . relation GIVEN relation   (rule 93)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 66
-    reachable_of	go to state 53
-
+   74 relation: DIFFERENCE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 66
+    reachable_of  go to state 55
 
 
 state 12
 
-    relation  -&gt;  HULL . relation   (rule 87)
-    relation  -&gt;  HULL . relation GIVEN relation   (rule 88)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 67
-    reachable_of	go to state 53
-
+   75 relation: DIFFERENCE_TO_RELATION . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 67
+    reachable_of  go to state 55
 
 
 state 13
 
-    relation  -&gt;  MAXIMIZE . relation   (rule 67)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 68
-    reachable_of	go to state 53
-
+   93 relation: GIST . relation GIVEN relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 68
+    reachable_of  go to state 55
 
 
 state 14
 
-    relation  -&gt;  MINIMIZE . relation   (rule 68)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 69
-    reachable_of	go to state 53
-
+   87 relation: HULL . relation
+   88         | HULL . relation GIVEN relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 69
+    reachable_of  go to state 55
 
 
 state 15
 
-    relation  -&gt;  AFFINE_HULL . relation   (rule 84)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 70
-    reachable_of	go to state 53
-
+   67 relation: MAXIMIZE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 70
+    reachable_of  go to state 55
 
 
 state 16
 
-    relation  -&gt;  VENN . relation   (rule 77)
-    relation  -&gt;  VENN . relation GIVEN relation   (rule 78)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 71
-    reachable_of	go to state 53
-
+   68 relation: MINIMIZE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 71
+    reachable_of  go to state 55
 
 
 state 17
 
-    relation  -&gt;  CONVEX_COMBINATION . relation   (rule 81)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 72
-    reachable_of	go to state 53
-
+   84 relation: AFFINE_HULL . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 72
+    reachable_of  go to state 55
 
 
 state 18
 
-    relation  -&gt;  POSITIVE_COMBINATION . relation   (rule 80)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 73
-    reachable_of	go to state 53
-
+   77 relation: VENN . relation
+   78         | VENN . relation GIVEN relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 73
+    reachable_of  go to state 55
 
 
 state 19
 
-    relation  -&gt;  CONVEX_HULL . relation   (rule 79)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 74
-    reachable_of	go to state 53
-
+   81 relation: CONVEX_COMBINATION . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 74
+    reachable_of  go to state 55
 
 
 state 20
 
-    relation  -&gt;  CONIC_HULL . relation   (rule 85)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 75
-    reachable_of	go to state 53
-
+   80 relation: POSITIVE_COMBINATION . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 75
+    reachable_of  go to state 55
 
 
 state 21
 
-    relation  -&gt;  LINEAR_HULL . relation   (rule 86)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 76
-    reachable_of	go to state 53
-
+   79 relation: CONVEX_HULL . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 76
+    reachable_of  go to state 55
 
 
 state 22
 
-    relation  -&gt;  PAIRWISE_CHECK . relation   (rule 82)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 77
-    reachable_of	go to state 53
-
+   85 relation: CONIC_HULL . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 77
+    reachable_of  go to state 55
 
 
 state 23
 
-    relation  -&gt;  CONVEX_CHECK . relation   (rule 83)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 78
-    reachable_of	go to state 53
-
+   86 relation: LINEAR_HULL . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 78
+    reachable_of  go to state 55
 
 
 state 24
 
-    relation  -&gt;  MAXIMIZE_RANGE . relation   (rule 64)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 79
-    reachable_of	go to state 53
-
+   82 relation: PAIRWISE_CHECK . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 79
+    reachable_of  go to state 55
 
 
 state 25
 
-    relation  -&gt;  MINIMIZE_RANGE . relation   (rule 63)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 80
-    reachable_of	go to state 53
-
+   83 relation: CONVEX_CHECK . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 80
+    reachable_of  go to state 55
 
 
 state 26
 
-    relation  -&gt;  MAXIMIZE_DOMAIN . relation   (rule 66)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 81
-    reachable_of	go to state 53
-
+   64 relation: MAXIMIZE_RANGE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 81
+    reachable_of  go to state 55
 
 
 state 27
 
-    relation  -&gt;  MINIMIZE_DOMAIN . relation   (rule 65)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 82
-    reachable_of	go to state 53
-
+   63 relation: MINIMIZE_RANGE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 82
+    reachable_of  go to state 55
 
 
 state 28
 
-    relation  -&gt;  INVERSE . relation   (rule 91)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 83
-    reachable_of	go to state 53
-
+   66 relation: MAXIMIZE_DOMAIN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 83
+    reachable_of  go to state 55
 
 
 state 29
 
-    relation  -&gt;  COMPLEMENT . relation   (rule 92)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 84
-    reachable_of	go to state 53
-
+   65 relation: MINIMIZE_DOMAIN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 84
+    reachable_of  go to state 55
 
 
 state 30
 
-    inputItem  -&gt;  TIME . relation ';'   (rule 10)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 85
-    reachable_of	go to state 53
-
+   91 relation: INVERSE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 85
+    reachable_of  go to state 55
 
 
 state 31
 
-    inputItem  -&gt;  TIMECLOSURE . relation ';'   (rule 11)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 86
-    reachable_of	go to state 53
-
+   92 relation: COMPLEMENT . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 86
+    reachable_of  go to state 55
 
 
 state 32
 
-    inputItem  -&gt;  SPMD . blockAndProcsAndEffort relTripList ';'   (rule 15)
-
-    INT 	shift, and go to state 87
-
-    $default	reduce using rule 19 (blockAndProcsAndEffort)
-
-    blockAndProcsAndEffort	go to state 88
-
+   10 inputItem: TIME . relation ';'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 87
+    reachable_of  go to state 55
 
 
 state 33
 
-    inputItem  -&gt;  CODEGEN . effort relPairList context ';'   (rule 13)
-
-    INT 	shift, and go to state 89
-    '-' 	shift, and go to state 90
-
-    $default	reduce using rule 23 (effort)
-
-    effort	go to state 91
-
+   11 inputItem: TIMECLOSURE . relation ';'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 88
+    reachable_of  go to state 55
 
 
 state 34
 
-    relation  -&gt;  DECOUPLED_FARKAS . relation   (rule 70)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 92
-    reachable_of	go to state 53
+   15 inputItem: SPMD . blockAndProcsAndEffort relTripList ';'
 
+    INT  shift, and go to state 89
 
+    $default  reduce using rule 19 (blockAndProcsAndEffort)
 
-state 35
+    blockAndProcsAndEffort  go to state 90
 
-    relation  -&gt;  FARKAS . relation   (rule 69)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 93
-    reachable_of	go to state 53
 
+state 35
 
+   13 inputItem: CODEGEN . effort relPairList context ';'
 
-state 36
+    INT  shift, and go to state 91
+    '-'  shift, and go to state 92
 
-    inputItem  -&gt;  TCODEGEN . effort statementInfoResult context ';'   (rule 14)
+    $default  reduce using rule 23 (effort)
 
-    INT 	shift, and go to state 89
-    '-' 	shift, and go to state 90
+    effort  go to state 93
 
-    $default	reduce using rule 23 (effort)
 
-    effort	go to state 94
+state 36
 
+   70 relation: DECOUPLED_FARKAS . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 94
+    reachable_of  go to state 55
 
 
 state 37
 
-    relation  -&gt;  MAKE_UPPER_BOUND . relation   (rule 106)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 95
-    reachable_of	go to state 53
-
+   69 relation: FARKAS . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 95
+    reachable_of  go to state 55
 
 
 state 38
 
-    relation  -&gt;  MAKE_LOWER_BOUND . relation   (rule 107)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 96
-    reachable_of	go to state 53
+   14 inputItem: TCODEGEN . effort statementInfoResult context ';'
 
+    INT  shift, and go to state 91
+    '-'  shift, and go to state 92
 
+    $default  reduce using rule 23 (effort)
 
-state 39
+    effort  go to state 96
 
-    relation  -&gt;  SUPERSETOF . relation   (rule 104)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 97
-    reachable_of	go to state 53
 
+state 39
 
+  106 relation: MAKE_UPPER_BOUND . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 97
+    reachable_of  go to state 55
 
-state 40
 
-    relation  -&gt;  SUBSETOF . relation   (rule 105)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 98
-    reachable_of	go to state 53
+state 40
 
+  107 relation: MAKE_LOWER_BOUND . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 98
+    reachable_of  go to state 55
 
 
 state 41
 
-    relation  -&gt;  SAMPLE . relation   (rule 108)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 99
-    reachable_of	go to state 53
-
+  104 relation: SUPERSETOF . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 99
+    reachable_of  go to state 55
 
 
 state 42
 
-    relation  -&gt;  SYM_SAMPLE . relation   (rule 109)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 100
-    reachable_of	go to state 53
-
+  105 relation: SUBSETOF . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 100
+    reachable_of  go to state 55
 
 
 state 43
 
-    relation  -&gt;  PROJECT_AWAY_SYMBOLS . relation   (rule 72)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 101
-    reachable_of	go to state 53
-
+  108 relation: SAMPLE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 101
+    reachable_of  go to state 55
 
 
 state 44
 
-    relation  -&gt;  PROJECT_ON_SYMBOLS . relation   (rule 73)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 102
-    reachable_of	go to state 53
-
+  109 relation: SYM_SAMPLE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 102
+    reachable_of  go to state 55
 
 
 state 45
 
-    reachable  -&gt;  REACHABLE_FROM . nodeNameList nodeSpecificationList   (rule 170)
-
-    '(' 	shift, and go to state 103
-
-    nodeNameList	go to state 104
-
+   72 relation: PROJECT_AWAY_SYMBOLS . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 103
+    reachable_of  go to state 55
 
 
 state 46
 
-    reachable_of  -&gt;  REACHABLE_OF . VAR IN nodeNameList nodeSpecificationList   (rule 171)
-
-    VAR 	shift, and go to state 105
-
+   73 relation: PROJECT_ON_SYMBOLS . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 104
+    reachable_of  go to state 55
 
 
 state 47
 
-    relation  -&gt;  ASSERT_UNSAT . relation   (rule 111)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 106
-    reachable_of	go to state 53
+  170 reachable: REACHABLE_FROM . nodeNameList nodeSpecificationList
+
+    '('  shift, and go to state 105
 
+    nodeNameList  go to state 106
 
 
 state 48
 
-    relation  -&gt;  '(' . relation ')'   (rule 59)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 107
-    reachable_of	go to state 53
+  171 reachable_of: REACHABLE_OF . VAR IN nodeNameList nodeSpecificationList
 
+    VAR  shift, and go to state 107
 
 
 state 49
 
-    start  -&gt;  @1 inputSequence .   (rule 2)
-    inputSequence  -&gt;  inputSequence . @2 inputItem   (rule 5)
-
-    $   	reduce using rule 2 (start)
-    $default	reduce using rule 4 (@2)
-
-    @2  	go to state 108
-
+  111 relation: ASSERT_UNSAT . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 108
+    reachable_of  go to state 55
 
 
 state 50
 
-    inputSequence  -&gt;  inputItem .   (rule 3)
-
-    $default	reduce using rule 3 (inputSequence)
-
+   59 relation: '(' . relation ')'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 109
+    reachable_of  go to state 55
 
 
 state 51
 
-    inputItem  -&gt;  relation . ';'   (rule 9)
-    inputItem  -&gt;  relation . SUBSET relation ';'   (rule 12)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    SUBSET	shift, and go to state 114
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ';' 	shift, and go to state 122
+    2 start: @1 inputSequence .
+    5 inputSequence: inputSequence . @2 inputItem
 
+    $end      reduce using rule 2 (start)
+    $default  reduce using rule 4 (@2)
 
+    @2  go to state 110
 
-state 52
 
-    inputItem  -&gt;  reachable . ';'   (rule 16)
+state 52
 
-    ';' 	shift, and go to state 123
+    3 inputSequence: inputItem .
 
+    $default  reduce using rule 3 (inputSequence)
 
 
 state 53
 
-    relation  -&gt;  reachable_of .   (rule 110)
-
-    $default	reduce using rule 110 (relation)
-
+    9 inputItem: relation . ';'
+   12          | relation . SUBSET relation ';'
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    SUBSET           shift, and go to state 116
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ';'              shift, and go to state 124
 
 
 state 54
 
-    inputItem  -&gt;  error ';' .   (rule 6)
-
-    $default	reduce using rule 6 (inputItem)
+   16 inputItem: reachable . ';'
 
+    ';'  shift, and go to state 125
 
 
 state 55
 
-    inputItem  -&gt;  VAR IS_ASSIGNED . relation ';'   (rule 8)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 124
-    reachable_of	go to state 53
+  110 relation: reachable_of .
 
+    $default  reduce using rule 110 (relation)
 
 
 state 56
 
-    relation  -&gt;  OPEN_BRACE @3 . builtRelation CLOSE_BRACE   (rule 57)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
-
-    $default	reduce using rule 122 (@6)
-
-    builtRelation	go to state 132
-    tupleDeclaration	go to state 133
-    @6  	go to state 134
-    formula	go to state 135
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+    6 inputItem: error ';' .
 
+    $default  reduce using rule 6 (inputItem)
 
 
 state 57
 
-    globVar  -&gt;  VAR . '(' INT ')'   (rule 54)
-    globVar  -&gt;  VAR .   (rule 55)
-
-    '(' 	shift, and go to state 142
-
-    $default	reduce using rule 55 (globVar)
-
+    8 inputItem: VAR IS_ASSIGNED . relation ';'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 126
+    reachable_of  go to state 55
 
 
 state 58
 
-    inputItem  -&gt;  SYMBOLIC globVarList . ';'   (rule 7)
-    globVarList  -&gt;  globVarList . ',' globVar   (rule 52)
+   57 relation: OPEN_BRACE @3 . builtRelation CLOSE_BRACE
+
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
-    ';' 	shift, and go to state 143
-    ',' 	shift, and go to state 144
+    $default  reduce using rule 122 (@6)
 
+    builtRelation     go to state 134
+    tupleDeclaration  go to state 135
+    @6                go to state 136
+    formula           go to state 137
+    start_exists      go to state 138
+    start_forall      go to state 139
+    expList           go to state 140
+    constraintChain   go to state 141
+    simpleExp         go to state 142
+    exp               go to state 143
 
 
 state 59
 
-    globVarList  -&gt;  globVar .   (rule 53)
+   54 globVar: VAR . '(' INT ')'
+   55        | VAR .
 
-    $default	reduce using rule 53 (globVarList)
+    '('  shift, and go to state 144
 
+    $default  reduce using rule 55 (globVar)
 
 
 state 60
 
-    relation  -&gt;  VAR .   (rule 58)
-
-    $default	reduce using rule 58 (relation)
+    7 inputItem: SYMBOLIC globVarList . ';'
+   52 globVarList: globVarList . ',' globVar
 
+    ';'  shift, and go to state 145
+    ','  shift, and go to state 146
 
 
 state 61
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  APPROX relation .   (rule 89)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 89 (relation)
+   53 globVarList: globVar .
 
+    $default  reduce using rule 53 (globVarList)
 
 
 state 62
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  DOMAIN relation .   (rule 76)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 76 (relation)
+   58 relation: VAR .
 
+    $default  reduce using rule 58 (relation)
 
 
 state 63
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  RANGE relation .   (rule 90)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   89         | APPROX relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 90 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 89 (relation)
 
 
 state 64
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  DIFFERENCE relation .   (rule 74)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   76         | DOMAIN relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 74 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 76 (relation)
 
 
 state 65
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  DIFFERENCE_TO_RELATION relation .   (rule 75)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   90         | RANGE relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 75 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 90 (relation)
 
 
 state 66
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  GIST relation . GIVEN relation   (rule 93)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    GIVEN	shift, and go to state 145
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   74         | DIFFERENCE relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 74 (relation)
 
-state 67
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  HULL relation .   (rule 87)
-    relation  -&gt;  HULL relation . GIVEN relation   (rule 88)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+state 67
 
-    GIVEN	shift, and go to state 146
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   75         | DIFFERENCE_TO_RELATION relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 87 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 75 (relation)
 
 
 state 68
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  MAXIMIZE relation .   (rule 67)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 67 (relation)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   93         | GIST relation . GIVEN relation
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    GIVEN            shift, and go to state 147
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
 
 
 state 69
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  MINIMIZE relation .   (rule 68)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 68 (relation)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   87         | HULL relation .
+   88         | HULL relation . GIVEN relation
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    GIVEN  shift, and go to state 148
+    '('    shift, and go to state 123
+
+    $default  reduce using rule 87 (relation)
 
 
 state 70
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  AFFINE_HULL relation .   (rule 84)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   67         | MAXIMIZE relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 84 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 67 (relation)
 
 
 state 71
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  VENN relation .   (rule 77)
-    relation  -&gt;  VENN relation . GIVEN relation   (rule 78)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    GIVEN	shift, and go to state 147
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   68         | MINIMIZE relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 77 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 68 (relation)
 
 
 state 72
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  CONVEX_COMBINATION relation .   (rule 81)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   84         | AFFINE_HULL relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 81 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 84 (relation)
 
 
 state 73
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  POSITIVE_COMBINATION relation .   (rule 80)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 80 (relation)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   77         | VENN relation .
+   78         | VENN relation . GIVEN relation
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    GIVEN  shift, and go to state 149
+    '('    shift, and go to state 123
+
+    $default  reduce using rule 77 (relation)
 
 
 state 74
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  CONVEX_HULL relation .   (rule 79)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   81         | CONVEX_COMBINATION relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 79 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 81 (relation)
 
 
 state 75
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  CONIC_HULL relation .   (rule 85)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   80         | POSITIVE_COMBINATION relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 85 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 80 (relation)
 
 
 state 76
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  LINEAR_HULL relation .   (rule 86)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   79         | CONVEX_HULL relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 86 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 79 (relation)
 
 
 state 77
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  PAIRWISE_CHECK relation .   (rule 82)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   85         | CONIC_HULL relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 82 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 85 (relation)
 
 
 state 78
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  CONVEX_CHECK relation .   (rule 83)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   86         | LINEAR_HULL relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 83 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 86 (relation)
 
 
 state 79
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  MAXIMIZE_RANGE relation .   (rule 64)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   82         | PAIRWISE_CHECK relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 64 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 82 (relation)
 
 
 state 80
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  MINIMIZE_RANGE relation .   (rule 63)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   83         | CONVEX_CHECK relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 63 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 83 (relation)
 
 
 state 81
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  MAXIMIZE_DOMAIN relation .   (rule 66)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   64         | MAXIMIZE_RANGE relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 66 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 64 (relation)
 
 
 state 82
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  MINIMIZE_DOMAIN relation .   (rule 65)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   63         | MINIMIZE_RANGE relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 65 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 63 (relation)
 
 
 state 83
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  INVERSE relation .   (rule 91)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   66         | MAXIMIZE_DOMAIN relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 91 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 66 (relation)
 
 
 state 84
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  COMPLEMENT relation .   (rule 92)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   65         | MINIMIZE_DOMAIN relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 92 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 65 (relation)
 
 
 state 85
 
-    inputItem  -&gt;  TIME relation . ';'   (rule 10)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ';' 	shift, and go to state 148
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   91         | INVERSE relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 91 (relation)
 
-state 86
 
-    inputItem  -&gt;  TIMECLOSURE relation . ';'   (rule 11)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ';' 	shift, and go to state 149
+state 86
 
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   92         | COMPLEMENT relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
+    '('  shift, and go to state 123
 
-state 87
+    $default  reduce using rule 92 (relation)
 
-    blockAndProcsAndEffort  -&gt;  INT .   (rule 20)
-    blockAndProcsAndEffort  -&gt;  INT . INT   (rule 21)
-    blockAndProcsAndEffort  -&gt;  INT . INT INT   (rule 22)
 
-    INT 	shift, and go to state 150
-
-    $default	reduce using rule 20 (blockAndProcsAndEffort)
+state 87
 
+   10 inputItem: TIME relation . ';'
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ';'              shift, and go to state 150
 
 
 state 88
 
-    inputItem  -&gt;  SPMD blockAndProcsAndEffort . relTripList ';'   (rule 15)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relTripList	go to state 151
-    relation	go to state 152
-    reachable_of	go to state 53
-
+   11 inputItem: TIMECLOSURE relation . ';'
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ';'              shift, and go to state 151
 
 
 state 89
 
-    effort  -&gt;  INT .   (rule 24)
+   20 blockAndProcsAndEffort: INT .
+   21                       | INT . INT
+   22                       | INT . INT INT
 
-    $default	reduce using rule 24 (effort)
+    INT  shift, and go to state 152
 
+    $default  reduce using rule 20 (blockAndProcsAndEffort)
 
 
 state 90
 
-    effort  -&gt;  '-' . INT   (rule 25)
-
-    INT 	shift, and go to state 153
-
+   15 inputItem: SPMD blockAndProcsAndEffort . relTripList ';'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relTripList   go to state 153
+    relation      go to state 154
+    reachable_of  go to state 55
 
 
 state 91
 
-    inputItem  -&gt;  CODEGEN effort . relPairList context ';'   (rule 13)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relPairList	go to state 154
-    relation	go to state 155
-    reachable_of	go to state 53
+   24 effort: INT .
 
+    $default  reduce using rule 24 (effort)
 
 
 state 92
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  DECOUPLED_FARKAS relation .   (rule 70)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 70 (relation)
+   25 effort: '-' . INT
 
+    INT  shift, and go to state 155
 
 
 state 93
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  FARKAS relation .   (rule 69)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 69 (relation)
-
+   13 inputItem: CODEGEN effort . relPairList context ';'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relPairList   go to state 156
+    relation      go to state 157
+    reachable_of  go to state 55
 
 
 state 94
 
-    inputItem  -&gt;  TCODEGEN effort . statementInfoResult context ';'   (rule 14)
-
-    TRANS_IS	shift, and go to state 156
-    SET_MMAP	shift, and go to state 157
-    UNROLL_IS	shift, and go to state 158
-    PEEL_IS	shift, and go to state 159
-    '[' 	shift, and go to state 160
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   70         | DECOUPLED_FARKAS relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    statementInfoResult	go to state 161
-    statementInfoList	go to state 162
-    statementInfo	go to state 163
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 70 (relation)
 
 
 state 95
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  MAKE_UPPER_BOUND relation .   (rule 106)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   69         | FARKAS relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 106 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 69 (relation)
 
 
 state 96
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  MAKE_LOWER_BOUND relation .   (rule 107)
-
-    '(' 	shift, and go to state 121
+   14 inputItem: TCODEGEN effort . statementInfoResult context ';'
 
-    $default	reduce using rule 107 (relation)
+    TRANS_IS   shift, and go to state 158
+    SET_MMAP   shift, and go to state 159
+    UNROLL_IS  shift, and go to state 160
+    PEEL_IS    shift, and go to state 161
+    '['        shift, and go to state 162
 
+    statementInfoResult  go to state 163
+    statementInfoList    go to state 164
+    statementInfo        go to state 165
 
 
 state 97
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  SUPERSETOF relation .   (rule 104)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 104 (relation)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  106         | MAKE_UPPER_BOUND relation .
 
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 106 (relation)
 
-state 98
-
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  SUBSETOF relation .   (rule 105)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 105 (relation)
 
+state 98
 
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  107         | MAKE_LOWER_BOUND relation .
 
-state 99
+    '('  shift, and go to state 123
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  SAMPLE relation .   (rule 108)
+    $default  reduce using rule 107 (relation)
 
-    '(' 	shift, and go to state 121
 
-    $default	reduce using rule 108 (relation)
+state 99
 
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  104         | SUPERSETOF relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 104 (relation)
 
 
 state 100
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  SYM_SAMPLE relation .   (rule 109)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 109 (relation)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  105         | SUBSETOF relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 105 (relation)
 
 
 state 101
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  PROJECT_AWAY_SYMBOLS relation .   (rule 72)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  108         | SAMPLE relation .
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 72 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 108 (relation)
 
 
 state 102
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  PROJECT_ON_SYMBOLS relation .   (rule 73)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  109         | SYM_SAMPLE relation .
 
-    $default	reduce using rule 73 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 109 (relation)
 
 
 state 103
 
-    nodeNameList  -&gt;  '(' . realNodeNameList ')'   (rule 172)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   72         | PROJECT_AWAY_SYMBOLS relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    VAR 	shift, and go to state 164
-
-    realNodeNameList	go to state 165
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 72 (relation)
 
 
 state 104
 
-    reachable  -&gt;  REACHABLE_FROM nodeNameList . nodeSpecificationList   (rule 170)
-
-    OPEN_BRACE	shift, and go to state 166
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   73         | PROJECT_ON_SYMBOLS relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    nodeSpecificationList	go to state 167
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 73 (relation)
 
 
 state 105
 
-    reachable_of  -&gt;  REACHABLE_OF VAR . IN nodeNameList nodeSpecificationList   (rule 171)
+  172 nodeNameList: '(' . realNodeNameList ')'
 
-    IN  	shift, and go to state 168
+    VAR  shift, and go to state 166
 
+    realNodeNameList  go to state 167
 
 
 state 106
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  ASSERT_UNSAT relation .   (rule 111)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 111 (relation)
+  170 reachable: REACHABLE_FROM nodeNameList . nodeSpecificationList
 
+    OPEN_BRACE  shift, and go to state 168
+
+    nodeSpecificationList  go to state 169
 
 
 state 107
 
-    relation  -&gt;  '(' relation . ')'   (rule 59)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ')' 	shift, and go to state 169
+  171 reachable_of: REACHABLE_OF VAR . IN nodeNameList nodeSpecificationList
 
+    IN  shift, and go to state 170
 
 
 state 108
 
-    inputSequence  -&gt;  inputSequence @2 . inputItem   (rule 5)
-
-    error	shift, and go to state 2
-    VAR 	shift, and go to state 3
-    OPEN_BRACE	shift, and go to state 4
-    SYMBOLIC	shift, and go to state 5
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    TIME	shift, and go to state 30
-    TIMECLOSURE	shift, and go to state 31
-    SPMD	shift, and go to state 32
-    CODEGEN	shift, and go to state 33
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    TCODEGEN	shift, and go to state 36
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_FROM	shift, and go to state 45
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    inputItem	go to state 170
-    relation	go to state 51
-    reachable	go to state 52
-    reachable_of	go to state 53
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  111         | ASSERT_UNSAT relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 111 (relation)
 
 
 state 109
 
-    relation  -&gt;  relation COMPOSE . relation   (rule 95)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 171
-    reachable_of	go to state 53
-
+   59 relation: '(' relation . ')'
+   60         | relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ')'              shift, and go to state 171
 
 
 state 110
 
-    relation  -&gt;  relation JOIN . relation   (rule 97)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 172
-    reachable_of	go to state 53
-
+    5 inputSequence: inputSequence @2 . inputItem
+
+    error                   shift, and go to state 4
+    VAR                     shift, and go to state 5
+    OPEN_BRACE              shift, and go to state 6
+    SYMBOLIC                shift, and go to state 7
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    TIME                    shift, and go to state 32
+    TIMECLOSURE             shift, and go to state 33
+    SPMD                    shift, and go to state 34
+    CODEGEN                 shift, and go to state 35
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    TCODEGEN                shift, and go to state 38
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_FROM          shift, and go to state 47
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    inputItem     go to state 172
+    relation      go to state 53
+    reachable     go to state 54
+    reachable_of  go to state 55
 
 
 state 111
 
-    relation  -&gt;  relation CARRIED_BY . INT   (rule 96)
-
-    INT 	shift, and go to state 173
-
+   95 relation: relation COMPOSE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 173
+    reachable_of  go to state 55
 
 
 state 112
 
-    relation  -&gt;  relation UNION . relation   (rule 102)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 174
-    reachable_of	go to state 53
-
+   97 relation: relation JOIN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 174
+    reachable_of  go to state 55
 
 
 state 113
 
-    relation  -&gt;  relation INTERSECTION . relation   (rule 100)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 175
-    reachable_of	go to state 53
+   96 relation: relation CARRIED_BY . INT
 
+    INT  shift, and go to state 175
 
 
 state 114
 
-    inputItem  -&gt;  relation SUBSET . relation ';'   (rule 12)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 176
-    reachable_of	go to state 53
-
+  102 relation: relation UNION . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 176
+    reachable_of  go to state 55
 
 
 state 115
 
-    relation  -&gt;  relation RESTRICT_DOMAIN . relation   (rule 99)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 177
-    reachable_of	go to state 53
-
+  100 relation: relation INTERSECTION . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 177
+    reachable_of  go to state 55
 
 
 state 116
 
-    relation  -&gt;  relation RESTRICT_RANGE . relation   (rule 98)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 178
-    reachable_of	go to state 53
-
+   12 inputItem: relation SUBSET . relation ';'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 178
+    reachable_of  go to state 55
 
 
 state 117
 
-    relation  -&gt;  relation '+' .   (rule 60)
-    relation  -&gt;  relation '+' . WITHIN relation   (rule 62)
-
-    WITHIN	shift, and go to state 179
-
-    $default	reduce using rule 60 (relation)
-
+   99 relation: relation RESTRICT_DOMAIN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 179
+    reachable_of  go to state 55
 
 
 state 118
 
-    relation  -&gt;  relation '-' . relation   (rule 101)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 180
-    reachable_of	go to state 53
-
+   98 relation: relation RESTRICT_RANGE . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 180
+    reachable_of  go to state 55
 
 
 state 119
 
-    relation  -&gt;  relation '*' .   (rule 61)
-    relation  -&gt;  relation '*' . relation   (rule 103)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    $default	reduce using rule 61 (relation)
-
-    relation	go to state 181
-    reachable_of	go to state 53
+   60 relation: relation '+' .
+   62         | relation '+' . WITHIN relation
 
+    WITHIN  shift, and go to state 181
 
+    $default  reduce using rule 60 (relation)
 
-state 120
-
-    relation  -&gt;  relation '@' .   (rule 71)
 
-    $default	reduce using rule 71 (relation)
+state 120
 
+  101 relation: relation '-' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 182
+    reachable_of  go to state 55
 
 
 state 121
 
-    relation  -&gt;  relation '(' . relation ')'   (rule 94)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 182
-    reachable_of	go to state 53
-
+   61 relation: relation '*' .
+  103         | relation '*' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    $default  reduce using rule 61 (relation)
+
+    relation      go to state 183
+    reachable_of  go to state 55
 
 
 state 122
 
-    inputItem  -&gt;  relation ';' .   (rule 9)
-
-    $default	reduce using rule 9 (inputItem)
+   71 relation: relation '@' .
 
+    $default  reduce using rule 71 (relation)
 
 
 state 123
 
-    inputItem  -&gt;  reachable ';' .   (rule 16)
-
-    $default	reduce using rule 16 (inputItem)
-
+   94 relation: relation '(' . relation ')'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 184
+    reachable_of  go to state 55
 
 
 state 124
 
-    inputItem  -&gt;  VAR IS_ASSIGNED relation . ';'   (rule 8)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ';' 	shift, and go to state 183
+    9 inputItem: relation ';' .
 
+    $default  reduce using rule 9 (inputItem)
 
 
 state 125
 
-    simpleExp  -&gt;  VAR .   (rule 157)
-    simpleExp  -&gt;  VAR . '(' @7 argumentList ')'   (rule 159)
-
-    '(' 	shift, and go to state 184
-
-    $default	reduce using rule 157 (simpleExp)
+   16 inputItem: reachable ';' .
 
+    $default  reduce using rule 16 (inputItem)
 
 
 state 126
 
-    exp  -&gt;  INT .   (rule 163)
-    exp  -&gt;  INT . simpleExp   (rule 164)
-
-    VAR 	shift, and go to state 125
-    '(' 	shift, and go to state 185
-
-    $default	reduce using rule 163 (exp)
-
-    simpleExp	go to state 186
-
+    8 inputItem: VAR IS_ASSIGNED relation . ';'
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ';'              shift, and go to state 185
 
 
 state 127
 
-    formula  -&gt;  NOT . formula   (rule 141)
+  157 simpleExp: VAR .
+  159          | VAR . '(' @7 argumentList ')'
 
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
-
-    formula	go to state 187
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+    '('  shift, and go to state 186
 
+    $default  reduce using rule 157 (simpleExp)
 
 
 state 128
 
-    start_forall  -&gt;  FORALL . '('   (rule 150)
+  163 exp: INT .
+  164    | INT . simpleExp
+
+    VAR  shift, and go to state 127
+    '('  shift, and go to state 187
 
-    '(' 	shift, and go to state 188
+    $default  reduce using rule 163 (exp)
 
+    simpleExp  go to state 188
 
 
 state 129
 
-    start_exists  -&gt;  EXISTS . '('   (rule 145)
+  141 formula: NOT . formula
 
-    '(' 	shift, and go to state 189
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 189
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 130
 
-    exp  -&gt;  '-' . exp   (rule 166)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
-
-    simpleExp	go to state 140
-    exp 	go to state 190
+  150 start_forall: FORALL . '('
 
+    '('  shift, and go to state 190
 
 
 state 131
 
-    formula  -&gt;  '(' . formula ')'   (rule 140)
-    start_exists  -&gt;  '(' . EXISTS   (rule 144)
-    start_forall  -&gt;  '(' . FORALL   (rule 149)
-    simpleExp  -&gt;  '(' . exp ')'   (rule 160)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 191
-    EXISTS	shift, and go to state 192
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
-
-    formula	go to state 193
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 194
+  145 start_exists: EXISTS . '('
 
+    '('  shift, and go to state 191
 
 
 state 132
 
-    relation  -&gt;  OPEN_BRACE @3 builtRelation . CLOSE_BRACE   (rule 57)
+  166 exp: '-' . exp
 
-    CLOSE_BRACE	shift, and go to state 195
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    simpleExp  go to state 142
+    exp        go to state 192
 
 
 state 133
 
-    builtRelation  -&gt;  tupleDeclaration . GOES_TO @4 tupleDeclaration @5 optionalFormula   (rule 114)
-    builtRelation  -&gt;  tupleDeclaration . optionalFormula   (rule 115)
-
-    GOES_TO	shift, and go to state 196
-    VERTICAL_BAR	shift, and go to state 197
-    SUCH_THAT	shift, and go to state 198
-    ':' 	shift, and go to state 199
+  140 formula: '(' . formula ')'
+  144 start_exists: '(' . EXISTS
+  149 start_forall: '(' . FORALL
+  160 simpleExp: '(' . exp ')'
 
-    $default	reduce using rule 118 (optionalFormula)
-
-    optionalFormula	go to state 200
-    formula_sep	go to state 201
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 193
+    EXISTS  shift, and go to state 194
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 195
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 196
 
 
 state 134
 
-    tupleDeclaration  -&gt;  @6 . '[' optionalTupleVarList ']'   (rule 123)
-
-    '[' 	shift, and go to state 202
+   57 relation: OPEN_BRACE @3 builtRelation . CLOSE_BRACE
 
+    CLOSE_BRACE  shift, and go to state 197
 
 
 state 135
 
-    builtRelation  -&gt;  formula .   (rule 116)
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
+  114 builtRelation: tupleDeclaration . GOES_TO @4 tupleDeclaration @5 optionalFormula
+  115              | tupleDeclaration . optionalFormula
 
-    OR  	shift, and go to state 203
-    AND 	shift, and go to state 204
+    GOES_TO       shift, and go to state 198
+    VERTICAL_BAR  shift, and go to state 199
+    SUCH_THAT     shift, and go to state 200
+    ':'           shift, and go to state 201
 
-    $default	reduce using rule 116 (builtRelation)
+    $default  reduce using rule 118 (optionalFormula)
 
+    optionalFormula  go to state 202
+    formula_sep      go to state 203
 
 
 state 136
 
-    formula  -&gt;  start_exists . varDeclOptBrackets exists_sep formula end_quant   (rule 142)
-
-    VAR 	shift, and go to state 205
-    '[' 	shift, and go to state 206
-
-    varList	go to state 207
-    varDecl	go to state 208
-    varDeclOptBrackets	go to state 209
+  123 tupleDeclaration: @6 . '[' optionalTupleVarList ']'
 
+    '['  shift, and go to state 204
 
 
 state 137
 
-    formula  -&gt;  start_forall . varDeclOptBrackets forall_sep formula end_quant   (rule 143)
-
-    VAR 	shift, and go to state 205
-    '[' 	shift, and go to state 206
+  116 builtRelation: formula .
+  137 formula: formula . AND formula
+  138        | formula . OR formula
 
-    varList	go to state 207
-    varDecl	go to state 208
-    varDeclOptBrackets	go to state 210
+    OR   shift, and go to state 205
+    AND  shift, and go to state 206
 
+    $default  reduce using rule 116 (builtRelation)
 
 
 state 138
 
-    constraintChain  -&gt;  expList . REL_OP expList   (rule 155)
-    constraintChain  -&gt;  expList . REL_OP constraintChain   (rule 156)
+  142 formula: start_exists . varDeclOptBrackets exists_sep formula end_quant
 
-    REL_OP	shift, and go to state 211
+    VAR  shift, and go to state 207
+    '['  shift, and go to state 208
 
+    varList             go to state 209
+    varDecl             go to state 210
+    varDeclOptBrackets  go to state 211
 
 
 state 139
 
-    formula  -&gt;  constraintChain .   (rule 139)
+  143 formula: start_forall . varDeclOptBrackets forall_sep formula end_quant
 
-    $default	reduce using rule 139 (formula)
+    VAR  shift, and go to state 207
+    '['  shift, and go to state 208
 
+    varList             go to state 209
+    varDecl             go to state 210
+    varDeclOptBrackets  go to state 212
 
 
 state 140
 
-    exp  -&gt;  simpleExp .   (rule 165)
-
-    $default	reduce using rule 165 (exp)
+  155 constraintChain: expList . REL_OP expList
+  156                | expList . REL_OP constraintChain
 
+    REL_OP  shift, and go to state 213
 
 
 state 141
 
-    expList  -&gt;  exp . ',' expList   (rule 153)
-    expList  -&gt;  exp .   (rule 154)
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-
-    '+' 	shift, and go to state 212
-    '-' 	shift, and go to state 213
-    '*' 	shift, and go to state 214
-    ',' 	shift, and go to state 215
-
-    $default	reduce using rule 154 (expList)
+  139 formula: constraintChain .
 
+    $default  reduce using rule 139 (formula)
 
 
 state 142
 
-    globVar  -&gt;  VAR '(' . INT ')'   (rule 54)
-
-    INT 	shift, and go to state 216
+  165 exp: simpleExp .
 
+    $default  reduce using rule 165 (exp)
 
 
 state 143
 
-    inputItem  -&gt;  SYMBOLIC globVarList ';' .   (rule 7)
+  153 expList: exp . ',' expList
+  154        | exp .
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
-    $default	reduce using rule 7 (inputItem)
+    '+'  shift, and go to state 214
+    '-'  shift, and go to state 215
+    '*'  shift, and go to state 216
+    ','  shift, and go to state 217
 
+    $default  reduce using rule 154 (expList)
 
 
 state 144
 
-    globVarList  -&gt;  globVarList ',' . globVar   (rule 52)
-
-    VAR 	shift, and go to state 57
-
-    globVar	go to state 217
+   54 globVar: VAR '(' . INT ')'
 
+    INT  shift, and go to state 218
 
 
 state 145
 
-    relation  -&gt;  GIST relation GIVEN . relation   (rule 93)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 218
-    reachable_of	go to state 53
+    7 inputItem: SYMBOLIC globVarList ';' .
 
+    $default  reduce using rule 7 (inputItem)
 
 
 state 146
 
-    relation  -&gt;  HULL relation GIVEN . relation   (rule 88)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 219
-    reachable_of	go to state 53
+   52 globVarList: globVarList ',' . globVar
 
+    VAR  shift, and go to state 59
 
+    globVar  go to state 219
 
-state 147
 
-    relation  -&gt;  VENN relation GIVEN . relation   (rule 78)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 220
-    reachable_of	go to state 53
+state 147
 
+   93 relation: GIST relation GIVEN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 220
+    reachable_of  go to state 55
 
 
 state 148
 
-    inputItem  -&gt;  TIME relation ';' .   (rule 10)
-
-    $default	reduce using rule 10 (inputItem)
-
+   88 relation: HULL relation GIVEN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 221
+    reachable_of  go to state 55
 
 
 state 149
 
-    inputItem  -&gt;  TIMECLOSURE relation ';' .   (rule 11)
-
-    $default	reduce using rule 11 (inputItem)
-
+   78 relation: VENN relation GIVEN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 222
+    reachable_of  go to state 55
 
 
 state 150
 
-    blockAndProcsAndEffort  -&gt;  INT INT .   (rule 21)
-    blockAndProcsAndEffort  -&gt;  INT INT . INT   (rule 22)
-
-    INT 	shift, and go to state 221
-
-    $default	reduce using rule 21 (blockAndProcsAndEffort)
+   10 inputItem: TIME relation ';' .
 
+    $default  reduce using rule 10 (inputItem)
 
 
 state 151
 
-    inputItem  -&gt;  SPMD blockAndProcsAndEffort relTripList . ';'   (rule 15)
-    relTripList  -&gt;  relTripList . ',' relation ':' relation ':' relation   (rule 17)
-
-    ';' 	shift, and go to state 222
-    ',' 	shift, and go to state 223
+   11 inputItem: TIMECLOSURE relation ';' .
 
+    $default  reduce using rule 11 (inputItem)
 
 
 state 152
 
-    relTripList  -&gt;  relation . ':' relation ':' relation   (rule 18)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ':' 	shift, and go to state 224
+   21 blockAndProcsAndEffort: INT INT .
+   22                       | INT INT . INT
 
+    INT  shift, and go to state 223
 
+    $default  reduce using rule 21 (blockAndProcsAndEffort)
 
-state 153
 
-    effort  -&gt;  '-' INT .   (rule 25)
+state 153
 
-    $default	reduce using rule 25 (effort)
+   15 inputItem: SPMD blockAndProcsAndEffort relTripList . ';'
+   17 relTripList: relTripList . ',' relation ':' relation ':' relation
 
+    ';'  shift, and go to state 224
+    ','  shift, and go to state 225
 
 
 state 154
 
-    inputItem  -&gt;  CODEGEN effort relPairList . context ';'   (rule 13)
-    relPairList  -&gt;  relPairList . ',' relation ':' relation   (rule 28)
-    relPairList  -&gt;  relPairList . ',' relation   (rule 29)
-
-    GIVEN	shift, and go to state 225
-    ',' 	shift, and go to state 226
-
-    $default	reduce using rule 26 (context)
-
-    context	go to state 227
-
+   18 relTripList: relation . ':' relation ':' relation
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ':'              shift, and go to state 226
 
 
 state 155
 
-    relPairList  -&gt;  relation . ':' relation   (rule 30)
-    relPairList  -&gt;  relation .   (rule 31)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ':' 	shift, and go to state 228
-
-    $default	reduce using rule 31 (relPairList)
+   25 effort: '-' INT .
 
+    $default  reduce using rule 25 (effort)
 
 
 state 156
 
-    statementInfoResult  -&gt;  TRANS_IS . relation statementInfoResult   (rule 33)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 229
-    reachable_of	go to state 53
+   13 inputItem: CODEGEN effort relPairList . context ';'
+   28 relPairList: relPairList . ',' relation ':' relation
+   29            | relPairList . ',' relation
 
+    GIVEN  shift, and go to state 227
+    ','    shift, and go to state 228
 
+    $default  reduce using rule 26 (context)
 
-state 157
+    context  go to state 229
 
-    statementInfoResult  -&gt;  SET_MMAP . INT partialwrites statementInfoResult   (rule 34)
 
-    INT 	shift, and go to state 230
+state 157
 
+   30 relPairList: relation . ':' relation
+   31            | relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ':'              shift, and go to state 230
+
+    $default  reduce using rule 31 (relPairList)
 
 
 state 158
 
-    statementInfoResult  -&gt;  UNROLL_IS . INT INT INT statementInfoResult   (rule 35)
-
-    INT 	shift, and go to state 231
-
+   33 statementInfoResult: TRANS_IS . relation statementInfoResult
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 231
+    reachable_of  go to state 55
 
 
 state 159
 
-    statementInfoResult  -&gt;  PEEL_IS . INT INT relation statementInfoResult   (rule 36)
-    statementInfoResult  -&gt;  PEEL_IS . INT INT relation ',' relation statementInfoResult   (rule 37)
-
-    INT 	shift, and go to state 232
+   34 statementInfoResult: SET_MMAP . INT partialwrites statementInfoResult
 
+    INT  shift, and go to state 232
 
 
 state 160
 
-    statementInfo  -&gt;  '[' . STRING ',' relation ',' partialwrites ',' reads ']'   (rule 40)
-    statementInfo  -&gt;  '[' . STRING ',' relation ',' partialwrites ']'   (rule 41)
-
-    STRING	shift, and go to state 233
+   35 statementInfoResult: UNROLL_IS . INT INT INT statementInfoResult
 
+    INT  shift, and go to state 233
 
 
 state 161
 
-    inputItem  -&gt;  TCODEGEN effort statementInfoResult . context ';'   (rule 14)
-
-    GIVEN	shift, and go to state 225
-
-    $default	reduce using rule 26 (context)
-
-    context	go to state 234
+   36 statementInfoResult: PEEL_IS . INT INT relation statementInfoResult
+   37                    | PEEL_IS . INT INT relation ',' relation statementInfoResult
 
+    INT  shift, and go to state 234
 
 
 state 162
 
-    statementInfoResult  -&gt;  statementInfoList .   (rule 32)
-    statementInfoList  -&gt;  statementInfoList . ',' statementInfo   (rule 39)
-
-    ',' 	shift, and go to state 235
-
-    $default	reduce using rule 32 (statementInfoResult)
+   40 statementInfo: '[' . STRING ',' relation ',' partialwrites ',' reads ']'
+   41              | '[' . STRING ',' relation ',' partialwrites ']'
 
+    STRING  shift, and go to state 235
 
 
 state 163
 
-    statementInfoList  -&gt;  statementInfo .   (rule 38)
+   14 inputItem: TCODEGEN effort statementInfoResult . context ';'
 
-    $default	reduce using rule 38 (statementInfoList)
+    GIVEN  shift, and go to state 227
 
+    $default  reduce using rule 26 (context)
+
+    context  go to state 236
 
 
 state 164
 
-    realNodeNameList  -&gt;  VAR .   (rule 174)
+   32 statementInfoResult: statementInfoList .
+   39 statementInfoList: statementInfoList . ',' statementInfo
 
-    $default	reduce using rule 174 (realNodeNameList)
+    ','  shift, and go to state 237
 
+    $default  reduce using rule 32 (statementInfoResult)
 
 
 state 165
 
-    nodeNameList  -&gt;  '(' realNodeNameList . ')'   (rule 172)
-    realNodeNameList  -&gt;  realNodeNameList . ',' VAR   (rule 173)
-
-    ',' 	shift, and go to state 236
-    ')' 	shift, and go to state 237
+   38 statementInfoList: statementInfo .
 
+    $default  reduce using rule 38 (statementInfoList)
 
 
 state 166
 
-    nodeSpecificationList  -&gt;  OPEN_BRACE . realNodeSpecificationList CLOSE_BRACE   (rule 175)
-
-    VAR 	shift, and go to state 238
-
-    realNodeSpecificationList	go to state 239
+  174 realNodeNameList: VAR .
 
+    $default  reduce using rule 174 (realNodeNameList)
 
 
 state 167
 
-    reachable  -&gt;  REACHABLE_FROM nodeNameList nodeSpecificationList .   (rule 170)
-
-    $default	reduce using rule 170 (reachable)
+  172 nodeNameList: '(' realNodeNameList . ')'
+  173 realNodeNameList: realNodeNameList . ',' VAR
 
+    ','  shift, and go to state 238
+    ')'  shift, and go to state 239
 
 
 state 168
 
-    reachable_of  -&gt;  REACHABLE_OF VAR IN . nodeNameList nodeSpecificationList   (rule 171)
+  175 nodeSpecificationList: OPEN_BRACE . realNodeSpecificationList CLOSE_BRACE
 
-    '(' 	shift, and go to state 103
-
-    nodeNameList	go to state 240
+    VAR  shift, and go to state 240
 
+    realNodeSpecificationList  go to state 241
 
 
 state 169
 
-    relation  -&gt;  '(' relation ')' .   (rule 59)
-
-    $default	reduce using rule 59 (relation)
+  170 reachable: REACHABLE_FROM nodeNameList nodeSpecificationList .
 
+    $default  reduce using rule 170 (reachable)
 
 
 state 170
 
-    inputSequence  -&gt;  inputSequence @2 inputItem .   (rule 5)
+  171 reachable_of: REACHABLE_OF VAR IN . nodeNameList nodeSpecificationList
 
-    $default	reduce using rule 5 (inputSequence)
+    '('  shift, and go to state 105
 
+    nodeNameList  go to state 242
 
 
 state 171
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation COMPOSE relation .   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 95 (relation)
+   59 relation: '(' relation ')' .
 
+    $default  reduce using rule 59 (relation)
 
 
 state 172
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation JOIN relation .   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 97 (relation)
+    5 inputSequence: inputSequence @2 inputItem .
 
+    $default  reduce using rule 5 (inputSequence)
 
 
 state 173
 
-    relation  -&gt;  relation CARRIED_BY INT .   (rule 96)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   95         | relation COMPOSE relation .
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 96 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 95 (relation)
 
 
 state 174
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation UNION relation .   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 102 (relation)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   97         | relation JOIN relation .
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 97 (relation)
 
-state 175
-
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation INTERSECTION relation .   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
 
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    '(' 	shift, and go to state 121
+state 175
 
-    $default	reduce using rule 100 (relation)
+   96 relation: relation CARRIED_BY INT .
 
+    $default  reduce using rule 96 (relation)
 
 
 state 176
 
-    inputItem  -&gt;  relation SUBSET relation . ';'   (rule 12)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ';' 	shift, and go to state 241
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  102         | relation UNION relation .
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 102 (relation)
 
 
 state 177
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation RESTRICT_DOMAIN relation .   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    INTERSECTION	shift, and go to state 113
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 99 (relation)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  100         | relation INTERSECTION relation .
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE     shift, and go to state 111
+    JOIN        shift, and go to state 112
+    CARRIED_BY  shift, and go to state 113
+    '('         shift, and go to state 123
+
+    $default  reduce using rule 100 (relation)
 
 
 state 178
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation RESTRICT_RANGE relation .   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    INTERSECTION	shift, and go to state 113
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 98 (relation)
-
+   12 inputItem: relation SUBSET relation . ';'
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ';'              shift, and go to state 243
 
 
 state 179
 
-    relation  -&gt;  relation '+' WITHIN . relation   (rule 62)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 242
-    reachable_of	go to state 53
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+   99         | relation RESTRICT_DOMAIN relation .
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE       shift, and go to state 111
+    JOIN          shift, and go to state 112
+    CARRIED_BY    shift, and go to state 113
+    INTERSECTION  shift, and go to state 115
+    '*'           shift, and go to state 121
+    '@'           shift, and go to state 122
+    '('           shift, and go to state 123
+
+    $default  reduce using rule 99 (relation)
 
 
 state 180
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation '-' relation .   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 101 (relation)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   98         | relation RESTRICT_RANGE relation .
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE       shift, and go to state 111
+    JOIN          shift, and go to state 112
+    CARRIED_BY    shift, and go to state 113
+    INTERSECTION  shift, and go to state 115
+    '*'           shift, and go to state 121
+    '@'           shift, and go to state 122
+    '('           shift, and go to state 123
+
+    $default  reduce using rule 98 (relation)
 
 
 state 181
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    relation  -&gt;  relation '*' relation .   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 103 (relation)
-
+   62 relation: relation '+' WITHIN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 244
+    reachable_of  go to state 55
 
 
 state 182
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation '(' relation . ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ')' 	shift, and go to state 243
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  101         | relation '-' relation .
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE     shift, and go to state 111
+    JOIN        shift, and go to state 112
+    CARRIED_BY  shift, and go to state 113
+    '('         shift, and go to state 123
+
+    $default  reduce using rule 101 (relation)
 
 
 state 183
 
-    inputItem  -&gt;  VAR IS_ASSIGNED relation ';' .   (rule 8)
-
-    $default	reduce using rule 8 (inputItem)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  103         | relation '*' relation .
+
+    COMPOSE     shift, and go to state 111
+    JOIN        shift, and go to state 112
+    CARRIED_BY  shift, and go to state 113
+    '('         shift, and go to state 123
+
+    $default  reduce using rule 103 (relation)
 
 
 state 184
 
-    simpleExp  -&gt;  VAR '(' . @7 argumentList ')'   (rule 159)
-
-    $default	reduce using rule 158 (@7)
-
-    @7  	go to state 244
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   94         | relation '(' relation . ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ')'              shift, and go to state 245
 
 
 state 185
 
-    simpleExp  -&gt;  '(' . exp ')'   (rule 160)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
-
-    simpleExp	go to state 140
-    exp 	go to state 245
+    8 inputItem: VAR IS_ASSIGNED relation ';' .
 
+    $default  reduce using rule 8 (inputItem)
 
 
 state 186
 
-    exp  -&gt;  INT simpleExp .   (rule 164)
+  159 simpleExp: VAR '(' . @7 argumentList ')'
 
-    $default	reduce using rule 164 (exp)
+    $default  reduce using rule 158 (@7)
 
+    @7  go to state 246
 
 
 state 187
 
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-    formula  -&gt;  NOT formula .   (rule 141)
+  160 simpleExp: '(' . exp ')'
 
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
-    $default	reduce using rule 141 (formula)
-
+    simpleExp  go to state 142
+    exp        go to state 247
 
 
 state 188
 
-    start_forall  -&gt;  FORALL '(' .   (rule 150)
-
-    $default	reduce using rule 150 (start_forall)
+  164 exp: INT simpleExp .
 
+    $default  reduce using rule 164 (exp)
 
 
 state 189
 
-    start_exists  -&gt;  EXISTS '(' .   (rule 145)
-
-    $default	reduce using rule 145 (start_exists)
+  137 formula: formula . AND formula
+  138        | formula . OR formula
+  141        | NOT formula .
 
+    $default  reduce using rule 141 (formula)
 
 
 state 190
 
-    exp  -&gt;  '-' exp .   (rule 166)
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-
-
-    $default	reduce using rule 166 (exp)
+  150 start_forall: FORALL '(' .
 
+    $default  reduce using rule 150 (start_forall)
 
 
 state 191
 
-    start_forall  -&gt;  '(' FORALL .   (rule 149)
-    start_forall  -&gt;  FORALL . '('   (rule 150)
-
-    '(' 	shift, and go to state 188
-
-    $default	reduce using rule 149 (start_forall)
+  145 start_exists: EXISTS '(' .
 
+    $default  reduce using rule 145 (start_exists)
 
 
 state 192
 
-    start_exists  -&gt;  '(' EXISTS .   (rule 144)
-    start_exists  -&gt;  EXISTS . '('   (rule 145)
-
-    '(' 	shift, and go to state 189
-
-    $default	reduce using rule 144 (start_exists)
+  166 exp: '-' exp .
+  167    | exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
+    $default  reduce using rule 166 (exp)
 
 
 state 193
 
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-    formula  -&gt;  '(' formula . ')'   (rule 140)
+  149 start_forall: '(' FORALL .
+  150             | FORALL . '('
 
-    OR  	shift, and go to state 203
-    AND 	shift, and go to state 204
-    ')' 	shift, and go to state 246
+    '('  shift, and go to state 190
 
+    $default  reduce using rule 149 (start_forall)
 
 
 state 194
 
-    expList  -&gt;  exp . ',' expList   (rule 153)
-    expList  -&gt;  exp .   (rule 154)
-    simpleExp  -&gt;  '(' exp . ')'   (rule 160)
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
+  144 start_exists: '(' EXISTS .
+  145             | EXISTS . '('
 
-    '+' 	shift, and go to state 212
-    '-' 	shift, and go to state 213
-    '*' 	shift, and go to state 214
-    ',' 	shift, and go to state 215
-    ')' 	shift, and go to state 247
-
-    $default	reduce using rule 154 (expList)
+    '('  shift, and go to state 191
 
+    $default  reduce using rule 144 (start_exists)
 
 
 state 195
 
-    relation  -&gt;  OPEN_BRACE @3 builtRelation CLOSE_BRACE .   (rule 57)
-
-    $default	reduce using rule 57 (relation)
+  137 formula: formula . AND formula
+  138        | formula . OR formula
+  140        | '(' formula . ')'
 
+    OR   shift, and go to state 205
+    AND  shift, and go to state 206
+    ')'  shift, and go to state 248
 
 
 state 196
 
-    builtRelation  -&gt;  tupleDeclaration GOES_TO . @4 tupleDeclaration @5 optionalFormula   (rule 114)
+  153 expList: exp . ',' expList
+  154        | exp .
+  160 simpleExp: '(' exp . ')'
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
-    $default	reduce using rule 112 (@4)
-
-    @4  	go to state 248
+    '+'  shift, and go to state 214
+    '-'  shift, and go to state 215
+    '*'  shift, and go to state 216
+    ','  shift, and go to state 217
+    ')'  shift, and go to state 249
 
+    $default  reduce using rule 154 (expList)
 
 
 state 197
 
-    formula_sep  -&gt;  VERTICAL_BAR .   (rule 120)
-
-    $default	reduce using rule 120 (formula_sep)
+   57 relation: OPEN_BRACE @3 builtRelation CLOSE_BRACE .
 
+    $default  reduce using rule 57 (relation)
 
 
 state 198
 
-    formula_sep  -&gt;  SUCH_THAT .   (rule 121)
+  114 builtRelation: tupleDeclaration GOES_TO . @4 tupleDeclaration @5 optionalFormula
 
-    $default	reduce using rule 121 (formula_sep)
+    $default  reduce using rule 112 (@4)
 
+    @4  go to state 250
 
 
 state 199
 
-    formula_sep  -&gt;  ':' .   (rule 119)
-
-    $default	reduce using rule 119 (formula_sep)
+  120 formula_sep: VERTICAL_BAR .
 
+    $default  reduce using rule 120 (formula_sep)
 
 
 state 200
 
-    builtRelation  -&gt;  tupleDeclaration optionalFormula .   (rule 115)
-
-    $default	reduce using rule 115 (builtRelation)
+  121 formula_sep: SUCH_THAT .
 
+    $default  reduce using rule 121 (formula_sep)
 
 
 state 201
 
-    optionalFormula  -&gt;  formula_sep . formula   (rule 117)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
-
-    formula	go to state 249
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+  119 formula_sep: ':' .
 
+    $default  reduce using rule 119 (formula_sep)
 
 
 state 202
 
-    tupleDeclaration  -&gt;  @6 '[' . optionalTupleVarList ']'   (rule 123)
-
-    VAR 	shift, and go to state 250
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '*' 	shift, and go to state 251
-    '(' 	shift, and go to state 185
-
-    $default	reduce using rule 126 (optionalTupleVarList)
-
-    optionalTupleVarList	go to state 252
-    tupleVar	go to state 253
-    simpleExp	go to state 140
-    exp 	go to state 254
+  115 builtRelation: tupleDeclaration optionalFormula .
 
+    $default  reduce using rule 115 (builtRelation)
 
 
 state 203
 
-    formula  -&gt;  formula OR . formula   (rule 138)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
+  117 optionalFormula: formula_sep . formula
 
-    formula	go to state 255
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 251
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 204
 
-    formula  -&gt;  formula AND . formula   (rule 137)
+  123 tupleDeclaration: @6 '[' . optionalTupleVarList ']'
 
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
+    VAR  shift, and go to state 252
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '*'  shift, and go to state 253
+    '('  shift, and go to state 187
 
-    formula	go to state 256
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+    $default  reduce using rule 126 (optionalTupleVarList)
 
+    optionalTupleVarList  go to state 254
+    tupleVar              go to state 255
+    simpleExp             go to state 142
+    exp                   go to state 256
 
 
 state 205
 
-    varList  -&gt;  VAR .   (rule 133)
+  138 formula: formula OR . formula
 
-    $default	reduce using rule 133 (varList)
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 257
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 206
 
-    varDeclOptBrackets  -&gt;  '[' . varDecl ']'   (rule 136)
+  137 formula: formula AND . formula
 
-    VAR 	shift, and go to state 205
-
-    varList	go to state 207
-    varDecl	go to state 257
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 258
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 207
 
-    varList  -&gt;  varList . ',' VAR   (rule 132)
-    varDecl  -&gt;  varList .   (rule 134)
-
-    ',' 	shift, and go to state 258
-
-    $default	reduce using rule 134 (varDecl)
+  133 varList: VAR .
 
+    $default  reduce using rule 133 (varList)
 
 
 state 208
 
-    varDeclOptBrackets  -&gt;  varDecl .   (rule 135)
+  136 varDeclOptBrackets: '[' . varDecl ']'
 
-    $default	reduce using rule 135 (varDeclOptBrackets)
+    VAR  shift, and go to state 207
 
+    varList  go to state 209
+    varDecl  go to state 259
 
 
 state 209
 
-    formula  -&gt;  start_exists varDeclOptBrackets . exists_sep formula end_quant   (rule 142)
-
-    VERTICAL_BAR	shift, and go to state 259
-    SUCH_THAT	shift, and go to state 260
-    ':' 	shift, and go to state 261
+  132 varList: varList . ',' VAR
+  134 varDecl: varList .
 
-    exists_sep	go to state 262
+    ','  shift, and go to state 260
 
+    $default  reduce using rule 134 (varDecl)
 
 
 state 210
 
-    formula  -&gt;  start_forall varDeclOptBrackets . forall_sep formula end_quant   (rule 143)
-
-    ':' 	shift, and go to state 263
-
-    forall_sep	go to state 264
+  135 varDeclOptBrackets: varDecl .
 
+    $default  reduce using rule 135 (varDeclOptBrackets)
 
 
 state 211
 
-    constraintChain  -&gt;  expList REL_OP . expList   (rule 155)
-    constraintChain  -&gt;  expList REL_OP . constraintChain   (rule 156)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
+  142 formula: start_exists varDeclOptBrackets . exists_sep formula end_quant
 
-    expList	go to state 265
-    constraintChain	go to state 266
-    simpleExp	go to state 140
-    exp 	go to state 141
+    VERTICAL_BAR  shift, and go to state 261
+    SUCH_THAT     shift, and go to state 262
+    ':'           shift, and go to state 263
 
+    exists_sep  go to state 264
 
 
 state 212
 
-    exp  -&gt;  exp '+' . exp   (rule 167)
+  143 formula: start_forall varDeclOptBrackets . forall_sep formula end_quant
 
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
-
-    simpleExp	go to state 140
-    exp 	go to state 267
+    ':'  shift, and go to state 265
 
+    forall_sep  go to state 266
 
 
 state 213
 
-    exp  -&gt;  exp '-' . exp   (rule 168)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
+  155 constraintChain: expList REL_OP . expList
+  156                | expList REL_OP . constraintChain
 
-    simpleExp	go to state 140
-    exp 	go to state 268
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    expList          go to state 267
+    constraintChain  go to state 268
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 214
 
-    exp  -&gt;  exp '*' . exp   (rule 169)
+  167 exp: exp '+' . exp
 
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
-
-    simpleExp	go to state 140
-    exp 	go to state 269
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    simpleExp  go to state 142
+    exp        go to state 269
 
 
 state 215
 
-    expList  -&gt;  exp ',' . expList   (rule 153)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
+  168 exp: exp '-' . exp
 
-    expList	go to state 270
-    simpleExp	go to state 140
-    exp 	go to state 141
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    simpleExp  go to state 142
+    exp        go to state 270
 
 
 state 216
 
-    globVar  -&gt;  VAR '(' INT . ')'   (rule 54)
+  169 exp: exp '*' . exp
 
-    ')' 	shift, and go to state 271
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    simpleExp  go to state 142
+    exp        go to state 271
 
 
 state 217
 
-    globVarList  -&gt;  globVarList ',' globVar .   (rule 52)
+  153 expList: exp ',' . expList
 
-    $default	reduce using rule 52 (globVarList)
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    expList    go to state 272
+    simpleExp  go to state 142
+    exp        go to state 143
 
 
 state 218
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  GIST relation GIVEN relation .   (rule 93)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 93 (relation)
+   54 globVar: VAR '(' INT . ')'
 
+    ')'  shift, and go to state 273
 
 
 state 219
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  HULL relation GIVEN relation .   (rule 88)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 88 (relation)
+   52 globVarList: globVarList ',' globVar .
 
+    $default  reduce using rule 52 (globVarList)
 
 
 state 220
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  VENN relation GIVEN relation .   (rule 78)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   93         | GIST relation GIVEN relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 78 (relation)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 93 (relation)
 
 
 state 221
 
-    blockAndProcsAndEffort  -&gt;  INT INT INT .   (rule 22)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   88         | HULL relation GIVEN relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 22 (blockAndProcsAndEffort)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 88 (relation)
 
 
 state 222
 
-    inputItem  -&gt;  SPMD blockAndProcsAndEffort relTripList ';' .   (rule 15)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   78         | VENN relation GIVEN relation .
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    $default	reduce using rule 15 (inputItem)
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 78 (relation)
 
 
 state 223
 
-    relTripList  -&gt;  relTripList ',' . relation ':' relation ':' relation   (rule 17)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 272
-    reachable_of	go to state 53
+   22 blockAndProcsAndEffort: INT INT INT .
 
+    $default  reduce using rule 22 (blockAndProcsAndEffort)
 
 
 state 224
 
-    relTripList  -&gt;  relation ':' . relation ':' relation   (rule 18)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 273
-    reachable_of	go to state 53
+   15 inputItem: SPMD blockAndProcsAndEffort relTripList ';' .
 
+    $default  reduce using rule 15 (inputItem)
 
 
 state 225
 
-    context  -&gt;  GIVEN . relation   (rule 27)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 274
-    reachable_of	go to state 53
-
+   17 relTripList: relTripList ',' . relation ':' relation ':' relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 274
+    reachable_of  go to state 55
 
 
 state 226
 
-    relPairList  -&gt;  relPairList ',' . relation ':' relation   (rule 28)
-    relPairList  -&gt;  relPairList ',' . relation   (rule 29)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 275
-    reachable_of	go to state 53
-
+   18 relTripList: relation ':' . relation ':' relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 275
+    reachable_of  go to state 55
 
 
 state 227
 
-    inputItem  -&gt;  CODEGEN effort relPairList context . ';'   (rule 13)
-
-    ';' 	shift, and go to state 276
-
+   27 context: GIVEN . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 276
+    reachable_of  go to state 55
 
 
 state 228
 
-    relPairList  -&gt;  relation ':' . relation   (rule 30)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 277
-    reachable_of	go to state 53
-
+   28 relPairList: relPairList ',' . relation ':' relation
+   29            | relPairList ',' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 277
+    reachable_of  go to state 55
 
 
 state 229
 
-    statementInfoResult  -&gt;  TRANS_IS relation . statementInfoResult   (rule 33)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    TRANS_IS	shift, and go to state 156
-    SET_MMAP	shift, and go to state 157
-    UNROLL_IS	shift, and go to state 158
-    PEEL_IS	shift, and go to state 159
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    '[' 	shift, and go to state 160
-
-    statementInfoResult	go to state 278
-    statementInfoList	go to state 162
-    statementInfo	go to state 163
+   13 inputItem: CODEGEN effort relPairList context . ';'
 
+    ';'  shift, and go to state 278
 
 
 state 230
 
-    statementInfoResult  -&gt;  SET_MMAP INT . partialwrites statementInfoResult   (rule 34)
-
-    STRING	shift, and go to state 279
-
-    partialwrites	go to state 280
-    partialwrite	go to state 281
-
+   30 relPairList: relation ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 279
+    reachable_of  go to state 55
 
 
 state 231
 
-    statementInfoResult  -&gt;  UNROLL_IS INT . INT INT statementInfoResult   (rule 35)
-
-    INT 	shift, and go to state 282
-
+   33 statementInfoResult: TRANS_IS relation . statementInfoResult
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    TRANS_IS         shift, and go to state 158
+    SET_MMAP         shift, and go to state 159
+    UNROLL_IS        shift, and go to state 160
+    PEEL_IS          shift, and go to state 161
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    '['              shift, and go to state 162
+
+    statementInfoResult  go to state 280
+    statementInfoList    go to state 164
+    statementInfo        go to state 165
 
 
 state 232
 
-    statementInfoResult  -&gt;  PEEL_IS INT . INT relation statementInfoResult   (rule 36)
-    statementInfoResult  -&gt;  PEEL_IS INT . INT relation ',' relation statementInfoResult   (rule 37)
+   34 statementInfoResult: SET_MMAP INT . partialwrites statementInfoResult
 
-    INT 	shift, and go to state 283
+    STRING  shift, and go to state 281
 
+    partialwrites  go to state 282
+    partialwrite   go to state 283
 
 
 state 233
 
-    statementInfo  -&gt;  '[' STRING . ',' relation ',' partialwrites ',' reads ']'   (rule 40)
-    statementInfo  -&gt;  '[' STRING . ',' relation ',' partialwrites ']'   (rule 41)
-
-    ',' 	shift, and go to state 284
+   35 statementInfoResult: UNROLL_IS INT . INT INT statementInfoResult
 
+    INT  shift, and go to state 284
 
 
 state 234
 
-    inputItem  -&gt;  TCODEGEN effort statementInfoResult context . ';'   (rule 14)
-
-    ';' 	shift, and go to state 285
+   36 statementInfoResult: PEEL_IS INT . INT relation statementInfoResult
+   37                    | PEEL_IS INT . INT relation ',' relation statementInfoResult
 
+    INT  shift, and go to state 285
 
 
 state 235
 
-    statementInfoList  -&gt;  statementInfoList ',' . statementInfo   (rule 39)
-
-    '[' 	shift, and go to state 160
-
-    statementInfo	go to state 286
+   40 statementInfo: '[' STRING . ',' relation ',' partialwrites ',' reads ']'
+   41              | '[' STRING . ',' relation ',' partialwrites ']'
 
+    ','  shift, and go to state 286
 
 
 state 236
 
-    realNodeNameList  -&gt;  realNodeNameList ',' . VAR   (rule 173)
-
-    VAR 	shift, and go to state 287
+   14 inputItem: TCODEGEN effort statementInfoResult context . ';'
 
+    ';'  shift, and go to state 287
 
 
 state 237
 
-    nodeNameList  -&gt;  '(' realNodeNameList ')' .   (rule 172)
+   39 statementInfoList: statementInfoList ',' . statementInfo
 
-    $default	reduce using rule 172 (nodeNameList)
+    '['  shift, and go to state 162
 
+    statementInfo  go to state 288
 
 
 state 238
 
-    realNodeSpecificationList  -&gt;  VAR . GOES_TO VAR ':' relation   (rule 178)
-    realNodeSpecificationList  -&gt;  VAR . ':' relation   (rule 179)
-
-    GOES_TO	shift, and go to state 288
-    ':' 	shift, and go to state 289
+  173 realNodeNameList: realNodeNameList ',' . VAR
 
+    VAR  shift, and go to state 289
 
 
 state 239
 
-    nodeSpecificationList  -&gt;  OPEN_BRACE realNodeSpecificationList . CLOSE_BRACE   (rule 175)
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList . ',' VAR ':' relation   (rule 176)
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList . ',' VAR GOES_TO VAR ':' relation   (rule 177)
-
-    CLOSE_BRACE	shift, and go to state 290
-    ',' 	shift, and go to state 291
+  172 nodeNameList: '(' realNodeNameList ')' .
 
+    $default  reduce using rule 172 (nodeNameList)
 
 
 state 240
 
-    reachable_of  -&gt;  REACHABLE_OF VAR IN nodeNameList . nodeSpecificationList   (rule 171)
-
-    OPEN_BRACE	shift, and go to state 166
-
-    nodeSpecificationList	go to state 292
+  178 realNodeSpecificationList: VAR . GOES_TO VAR ':' relation
+  179                          | VAR . ':' relation
 
+    GOES_TO  shift, and go to state 290
+    ':'      shift, and go to state 291
 
 
 state 241
 
-    inputItem  -&gt;  relation SUBSET relation ';' .   (rule 12)
-
-    $default	reduce using rule 12 (inputItem)
+  175 nodeSpecificationList: OPEN_BRACE realNodeSpecificationList . CLOSE_BRACE
+  176 realNodeSpecificationList: realNodeSpecificationList . ',' VAR ':' relation
+  177                          | realNodeSpecificationList . ',' VAR GOES_TO VAR ':' relation
 
+    CLOSE_BRACE  shift, and go to state 292
+    ','          shift, and go to state 293
 
 
 state 242
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation '+' WITHIN relation .   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
+  171 reachable_of: REACHABLE_OF VAR IN nodeNameList . nodeSpecificationList
 
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 62 (relation)
+    OPEN_BRACE  shift, and go to state 168
 
+    nodeSpecificationList  go to state 294
 
 
 state 243
 
-    relation  -&gt;  relation '(' relation ')' .   (rule 94)
-
-    $default	reduce using rule 94 (relation)
+   12 inputItem: relation SUBSET relation ';' .
 
+    $default  reduce using rule 12 (inputItem)
 
 
 state 244
 
-    simpleExp  -&gt;  VAR '(' @7 . argumentList ')'   (rule 159)
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   62         | relation '+' WITHIN relation .
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
 
-    VAR 	shift, and go to state 293
-
-    argumentList	go to state 294
+    '('  shift, and go to state 123
 
+    $default  reduce using rule 62 (relation)
 
 
 state 245
 
-    simpleExp  -&gt;  '(' exp . ')'   (rule 160)
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-
-    '+' 	shift, and go to state 212
-    '-' 	shift, and go to state 213
-    '*' 	shift, and go to state 214
-    ')' 	shift, and go to state 247
+   94 relation: relation '(' relation ')' .
 
+    $default  reduce using rule 94 (relation)
 
 
 state 246
 
-    formula  -&gt;  '(' formula ')' .   (rule 140)
+  159 simpleExp: VAR '(' @7 . argumentList ')'
 
-    $default	reduce using rule 140 (formula)
+    VAR  shift, and go to state 295
 
+    argumentList  go to state 296
 
 
 state 247
 
-    simpleExp  -&gt;  '(' exp ')' .   (rule 160)
-
-    $default	reduce using rule 160 (simpleExp)
+  160 simpleExp: '(' exp . ')'
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
+    '+'  shift, and go to state 214
+    '-'  shift, and go to state 215
+    '*'  shift, and go to state 216
+    ')'  shift, and go to state 249
 
 
 state 248
 
-    builtRelation  -&gt;  tupleDeclaration GOES_TO @4 . tupleDeclaration @5 optionalFormula   (rule 114)
-
-    $default	reduce using rule 122 (@6)
-
-    tupleDeclaration	go to state 295
-    @6  	go to state 134
+  140 formula: '(' formula ')' .
 
+    $default  reduce using rule 140 (formula)
 
 
 state 249
 
-    optionalFormula  -&gt;  formula_sep formula .   (rule 117)
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-
-    OR  	shift, and go to state 203
-    AND 	shift, and go to state 204
-
-    $default	reduce using rule 117 (optionalFormula)
+  160 simpleExp: '(' exp ')' .
 
+    $default  reduce using rule 160 (simpleExp)
 
 
 state 250
 
-    tupleVar  -&gt;  VAR .   (rule 127)
-    simpleExp  -&gt;  VAR .   (rule 157)
-    simpleExp  -&gt;  VAR . '(' @7 argumentList ')'   (rule 159)
+  114 builtRelation: tupleDeclaration GOES_TO @4 . tupleDeclaration @5 optionalFormula
 
-    '(' 	shift, and go to state 184
-
-    ',' 	reduce using rule 127 (tupleVar)
-    ',' 	[reduce using rule 157 (simpleExp)]
-    ']' 	reduce using rule 127 (tupleVar)
-    ']' 	[reduce using rule 157 (simpleExp)]
-    $default	reduce using rule 157 (simpleExp)
+    $default  reduce using rule 122 (@6)
 
+    tupleDeclaration  go to state 297
+    @6                go to state 136
 
 
 state 251
 
-    tupleVar  -&gt;  '*' .   (rule 128)
+  117 optionalFormula: formula_sep formula .
+  137 formula: formula . AND formula
+  138        | formula . OR formula
 
-    $default	reduce using rule 128 (tupleVar)
+    OR   shift, and go to state 205
+    AND  shift, and go to state 206
 
+    $default  reduce using rule 117 (optionalFormula)
 
 
 state 252
 
-    tupleDeclaration  -&gt;  @6 '[' optionalTupleVarList . ']'   (rule 123)
-    optionalTupleVarList  -&gt;  optionalTupleVarList . ',' tupleVar   (rule 125)
+  127 tupleVar: VAR .
+  157 simpleExp: VAR .
+  159          | VAR . '(' @7 argumentList ')'
 
-    ',' 	shift, and go to state 296
-    ']' 	shift, and go to state 297
+    '('  shift, and go to state 186
 
+    ','       reduce using rule 127 (tupleVar)
+    ','       [reduce using rule 157 (simpleExp)]
+    ']'       reduce using rule 127 (tupleVar)
+    ']'       [reduce using rule 157 (simpleExp)]
+    $default  reduce using rule 157 (simpleExp)
 
 
 state 253
 
-    optionalTupleVarList  -&gt;  tupleVar .   (rule 124)
-
-    $default	reduce using rule 124 (optionalTupleVarList)
+  128 tupleVar: '*' .
 
+    $default  reduce using rule 128 (tupleVar)
 
 
 state 254
 
-    tupleVar  -&gt;  exp .   (rule 129)
-    tupleVar  -&gt;  exp . ':' exp   (rule 130)
-    tupleVar  -&gt;  exp . ':' exp ':' INT   (rule 131)
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-
-    '+' 	shift, and go to state 212
-    '-' 	shift, and go to state 213
-    '*' 	shift, and go to state 214
-    ':' 	shift, and go to state 298
-
-    $default	reduce using rule 129 (tupleVar)
+  123 tupleDeclaration: @6 '[' optionalTupleVarList . ']'
+  125 optionalTupleVarList: optionalTupleVarList . ',' tupleVar
 
+    ','  shift, and go to state 298
+    ']'  shift, and go to state 299
 
 
 state 255
 
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-    formula  -&gt;  formula OR formula .   (rule 138)
-
-    AND 	shift, and go to state 204
-
-    $default	reduce using rule 138 (formula)
+  124 optionalTupleVarList: tupleVar .
 
+    $default  reduce using rule 124 (optionalTupleVarList)
 
 
 state 256
 
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula AND formula .   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-
+  129 tupleVar: exp .
+  130         | exp . ':' exp
+  131         | exp . ':' exp ':' INT
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
-    $default	reduce using rule 137 (formula)
+    '+'  shift, and go to state 214
+    '-'  shift, and go to state 215
+    '*'  shift, and go to state 216
+    ':'  shift, and go to state 300
 
+    $default  reduce using rule 129 (tupleVar)
 
 
 state 257
 
-    varDeclOptBrackets  -&gt;  '[' varDecl . ']'   (rule 136)
+  137 formula: formula . AND formula
+  138        | formula . OR formula
+  138        | formula OR formula .
 
-    ']' 	shift, and go to state 299
+    AND  shift, and go to state 206
 
+    $default  reduce using rule 138 (formula)
 
 
 state 258
 
-    varList  -&gt;  varList ',' . VAR   (rule 132)
-
-    VAR 	shift, and go to state 300
+  137 formula: formula . AND formula
+  137        | formula AND formula .
+  138        | formula . OR formula
 
+    $default  reduce using rule 137 (formula)
 
 
 state 259
 
-    exists_sep  -&gt;  VERTICAL_BAR .   (rule 147)
-
-    $default	reduce using rule 147 (exists_sep)
+  136 varDeclOptBrackets: '[' varDecl . ']'
 
+    ']'  shift, and go to state 301
 
 
 state 260
 
-    exists_sep  -&gt;  SUCH_THAT .   (rule 148)
-
-    $default	reduce using rule 148 (exists_sep)
+  132 varList: varList ',' . VAR
 
+    VAR  shift, and go to state 302
 
 
 state 261
 
-    exists_sep  -&gt;  ':' .   (rule 146)
-
-    $default	reduce using rule 146 (exists_sep)
+  147 exists_sep: VERTICAL_BAR .
 
+    $default  reduce using rule 147 (exists_sep)
 
 
 state 262
 
-    formula  -&gt;  start_exists varDeclOptBrackets exists_sep . formula end_quant   (rule 142)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
-
-    formula	go to state 301
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+  148 exists_sep: SUCH_THAT .
 
+    $default  reduce using rule 148 (exists_sep)
 
 
 state 263
 
-    forall_sep  -&gt;  ':' .   (rule 151)
-
-    $default	reduce using rule 151 (forall_sep)
+  146 exists_sep: ':' .
 
+    $default  reduce using rule 146 (exists_sep)
 
 
 state 264
 
-    formula  -&gt;  start_forall varDeclOptBrackets forall_sep . formula end_quant   (rule 143)
+  142 formula: start_exists varDeclOptBrackets exists_sep . formula end_quant
 
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    NOT 	shift, and go to state 127
-    FORALL	shift, and go to state 128
-    EXISTS	shift, and go to state 129
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 131
-
-    formula	go to state 302
-    start_exists	go to state 136
-    start_forall	go to state 137
-    expList	go to state 138
-    constraintChain	go to state 139
-    simpleExp	go to state 140
-    exp 	go to state 141
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 303
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 265
 
-    constraintChain  -&gt;  expList . REL_OP expList   (rule 155)
-    constraintChain  -&gt;  expList REL_OP expList .   (rule 155)
-    constraintChain  -&gt;  expList . REL_OP constraintChain   (rule 156)
-
-    REL_OP	shift, and go to state 211
-
-    $default	reduce using rule 155 (constraintChain)
+  151 forall_sep: ':' .
 
+    $default  reduce using rule 151 (forall_sep)
 
 
 state 266
 
-    constraintChain  -&gt;  expList REL_OP constraintChain .   (rule 156)
+  143 formula: start_forall varDeclOptBrackets forall_sep . formula end_quant
 
-    $default	reduce using rule 156 (constraintChain)
+    VAR     shift, and go to state 127
+    INT     shift, and go to state 128
+    NOT     shift, and go to state 129
+    FORALL  shift, and go to state 130
+    EXISTS  shift, and go to state 131
+    '-'     shift, and go to state 132
+    '('     shift, and go to state 133
 
+    formula          go to state 304
+    start_exists     go to state 138
+    start_forall     go to state 139
+    expList          go to state 140
+    constraintChain  go to state 141
+    simpleExp        go to state 142
+    exp              go to state 143
 
 
 state 267
 
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp '+' exp .   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-
-    '*' 	shift, and go to state 214
+  155 constraintChain: expList . REL_OP expList
+  155                | expList REL_OP expList .
+  156                | expList . REL_OP constraintChain
 
-    $default	reduce using rule 167 (exp)
+    REL_OP  shift, and go to state 213
 
+    $default  reduce using rule 155 (constraintChain)
 
 
 state 268
 
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp '-' exp .   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-
-    '*' 	shift, and go to state 214
-
-    $default	reduce using rule 168 (exp)
+  156 constraintChain: expList REL_OP constraintChain .
 
+    $default  reduce using rule 156 (constraintChain)
 
 
 state 269
 
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
-    exp  -&gt;  exp '*' exp .   (rule 169)
-
+  167 exp: exp . '+' exp
+  167    | exp '+' exp .
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
-    $default	reduce using rule 169 (exp)
+    '*'  shift, and go to state 216
 
+    $default  reduce using rule 167 (exp)
 
 
 state 270
 
-    expList  -&gt;  exp ',' expList .   (rule 153)
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  168    | exp '-' exp .
+  169    | exp . '*' exp
 
-    $default	reduce using rule 153 (expList)
+    '*'  shift, and go to state 216
 
+    $default  reduce using rule 168 (exp)
 
 
 state 271
 
-    globVar  -&gt;  VAR '(' INT ')' .   (rule 54)
-
-    $default	reduce using rule 54 (globVar)
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
+  169    | exp '*' exp .
 
+    $default  reduce using rule 169 (exp)
 
 
 state 272
 
-    relTripList  -&gt;  relTripList ',' relation . ':' relation ':' relation   (rule 17)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ':' 	shift, and go to state 303
+  153 expList: exp ',' expList .
 
+    $default  reduce using rule 153 (expList)
 
 
 state 273
 
-    relTripList  -&gt;  relation ':' relation . ':' relation   (rule 18)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ':' 	shift, and go to state 304
+   54 globVar: VAR '(' INT ')' .
 
+    $default  reduce using rule 54 (globVar)
 
 
 state 274
 
-    context  -&gt;  GIVEN relation .   (rule 27)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 27 (context)
-
+   17 relTripList: relTripList ',' relation . ':' relation ':' relation
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ':'              shift, and go to state 305
 
 
 state 275
 
-    relPairList  -&gt;  relPairList ',' relation . ':' relation   (rule 28)
-    relPairList  -&gt;  relPairList ',' relation .   (rule 29)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ':' 	shift, and go to state 305
-
-    $default	reduce using rule 29 (relPairList)
-
+   18 relTripList: relation ':' relation . ':' relation
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ':'              shift, and go to state 306
 
 
 state 276
 
-    inputItem  -&gt;  CODEGEN effort relPairList context ';' .   (rule 13)
-
-    $default	reduce using rule 13 (inputItem)
-
+   27 context: GIVEN relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 27 (context)
 
 
 state 277
 
-    relPairList  -&gt;  relation ':' relation .   (rule 30)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 30 (relPairList)
-
+   28 relPairList: relPairList ',' relation . ':' relation
+   29            | relPairList ',' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ':'              shift, and go to state 307
+
+    $default  reduce using rule 29 (relPairList)
 
 
 state 278
 
-    statementInfoResult  -&gt;  TRANS_IS relation statementInfoResult .   (rule 33)
-
-    $default	reduce using rule 33 (statementInfoResult)
+   13 inputItem: CODEGEN effort relPairList context ';' .
 
+    $default  reduce using rule 13 (inputItem)
 
 
 state 279
 
-    partialwrite  -&gt;  STRING . '[' relation ']' ',' relation   (rule 44)
-    partialwrite  -&gt;  STRING . ',' relation   (rule 45)
-
-    ',' 	shift, and go to state 306
-    '[' 	shift, and go to state 307
-
+   30 relPairList: relation ':' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 30 (relPairList)
 
 
 state 280
 
-    statementInfoResult  -&gt;  SET_MMAP INT partialwrites . statementInfoResult   (rule 34)
-    partialwrites  -&gt;  partialwrites . ',' partialwrite   (rule 42)
-
-    TRANS_IS	shift, and go to state 156
-    SET_MMAP	shift, and go to state 157
-    UNROLL_IS	shift, and go to state 158
-    PEEL_IS	shift, and go to state 159
-    ',' 	shift, and go to state 308
-    '[' 	shift, and go to state 160
-
-    statementInfoResult	go to state 309
-    statementInfoList	go to state 162
-    statementInfo	go to state 163
+   33 statementInfoResult: TRANS_IS relation statementInfoResult .
 
+    $default  reduce using rule 33 (statementInfoResult)
 
 
 state 281
 
-    partialwrites  -&gt;  partialwrite .   (rule 43)
-
-    $default	reduce using rule 43 (partialwrites)
+   44 partialwrite: STRING . '[' relation ']' ',' relation
+   45             | STRING . ',' relation
 
+    ','  shift, and go to state 308
+    '['  shift, and go to state 309
 
 
 state 282
 
-    statementInfoResult  -&gt;  UNROLL_IS INT INT . INT statementInfoResult   (rule 35)
+   34 statementInfoResult: SET_MMAP INT partialwrites . statementInfoResult
+   42 partialwrites: partialwrites . ',' partialwrite
 
-    INT 	shift, and go to state 310
+    TRANS_IS   shift, and go to state 158
+    SET_MMAP   shift, and go to state 159
+    UNROLL_IS  shift, and go to state 160
+    PEEL_IS    shift, and go to state 161
+    ','        shift, and go to state 310
+    '['        shift, and go to state 162
 
+    statementInfoResult  go to state 311
+    statementInfoList    go to state 164
+    statementInfo        go to state 165
 
 
 state 283
 
-    statementInfoResult  -&gt;  PEEL_IS INT INT . relation statementInfoResult   (rule 36)
-    statementInfoResult  -&gt;  PEEL_IS INT INT . relation ',' relation statementInfoResult   (rule 37)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 311
-    reachable_of	go to state 53
+   43 partialwrites: partialwrite .
 
+    $default  reduce using rule 43 (partialwrites)
 
 
 state 284
 
-    statementInfo  -&gt;  '[' STRING ',' . relation ',' partialwrites ',' reads ']'   (rule 40)
-    statementInfo  -&gt;  '[' STRING ',' . relation ',' partialwrites ']'   (rule 41)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 312
-    reachable_of	go to state 53
+   35 statementInfoResult: UNROLL_IS INT INT . INT statementInfoResult
 
+    INT  shift, and go to state 312
 
 
 state 285
 
-    inputItem  -&gt;  TCODEGEN effort statementInfoResult context ';' .   (rule 14)
-
-    $default	reduce using rule 14 (inputItem)
-
+   36 statementInfoResult: PEEL_IS INT INT . relation statementInfoResult
+   37                    | PEEL_IS INT INT . relation ',' relation statementInfoResult
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 313
+    reachable_of  go to state 55
 
 
 state 286
 
-    statementInfoList  -&gt;  statementInfoList ',' statementInfo .   (rule 39)
-
-    $default	reduce using rule 39 (statementInfoList)
-
+   40 statementInfo: '[' STRING ',' . relation ',' partialwrites ',' reads ']'
+   41              | '[' STRING ',' . relation ',' partialwrites ']'
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 314
+    reachable_of  go to state 55
 
 
 state 287
 
-    realNodeNameList  -&gt;  realNodeNameList ',' VAR .   (rule 173)
-
-    $default	reduce using rule 173 (realNodeNameList)
+   14 inputItem: TCODEGEN effort statementInfoResult context ';' .
 
+    $default  reduce using rule 14 (inputItem)
 
 
 state 288
 
-    realNodeSpecificationList  -&gt;  VAR GOES_TO . VAR ':' relation   (rule 178)
-
-    VAR 	shift, and go to state 313
+   39 statementInfoList: statementInfoList ',' statementInfo .
 
+    $default  reduce using rule 39 (statementInfoList)
 
 
 state 289
 
-    realNodeSpecificationList  -&gt;  VAR ':' . relation   (rule 179)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 314
-    reachable_of	go to state 53
+  173 realNodeNameList: realNodeNameList ',' VAR .
 
+    $default  reduce using rule 173 (realNodeNameList)
 
 
 state 290
 
-    nodeSpecificationList  -&gt;  OPEN_BRACE realNodeSpecificationList CLOSE_BRACE .   (rule 175)
-
-    $default	reduce using rule 175 (nodeSpecificationList)
+  178 realNodeSpecificationList: VAR GOES_TO . VAR ':' relation
 
+    VAR  shift, and go to state 315
 
 
 state 291
 
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' . VAR ':' relation   (rule 176)
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' . VAR GOES_TO VAR ':' relation   (rule 177)
-
-    VAR 	shift, and go to state 315
-
+  179 realNodeSpecificationList: VAR ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 316
+    reachable_of  go to state 55
 
 
 state 292
 
-    reachable_of  -&gt;  REACHABLE_OF VAR IN nodeNameList nodeSpecificationList .   (rule 171)
-
-    $default	reduce using rule 171 (reachable_of)
+  175 nodeSpecificationList: OPEN_BRACE realNodeSpecificationList CLOSE_BRACE .
 
+    $default  reduce using rule 175 (nodeSpecificationList)
 
 
 state 293
 
-    argumentList  -&gt;  VAR .   (rule 162)
-
-    $default	reduce using rule 162 (argumentList)
+  176 realNodeSpecificationList: realNodeSpecificationList ',' . VAR ':' relation
+  177                          | realNodeSpecificationList ',' . VAR GOES_TO VAR ':' relation
 
+    VAR  shift, and go to state 317
 
 
 state 294
 
-    simpleExp  -&gt;  VAR '(' @7 argumentList . ')'   (rule 159)
-    argumentList  -&gt;  argumentList . ',' VAR   (rule 161)
-
-    ',' 	shift, and go to state 316
-    ')' 	shift, and go to state 317
+  171 reachable_of: REACHABLE_OF VAR IN nodeNameList nodeSpecificationList .
 
+    $default  reduce using rule 171 (reachable_of)
 
 
 state 295
 
-    builtRelation  -&gt;  tupleDeclaration GOES_TO @4 tupleDeclaration . @5 optionalFormula   (rule 114)
-
-    $default	reduce using rule 113 (@5)
-
-    @5  	go to state 318
+  162 argumentList: VAR .
 
+    $default  reduce using rule 162 (argumentList)
 
 
 state 296
 
-    optionalTupleVarList  -&gt;  optionalTupleVarList ',' . tupleVar   (rule 125)
-
-    VAR 	shift, and go to state 250
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '*' 	shift, and go to state 251
-    '(' 	shift, and go to state 185
-
-    tupleVar	go to state 319
-    simpleExp	go to state 140
-    exp 	go to state 254
+  159 simpleExp: VAR '(' @7 argumentList . ')'
+  161 argumentList: argumentList . ',' VAR
 
+    ','  shift, and go to state 318
+    ')'  shift, and go to state 319
 
 
 state 297
 
-    tupleDeclaration  -&gt;  @6 '[' optionalTupleVarList ']' .   (rule 123)
+  114 builtRelation: tupleDeclaration GOES_TO @4 tupleDeclaration . @5 optionalFormula
 
-    $default	reduce using rule 123 (tupleDeclaration)
+    $default  reduce using rule 113 (@5)
 
+    @5  go to state 320
 
 
 state 298
 
-    tupleVar  -&gt;  exp ':' . exp   (rule 130)
-    tupleVar  -&gt;  exp ':' . exp ':' INT   (rule 131)
-
-    VAR 	shift, and go to state 125
-    INT 	shift, and go to state 126
-    '-' 	shift, and go to state 130
-    '(' 	shift, and go to state 185
+  125 optionalTupleVarList: optionalTupleVarList ',' . tupleVar
 
-    simpleExp	go to state 140
-    exp 	go to state 320
+    VAR  shift, and go to state 252
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '*'  shift, and go to state 253
+    '('  shift, and go to state 187
 
+    tupleVar   go to state 321
+    simpleExp  go to state 142
+    exp        go to state 256
 
 
 state 299
 
-    varDeclOptBrackets  -&gt;  '[' varDecl ']' .   (rule 136)
-
-    $default	reduce using rule 136 (varDeclOptBrackets)
+  123 tupleDeclaration: @6 '[' optionalTupleVarList ']' .
 
+    $default  reduce using rule 123 (tupleDeclaration)
 
 
 state 300
 
-    varList  -&gt;  varList ',' VAR .   (rule 132)
+  130 tupleVar: exp ':' . exp
+  131         | exp ':' . exp ':' INT
 
-    $default	reduce using rule 132 (varList)
+    VAR  shift, and go to state 127
+    INT  shift, and go to state 128
+    '-'  shift, and go to state 132
+    '('  shift, and go to state 187
 
+    simpleExp  go to state 142
+    exp        go to state 322
 
 
 state 301
 
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-    formula  -&gt;  start_exists varDeclOptBrackets exists_sep formula . end_quant   (rule 142)
-
-    OR  	shift, and go to state 203
-    AND 	shift, and go to state 204
-    ')' 	shift, and go to state 321
-
-    end_quant	go to state 322
+  136 varDeclOptBrackets: '[' varDecl ']' .
 
+    $default  reduce using rule 136 (varDeclOptBrackets)
 
 
 state 302
 
-    formula  -&gt;  formula . AND formula   (rule 137)
-    formula  -&gt;  formula . OR formula   (rule 138)
-    formula  -&gt;  start_forall varDeclOptBrackets forall_sep formula . end_quant   (rule 143)
-
-    OR  	shift, and go to state 203
-    AND 	shift, and go to state 204
-    ')' 	shift, and go to state 321
-
-    end_quant	go to state 323
+  132 varList: varList ',' VAR .
 
+    $default  reduce using rule 132 (varList)
 
 
 state 303
 
-    relTripList  -&gt;  relTripList ',' relation ':' . relation ':' relation   (rule 17)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 324
-    reachable_of	go to state 53
+  137 formula: formula . AND formula
+  138        | formula . OR formula
+  142        | start_exists varDeclOptBrackets exists_sep formula . end_quant
 
+    OR   shift, and go to state 205
+    AND  shift, and go to state 206
+    ')'  shift, and go to state 323
+
+    end_quant  go to state 324
 
 
 state 304
 
-    relTripList  -&gt;  relation ':' relation ':' . relation   (rule 18)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 325
-    reachable_of	go to state 53
+  137 formula: formula . AND formula
+  138        | formula . OR formula
+  143        | start_forall varDeclOptBrackets forall_sep formula . end_quant
 
+    OR   shift, and go to state 205
+    AND  shift, and go to state 206
+    ')'  shift, and go to state 323
 
+    end_quant  go to state 325
 
-state 305
 
-    relPairList  -&gt;  relPairList ',' relation ':' . relation   (rule 28)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 326
-    reachable_of	go to state 53
+state 305
 
+   17 relTripList: relTripList ',' relation ':' . relation ':' relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 326
+    reachable_of  go to state 55
 
 
 state 306
 
-    partialwrite  -&gt;  STRING ',' . relation   (rule 45)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 327
-    reachable_of	go to state 53
-
+   18 relTripList: relation ':' relation ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 327
+    reachable_of  go to state 55
 
 
 state 307
 
-    partialwrite  -&gt;  STRING '[' . relation ']' ',' relation   (rule 44)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 328
-    reachable_of	go to state 53
-
+   28 relPairList: relPairList ',' relation ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 328
+    reachable_of  go to state 55
 
 
 state 308
 
-    partialwrites  -&gt;  partialwrites ',' . partialwrite   (rule 42)
-
-    STRING	shift, and go to state 279
-
-    partialwrite	go to state 329
-
+   45 partialwrite: STRING ',' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 329
+    reachable_of  go to state 55
 
 
 state 309
 
-    statementInfoResult  -&gt;  SET_MMAP INT partialwrites statementInfoResult .   (rule 34)
-
-    $default	reduce using rule 34 (statementInfoResult)
-
+   44 partialwrite: STRING '[' . relation ']' ',' relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 330
+    reachable_of  go to state 55
 
 
 state 310
 
-    statementInfoResult  -&gt;  UNROLL_IS INT INT INT . statementInfoResult   (rule 35)
-
-    TRANS_IS	shift, and go to state 156
-    SET_MMAP	shift, and go to state 157
-    UNROLL_IS	shift, and go to state 158
-    PEEL_IS	shift, and go to state 159
-    '[' 	shift, and go to state 160
+   42 partialwrites: partialwrites ',' . partialwrite
 
-    statementInfoResult	go to state 330
-    statementInfoList	go to state 162
-    statementInfo	go to state 163
+    STRING  shift, and go to state 281
 
+    partialwrite  go to state 331
 
 
 state 311
 
-    statementInfoResult  -&gt;  PEEL_IS INT INT relation . statementInfoResult   (rule 36)
-    statementInfoResult  -&gt;  PEEL_IS INT INT relation . ',' relation statementInfoResult   (rule 37)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    TRANS_IS	shift, and go to state 156
-    SET_MMAP	shift, and go to state 157
-    UNROLL_IS	shift, and go to state 158
-    PEEL_IS	shift, and go to state 159
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ',' 	shift, and go to state 331
-    '[' 	shift, and go to state 160
-
-    statementInfoResult	go to state 332
-    statementInfoList	go to state 162
-    statementInfo	go to state 163
+   34 statementInfoResult: SET_MMAP INT partialwrites statementInfoResult .
 
+    $default  reduce using rule 34 (statementInfoResult)
 
 
 state 312
 
-    statementInfo  -&gt;  '[' STRING ',' relation . ',' partialwrites ',' reads ']'   (rule 40)
-    statementInfo  -&gt;  '[' STRING ',' relation . ',' partialwrites ']'   (rule 41)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ',' 	shift, and go to state 333
+   35 statementInfoResult: UNROLL_IS INT INT INT . statementInfoResult
 
+    TRANS_IS   shift, and go to state 158
+    SET_MMAP   shift, and go to state 159
+    UNROLL_IS  shift, and go to state 160
+    PEEL_IS    shift, and go to state 161
+    '['        shift, and go to state 162
 
+    statementInfoResult  go to state 332
+    statementInfoList    go to state 164
+    statementInfo        go to state 165
 
-state 313
-
-    realNodeSpecificationList  -&gt;  VAR GOES_TO VAR . ':' relation   (rule 178)
 
-    ':' 	shift, and go to state 334
+state 313
 
+   36 statementInfoResult: PEEL_IS INT INT relation . statementInfoResult
+   37                    | PEEL_IS INT INT relation . ',' relation statementInfoResult
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    TRANS_IS         shift, and go to state 158
+    SET_MMAP         shift, and go to state 159
+    UNROLL_IS        shift, and go to state 160
+    PEEL_IS          shift, and go to state 161
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ','              shift, and go to state 333
+    '['              shift, and go to state 162
+
+    statementInfoResult  go to state 334
+    statementInfoList    go to state 164
+    statementInfo        go to state 165
 
 
 state 314
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    realNodeSpecificationList  -&gt;  VAR ':' relation .   (rule 179)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 179 (realNodeSpecificationList)
-
+   40 statementInfo: '[' STRING ',' relation . ',' partialwrites ',' reads ']'
+   41              | '[' STRING ',' relation . ',' partialwrites ']'
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ','              shift, and go to state 335
 
 
 state 315
 
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR . ':' relation   (rule 176)
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR . GOES_TO VAR ':' relation   (rule 177)
-
-    GOES_TO	shift, and go to state 335
-    ':' 	shift, and go to state 336
+  178 realNodeSpecificationList: VAR GOES_TO VAR . ':' relation
 
+    ':'  shift, and go to state 336
 
 
 state 316
 
-    argumentList  -&gt;  argumentList ',' . VAR   (rule 161)
-
-    VAR 	shift, and go to state 337
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  179 realNodeSpecificationList: VAR ':' relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 179 (realNodeSpecificationList)
 
 
 state 317
 
-    simpleExp  -&gt;  VAR '(' @7 argumentList ')' .   (rule 159)
-
-    $default	reduce using rule 159 (simpleExp)
+  176 realNodeSpecificationList: realNodeSpecificationList ',' VAR . ':' relation
+  177                          | realNodeSpecificationList ',' VAR . GOES_TO VAR ':' relation
 
+    GOES_TO  shift, and go to state 337
+    ':'      shift, and go to state 338
 
 
 state 318
 
-    builtRelation  -&gt;  tupleDeclaration GOES_TO @4 tupleDeclaration @5 . optionalFormula   (rule 114)
-
-    VERTICAL_BAR	shift, and go to state 197
-    SUCH_THAT	shift, and go to state 198
-    ':' 	shift, and go to state 199
-
-    $default	reduce using rule 118 (optionalFormula)
-
-    optionalFormula	go to state 338
-    formula_sep	go to state 201
+  161 argumentList: argumentList ',' . VAR
 
+    VAR  shift, and go to state 339
 
 
 state 319
 
-    optionalTupleVarList  -&gt;  optionalTupleVarList ',' tupleVar .   (rule 125)
-
-    $default	reduce using rule 125 (optionalTupleVarList)
+  159 simpleExp: VAR '(' @7 argumentList ')' .
 
+    $default  reduce using rule 159 (simpleExp)
 
 
 state 320
 
-    tupleVar  -&gt;  exp ':' exp .   (rule 130)
-    tupleVar  -&gt;  exp ':' exp . ':' INT   (rule 131)
-    exp  -&gt;  exp . '+' exp   (rule 167)
-    exp  -&gt;  exp . '-' exp   (rule 168)
-    exp  -&gt;  exp . '*' exp   (rule 169)
+  114 builtRelation: tupleDeclaration GOES_TO @4 tupleDeclaration @5 . optionalFormula
 
-    '+' 	shift, and go to state 212
-    '-' 	shift, and go to state 213
-    '*' 	shift, and go to state 214
-    ':' 	shift, and go to state 339
+    VERTICAL_BAR  shift, and go to state 199
+    SUCH_THAT     shift, and go to state 200
+    ':'           shift, and go to state 201
 
-    $default	reduce using rule 130 (tupleVar)
+    $default  reduce using rule 118 (optionalFormula)
 
+    optionalFormula  go to state 340
+    formula_sep      go to state 203
 
 
 state 321
 
-    end_quant  -&gt;  ')' .   (rule 152)
-
-    $default	reduce using rule 152 (end_quant)
+  125 optionalTupleVarList: optionalTupleVarList ',' tupleVar .
 
+    $default  reduce using rule 125 (optionalTupleVarList)
 
 
 state 322
 
-    formula  -&gt;  start_exists varDeclOptBrackets exists_sep formula end_quant .   (rule 142)
+  130 tupleVar: exp ':' exp .
+  131         | exp ':' exp . ':' INT
+  167 exp: exp . '+' exp
+  168    | exp . '-' exp
+  169    | exp . '*' exp
 
-    $default	reduce using rule 142 (formula)
+    '+'  shift, and go to state 214
+    '-'  shift, and go to state 215
+    '*'  shift, and go to state 216
+    ':'  shift, and go to state 341
 
+    $default  reduce using rule 130 (tupleVar)
 
 
 state 323
 
-    formula  -&gt;  start_forall varDeclOptBrackets forall_sep formula end_quant .   (rule 143)
-
-    $default	reduce using rule 143 (formula)
+  152 end_quant: ')' .
 
+    $default  reduce using rule 152 (end_quant)
 
 
 state 324
 
-    relTripList  -&gt;  relTripList ',' relation ':' relation . ':' relation   (rule 17)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ':' 	shift, and go to state 340
+  142 formula: start_exists varDeclOptBrackets exists_sep formula end_quant .
 
+    $default  reduce using rule 142 (formula)
 
 
 state 325
 
-    relTripList  -&gt;  relation ':' relation ':' relation .   (rule 18)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 18 (relTripList)
+  143 formula: start_forall varDeclOptBrackets forall_sep formula end_quant .
 
+    $default  reduce using rule 143 (formula)
 
 
 state 326
 
-    relPairList  -&gt;  relPairList ',' relation ':' relation .   (rule 28)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 28 (relPairList)
-
+   17 relTripList: relTripList ',' relation ':' relation . ':' relation
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ':'              shift, and go to state 342
 
 
 state 327
 
-    partialwrite  -&gt;  STRING ',' relation .   (rule 45)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 45 (partialwrite)
-
+   18 relTripList: relation ':' relation ':' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 18 (relTripList)
 
 
 state 328
 
-    partialwrite  -&gt;  STRING '[' relation . ']' ',' relation   (rule 44)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    ']' 	shift, and go to state 341
-
+   28 relPairList: relPairList ',' relation ':' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 28 (relPairList)
 
 
 state 329
 
-    partialwrites  -&gt;  partialwrites ',' partialwrite .   (rule 42)
-
-    $default	reduce using rule 42 (partialwrites)
-
+   45 partialwrite: STRING ',' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 45 (partialwrite)
 
 
 state 330
 
-    statementInfoResult  -&gt;  UNROLL_IS INT INT INT statementInfoResult .   (rule 35)
-
-    $default	reduce using rule 35 (statementInfoResult)
-
+   44 partialwrite: STRING '[' relation . ']' ',' relation
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    ']'              shift, and go to state 343
 
 
 state 331
 
-    statementInfoResult  -&gt;  PEEL_IS INT INT relation ',' . relation statementInfoResult   (rule 37)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 342
-    reachable_of	go to state 53
+   42 partialwrites: partialwrites ',' partialwrite .
 
+    $default  reduce using rule 42 (partialwrites)
 
 
 state 332
 
-    statementInfoResult  -&gt;  PEEL_IS INT INT relation statementInfoResult .   (rule 36)
-
-    $default	reduce using rule 36 (statementInfoResult)
+   35 statementInfoResult: UNROLL_IS INT INT INT statementInfoResult .
 
+    $default  reduce using rule 35 (statementInfoResult)
 
 
 state 333
 
-    statementInfo  -&gt;  '[' STRING ',' relation ',' . partialwrites ',' reads ']'   (rule 40)
-    statementInfo  -&gt;  '[' STRING ',' relation ',' . partialwrites ']'   (rule 41)
-
-    STRING	shift, and go to state 279
-
-    partialwrites	go to state 343
-    partialwrite	go to state 281
-
+   37 statementInfoResult: PEEL_IS INT INT relation ',' . relation statementInfoResult
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 344
+    reachable_of  go to state 55
 
 
 state 334
 
-    realNodeSpecificationList  -&gt;  VAR GOES_TO VAR ':' . relation   (rule 178)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 344
-    reachable_of	go to state 53
+   36 statementInfoResult: PEEL_IS INT INT relation statementInfoResult .
 
+    $default  reduce using rule 36 (statementInfoResult)
 
 
 state 335
 
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR GOES_TO . VAR ':' relation   (rule 177)
+   40 statementInfo: '[' STRING ',' relation ',' . partialwrites ',' reads ']'
+   41              | '[' STRING ',' relation ',' . partialwrites ']'
 
-    VAR 	shift, and go to state 345
+    STRING  shift, and go to state 281
 
+    partialwrites  go to state 345
+    partialwrite   go to state 283
 
 
 state 336
 
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR ':' . relation   (rule 176)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 346
-    reachable_of	go to state 53
-
+  178 realNodeSpecificationList: VAR GOES_TO VAR ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 346
+    reachable_of  go to state 55
 
 
 state 337
 
-    argumentList  -&gt;  argumentList ',' VAR .   (rule 161)
-
-    $default	reduce using rule 161 (argumentList)
+  177 realNodeSpecificationList: realNodeSpecificationList ',' VAR GOES_TO . VAR ':' relation
 
+    VAR  shift, and go to state 347
 
 
 state 338
 
-    builtRelation  -&gt;  tupleDeclaration GOES_TO @4 tupleDeclaration @5 optionalFormula .   (rule 114)
-
-    $default	reduce using rule 114 (builtRelation)
-
+  176 realNodeSpecificationList: realNodeSpecificationList ',' VAR ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 348
+    reachable_of  go to state 55
 
 
 state 339
 
-    tupleVar  -&gt;  exp ':' exp ':' . INT   (rule 131)
-
-    INT 	shift, and go to state 347
+  161 argumentList: argumentList ',' VAR .
 
+    $default  reduce using rule 161 (argumentList)
 
 
 state 340
 
-    relTripList  -&gt;  relTripList ',' relation ':' relation ':' . relation   (rule 17)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 348
-    reachable_of	go to state 53
+  114 builtRelation: tupleDeclaration GOES_TO @4 tupleDeclaration @5 optionalFormula .
 
+    $default  reduce using rule 114 (builtRelation)
 
 
 state 341
 
-    partialwrite  -&gt;  STRING '[' relation ']' . ',' relation   (rule 44)
-
-    ',' 	shift, and go to state 349
+  131 tupleVar: exp ':' exp ':' . INT
 
+    INT  shift, and go to state 349
 
 
 state 342
 
-    statementInfoResult  -&gt;  PEEL_IS INT INT relation ',' relation . statementInfoResult   (rule 37)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    TRANS_IS	shift, and go to state 156
-    SET_MMAP	shift, and go to state 157
-    UNROLL_IS	shift, and go to state 158
-    PEEL_IS	shift, and go to state 159
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-    '[' 	shift, and go to state 160
-
-    statementInfoResult	go to state 350
-    statementInfoList	go to state 162
-    statementInfo	go to state 163
-
+   17 relTripList: relTripList ',' relation ':' relation ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 350
+    reachable_of  go to state 55
 
 
 state 343
 
-    statementInfo  -&gt;  '[' STRING ',' relation ',' partialwrites . ',' reads ']'   (rule 40)
-    statementInfo  -&gt;  '[' STRING ',' relation ',' partialwrites . ']'   (rule 41)
-    partialwrites  -&gt;  partialwrites . ',' partialwrite   (rule 42)
-
-    ',' 	shift, and go to state 351
-    ']' 	shift, and go to state 352
+   44 partialwrite: STRING '[' relation ']' . ',' relation
 
+    ','  shift, and go to state 351
 
 
 state 344
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    realNodeSpecificationList  -&gt;  VAR GOES_TO VAR ':' relation .   (rule 178)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 178 (realNodeSpecificationList)
-
+   37 statementInfoResult: PEEL_IS INT INT relation ',' relation . statementInfoResult
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    TRANS_IS         shift, and go to state 158
+    SET_MMAP         shift, and go to state 159
+    UNROLL_IS        shift, and go to state 160
+    PEEL_IS          shift, and go to state 161
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+    '['              shift, and go to state 162
+
+    statementInfoResult  go to state 352
+    statementInfoList    go to state 164
+    statementInfo        go to state 165
 
 
 state 345
 
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR GOES_TO VAR . ':' relation   (rule 177)
-
-    ':' 	shift, and go to state 353
+   40 statementInfo: '[' STRING ',' relation ',' partialwrites . ',' reads ']'
+   41              | '[' STRING ',' relation ',' partialwrites . ']'
+   42 partialwrites: partialwrites . ',' partialwrite
 
+    ','  shift, and go to state 353
+    ']'  shift, and go to state 354
 
 
 state 346
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR ':' relation .   (rule 176)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 176 (realNodeSpecificationList)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  178 realNodeSpecificationList: VAR GOES_TO VAR ':' relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 178 (realNodeSpecificationList)
 
 
 state 347
 
-    tupleVar  -&gt;  exp ':' exp ':' INT .   (rule 131)
-
-    $default	reduce using rule 131 (tupleVar)
+  177 realNodeSpecificationList: realNodeSpecificationList ',' VAR GOES_TO VAR . ':' relation
 
+    ':'  shift, and go to state 355
 
 
 state 348
 
-    relTripList  -&gt;  relTripList ',' relation ':' relation ':' relation .   (rule 17)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 17 (relTripList)
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  176 realNodeSpecificationList: realNodeSpecificationList ',' VAR ':' relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 176 (realNodeSpecificationList)
 
 
 state 349
 
-    partialwrite  -&gt;  STRING '[' relation ']' ',' . relation   (rule 44)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 354
-    reachable_of	go to state 53
+  131 tupleVar: exp ':' exp ':' INT .
 
+    $default  reduce using rule 131 (tupleVar)
 
 
 state 350
 
-    statementInfoResult  -&gt;  PEEL_IS INT INT relation ',' relation statementInfoResult .   (rule 37)
-
-    $default	reduce using rule 37 (statementInfoResult)
-
+   17 relTripList: relTripList ',' relation ':' relation ':' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 17 (relTripList)
 
 
 state 351
 
-    statementInfo  -&gt;  '[' STRING ',' relation ',' partialwrites ',' . reads ']'   (rule 40)
-    partialwrites  -&gt;  partialwrites ',' . partialwrite   (rule 42)
-
-    STRING	shift, and go to state 279
-    '[' 	shift, and go to state 355
-
-    partialwrite	go to state 329
-    reads	go to state 356
-    oneread	go to state 357
-
+   44 partialwrite: STRING '[' relation ']' ',' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 356
+    reachable_of  go to state 55
 
 
 state 352
 
-    statementInfo  -&gt;  '[' STRING ',' relation ',' partialwrites ']' .   (rule 41)
-
-    $default	reduce using rule 41 (statementInfo)
+   37 statementInfoResult: PEEL_IS INT INT relation ',' relation statementInfoResult .
 
+    $default  reduce using rule 37 (statementInfoResult)
 
 
 state 353
 
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR GOES_TO VAR ':' . relation   (rule 177)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 358
-    reachable_of	go to state 53
+   40 statementInfo: '[' STRING ',' relation ',' partialwrites ',' . reads ']'
+   42 partialwrites: partialwrites ',' . partialwrite
+
+    STRING  shift, and go to state 281
+    '['     shift, and go to state 357
 
+    partialwrite  go to state 331
+    reads         go to state 358
+    oneread       go to state 359
 
 
 state 354
 
-    partialwrite  -&gt;  STRING '[' relation ']' ',' relation .   (rule 44)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 44 (partialwrite)
+   41 statementInfo: '[' STRING ',' relation ',' partialwrites ']' .
 
+    $default  reduce using rule 41 (statementInfo)
 
 
 state 355
 
-    oneread  -&gt;  '[' . partials ']'   (rule 48)
-
-    INT 	shift, and go to state 359
-
-    partials	go to state 360
-    partial	go to state 361
-
+  177 realNodeSpecificationList: realNodeSpecificationList ',' VAR GOES_TO VAR ':' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 360
+    reachable_of  go to state 55
 
 
 state 356
 
-    statementInfo  -&gt;  '[' STRING ',' relation ',' partialwrites ',' reads . ']'   (rule 40)
-    reads  -&gt;  reads . ',' oneread   (rule 46)
-
-    ',' 	shift, and go to state 362
-    ']' 	shift, and go to state 363
-
+   44 partialwrite: STRING '[' relation ']' ',' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 44 (partialwrite)
 
 
 state 357
 
-    reads  -&gt;  oneread .   (rule 47)
+   48 oneread: '[' . partials ']'
 
-    $default	reduce using rule 47 (reads)
+    INT  shift, and go to state 361
 
+    partials  go to state 362
+    partial   go to state 363
 
 
 state 358
 
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-    realNodeSpecificationList  -&gt;  realNodeSpecificationList ',' VAR GOES_TO VAR ':' relation .   (rule 177)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 177 (realNodeSpecificationList)
+   40 statementInfo: '[' STRING ',' relation ',' partialwrites ',' reads . ']'
+   46 reads: reads . ',' oneread
 
+    ','  shift, and go to state 364
+    ']'  shift, and go to state 365
 
 
 state 359
 
-    partial  -&gt;  INT . ',' relation   (rule 51)
-
-    ',' 	shift, and go to state 364
+   47 reads: oneread .
 
+    $default  reduce using rule 47 (reads)
 
 
 state 360
 
-    oneread  -&gt;  '[' partials . ']'   (rule 48)
-    partials  -&gt;  partials . ',' partial   (rule 49)
-
-    ',' 	shift, and go to state 365
-    ']' 	shift, and go to state 366
-
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+  177 realNodeSpecificationList: realNodeSpecificationList ',' VAR GOES_TO VAR ':' relation .
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 177 (realNodeSpecificationList)
 
 
 state 361
 
-    partials  -&gt;  partial .   (rule 50)
-
-    $default	reduce using rule 50 (partials)
+   51 partial: INT . ',' relation
 
+    ','  shift, and go to state 366
 
 
 state 362
 
-    reads  -&gt;  reads ',' . oneread   (rule 46)
-
-    '[' 	shift, and go to state 355
-
-    oneread	go to state 367
+   48 oneread: '[' partials . ']'
+   49 partials: partials . ',' partial
 
+    ','  shift, and go to state 367
+    ']'  shift, and go to state 368
 
 
 state 363
 
-    statementInfo  -&gt;  '[' STRING ',' relation ',' partialwrites ',' reads ']' .   (rule 40)
-
-    $default	reduce using rule 40 (statementInfo)
+   50 partials: partial .
 
+    $default  reduce using rule 50 (partials)
 
 
 state 364
 
-    partial  -&gt;  INT ',' . relation   (rule 51)
-
-    VAR 	shift, and go to state 60
-    OPEN_BRACE	shift, and go to state 4
-    APPROX	shift, and go to state 6
-    DOMAIN	shift, and go to state 7
-    RANGE	shift, and go to state 8
-    DIFFERENCE	shift, and go to state 9
-    DIFFERENCE_TO_RELATION	shift, and go to state 10
-    GIST	shift, and go to state 11
-    HULL	shift, and go to state 12
-    MAXIMIZE	shift, and go to state 13
-    MINIMIZE	shift, and go to state 14
-    AFFINE_HULL	shift, and go to state 15
-    VENN	shift, and go to state 16
-    CONVEX_COMBINATION	shift, and go to state 17
-    POSITIVE_COMBINATION	shift, and go to state 18
-    CONVEX_HULL	shift, and go to state 19
-    CONIC_HULL	shift, and go to state 20
-    LINEAR_HULL	shift, and go to state 21
-    PAIRWISE_CHECK	shift, and go to state 22
-    CONVEX_CHECK	shift, and go to state 23
-    MAXIMIZE_RANGE	shift, and go to state 24
-    MINIMIZE_RANGE	shift, and go to state 25
-    MAXIMIZE_DOMAIN	shift, and go to state 26
-    MINIMIZE_DOMAIN	shift, and go to state 27
-    INVERSE	shift, and go to state 28
-    COMPLEMENT	shift, and go to state 29
-    DECOUPLED_FARKAS	shift, and go to state 34
-    FARKAS	shift, and go to state 35
-    MAKE_UPPER_BOUND	shift, and go to state 37
-    MAKE_LOWER_BOUND	shift, and go to state 38
-    SUPERSETOF	shift, and go to state 39
-    SUBSETOF	shift, and go to state 40
-    SAMPLE	shift, and go to state 41
-    SYM_SAMPLE	shift, and go to state 42
-    PROJECT_AWAY_SYMBOLS	shift, and go to state 43
-    PROJECT_ON_SYMBOLS	shift, and go to state 44
-    REACHABLE_OF	shift, and go to state 46
-    ASSERT_UNSAT	shift, and go to state 47
-    '(' 	shift, and go to state 48
-
-    relation	go to state 368
-    reachable_of	go to state 53
+   46 reads: reads ',' . oneread
 
+    '['  shift, and go to state 357
 
+    oneread  go to state 369
 
-state 365
-
-    partials  -&gt;  partials ',' . partial   (rule 49)
 
-    INT 	shift, and go to state 359
+state 365
 
-    partial	go to state 369
+   40 statementInfo: '[' STRING ',' relation ',' partialwrites ',' reads ']' .
 
+    $default  reduce using rule 40 (statementInfo)
 
 
 state 366
 
-    oneread  -&gt;  '[' partials ']' .   (rule 48)
-
-    $default	reduce using rule 48 (oneread)
-
+   51 partial: INT ',' . relation
+
+    VAR                     shift, and go to state 62
+    OPEN_BRACE              shift, and go to state 6
+    APPROX                  shift, and go to state 8
+    DOMAIN                  shift, and go to state 9
+    RANGE                   shift, and go to state 10
+    DIFFERENCE              shift, and go to state 11
+    DIFFERENCE_TO_RELATION  shift, and go to state 12
+    GIST                    shift, and go to state 13
+    HULL                    shift, and go to state 14
+    MAXIMIZE                shift, and go to state 15
+    MINIMIZE                shift, and go to state 16
+    AFFINE_HULL             shift, and go to state 17
+    VENN                    shift, and go to state 18
+    CONVEX_COMBINATION      shift, and go to state 19
+    POSITIVE_COMBINATION    shift, and go to state 20
+    CONVEX_HULL             shift, and go to state 21
+    CONIC_HULL              shift, and go to state 22
+    LINEAR_HULL             shift, and go to state 23
+    PAIRWISE_CHECK          shift, and go to state 24
+    CONVEX_CHECK            shift, and go to state 25
+    MAXIMIZE_RANGE          shift, and go to state 26
+    MINIMIZE_RANGE          shift, and go to state 27
+    MAXIMIZE_DOMAIN         shift, and go to state 28
+    MINIMIZE_DOMAIN         shift, and go to state 29
+    INVERSE                 shift, and go to state 30
+    COMPLEMENT              shift, and go to state 31
+    DECOUPLED_FARKAS        shift, and go to state 36
+    FARKAS                  shift, and go to state 37
+    MAKE_UPPER_BOUND        shift, and go to state 39
+    MAKE_LOWER_BOUND        shift, and go to state 40
+    SUPERSETOF              shift, and go to state 41
+    SUBSETOF                shift, and go to state 42
+    SAMPLE                  shift, and go to state 43
+    SYM_SAMPLE              shift, and go to state 44
+    PROJECT_AWAY_SYMBOLS    shift, and go to state 45
+    PROJECT_ON_SYMBOLS      shift, and go to state 46
+    REACHABLE_OF            shift, and go to state 48
+    ASSERT_UNSAT            shift, and go to state 49
+    '('                     shift, and go to state 50
+
+    relation      go to state 370
+    reachable_of  go to state 55
 
 
 state 367
 
-    reads  -&gt;  reads ',' oneread .   (rule 46)
+   49 partials: partials ',' . partial
 
-    $default	reduce using rule 46 (reads)
+    INT  shift, and go to state 361
 
+    partial  go to state 371
 
 
 state 368
 
-    partial  -&gt;  INT ',' relation .   (rule 51)
-    relation  -&gt;  relation . '+'   (rule 60)
-    relation  -&gt;  relation . '*'   (rule 61)
-    relation  -&gt;  relation . '+' WITHIN relation   (rule 62)
-    relation  -&gt;  relation . '@'   (rule 71)
-    relation  -&gt;  relation . '(' relation ')'   (rule 94)
-    relation  -&gt;  relation . COMPOSE relation   (rule 95)
-    relation  -&gt;  relation . CARRIED_BY INT   (rule 96)
-    relation  -&gt;  relation . JOIN relation   (rule 97)
-    relation  -&gt;  relation . RESTRICT_RANGE relation   (rule 98)
-    relation  -&gt;  relation . RESTRICT_DOMAIN relation   (rule 99)
-    relation  -&gt;  relation . INTERSECTION relation   (rule 100)
-    relation  -&gt;  relation . '-' relation   (rule 101)
-    relation  -&gt;  relation . UNION relation   (rule 102)
-    relation  -&gt;  relation . '*' relation   (rule 103)
-
-    COMPOSE	shift, and go to state 109
-    JOIN	shift, and go to state 110
-    CARRIED_BY	shift, and go to state 111
-    UNION	shift, and go to state 112
-    INTERSECTION	shift, and go to state 113
-    RESTRICT_DOMAIN	shift, and go to state 115
-    RESTRICT_RANGE	shift, and go to state 116
-    '+' 	shift, and go to state 117
-    '-' 	shift, and go to state 118
-    '*' 	shift, and go to state 119
-    '@' 	shift, and go to state 120
-    '(' 	shift, and go to state 121
-
-    $default	reduce using rule 51 (partial)
+   48 oneread: '[' partials ']' .
 
+    $default  reduce using rule 48 (oneread)
 
 
 state 369
 
-    partials  -&gt;  partials ',' partial .   (rule 49)
-
-    $default	reduce using rule 49 (partials)
+   46 reads: reads ',' oneread .
 
+    $default  reduce using rule 46 (reads)
 
 
 state 370
 
-    $   	go to state 371
-
+   51 partial: INT ',' relation .
+   60 relation: relation . '+'
+   61         | relation . '*'
+   62         | relation . '+' WITHIN relation
+   71         | relation . '@'
+   94         | relation . '(' relation ')'
+   95         | relation . COMPOSE relation
+   96         | relation . CARRIED_BY INT
+   97         | relation . JOIN relation
+   98         | relation . RESTRICT_RANGE relation
+   99         | relation . RESTRICT_DOMAIN relation
+  100         | relation . INTERSECTION relation
+  101         | relation . '-' relation
+  102         | relation . UNION relation
+  103         | relation . '*' relation
+
+    COMPOSE          shift, and go to state 111
+    JOIN             shift, and go to state 112
+    CARRIED_BY       shift, and go to state 113
+    UNION            shift, and go to state 114
+    INTERSECTION     shift, and go to state 115
+    RESTRICT_DOMAIN  shift, and go to state 117
+    RESTRICT_RANGE   shift, and go to state 118
+    '+'              shift, and go to state 119
+    '-'              shift, and go to state 120
+    '*'              shift, and go to state 121
+    '@'              shift, and go to state 122
+    '('              shift, and go to state 123
+
+    $default  reduce using rule 51 (partial)
 
 
 state 371
 
-    $   	go to state 372
-
-
-
-state 372
+   49 partials: partials ',' partial .
 
-    $default	accept
+    $default  reduce using rule 49 (partials)</diff>
      <filename>omega_calc/obj/y.output</filename>
    </modified>
    <modified>
      <diff>@@ -1,102 +1,251 @@
+/* A Bison parser, made by GNU Bison 2.1.  */
 
-/*  A Bison parser, made from ../src/parser.y
- by  GNU Bison version 1.25
-  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-#define	VAR	258
-#define	INT	259
-#define	STRING	260
-#define	OPEN_BRACE	261
-#define	CLOSE_BRACE	262
-#define	SYMBOLIC	263
-#define	OR	264
-#define	AND	265
-#define	NOT	266
-#define	ST	267
-#define	APPROX	268
-#define	IS_ASSIGNED	269
-#define	FORALL	270
-#define	EXISTS	271
-#define	DOMAIN	272
-#define	RANGE	273
-#define	DIFFERENCE	274
-#define	DIFFERENCE_TO_RELATION	275
-#define	GIST	276
-#define	GIVEN	277
-#define	HULL	278
-#define	WITHIN	279
-#define	MAXIMIZE	280
-#define	MINIMIZE	281
-#define	AFFINE_HULL	282
-#define	VENN	283
-#define	CONVEX_COMBINATION	284
-#define	POSITIVE_COMBINATION	285
-#define	CONVEX_HULL	286
-#define	CONIC_HULL	287
-#define	LINEAR_HULL	288
-#define	PAIRWISE_CHECK	289
-#define	CONVEX_CHECK	290
-#define	MAXIMIZE_RANGE	291
-#define	MINIMIZE_RANGE	292
-#define	MAXIMIZE_DOMAIN	293
-#define	MINIMIZE_DOMAIN	294
-#define	LEQ	295
-#define	GEQ	296
-#define	NEQ	297
-#define	GOES_TO	298
-#define	COMPOSE	299
-#define	JOIN	300
-#define	INVERSE	301
-#define	COMPLEMENT	302
-#define	IN	303
-#define	CARRIED_BY	304
-#define	TIME	305
-#define	TIMECLOSURE	306
-#define	UNION	307
-#define	INTERSECTION	308
-#define	VERTICAL_BAR	309
-#define	SUCH_THAT	310
-#define	SUBSET	311
-#define	ITERATIONS	312
-#define	SPMD	313
-#define	CODEGEN	314
-#define	DECOUPLED_FARKAS	315
-#define	FARKAS	316
-#define	TCODEGEN	317
-#define	TRANS_IS	318
-#define	SET_MMAP	319
-#define	UNROLL_IS	320
-#define	PEEL_IS	321
-#define	MAKE_UPPER_BOUND	322
-#define	MAKE_LOWER_BOUND	323
-#define	REL_OP	324
-#define	RESTRICT_DOMAIN	325
-#define	RESTRICT_RANGE	326
-#define	SUPERSETOF	327
-#define	SUBSETOF	328
-#define	SAMPLE	329
-#define	SYM_SAMPLE	330
-#define	PROJECT_AWAY_SYMBOLS	331
-#define	PROJECT_ON_SYMBOLS	332
-#define	REACHABLE_FROM	333
-#define	REACHABLE_OF	334
-#define	ASSERT_UNSAT	335
-#define	PARSE_EXPRESSION	336
-#define	PARSE_FORMULA	337
-#define	PARSE_RELATION	338
-#define	p1	339
-#define	p2	340
-#define	p3	341
-#define	p4	342
-#define	p5	343
-#define	p6	344
-#define	p7	345
-#define	p8	346
-#define	p9	347
-#define	p10	348
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted &quot;INFRINGES ON
+   USER NAME SPACE&quot; below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION &quot;2.1&quot;
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME &quot;yacc.c&quot;
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     VAR = 258,
+     INT = 259,
+     STRING = 260,
+     OPEN_BRACE = 261,
+     CLOSE_BRACE = 262,
+     SYMBOLIC = 263,
+     OR = 264,
+     AND = 265,
+     NOT = 266,
+     ST = 267,
+     APPROX = 268,
+     IS_ASSIGNED = 269,
+     FORALL = 270,
+     EXISTS = 271,
+     DOMAIN = 272,
+     RANGE = 273,
+     DIFFERENCE = 274,
+     DIFFERENCE_TO_RELATION = 275,
+     GIST = 276,
+     GIVEN = 277,
+     HULL = 278,
+     WITHIN = 279,
+     MAXIMIZE = 280,
+     MINIMIZE = 281,
+     AFFINE_HULL = 282,
+     VENN = 283,
+     CONVEX_COMBINATION = 284,
+     POSITIVE_COMBINATION = 285,
+     CONVEX_HULL = 286,
+     CONIC_HULL = 287,
+     LINEAR_HULL = 288,
+     PAIRWISE_CHECK = 289,
+     CONVEX_CHECK = 290,
+     MAXIMIZE_RANGE = 291,
+     MINIMIZE_RANGE = 292,
+     MAXIMIZE_DOMAIN = 293,
+     MINIMIZE_DOMAIN = 294,
+     LEQ = 295,
+     GEQ = 296,
+     NEQ = 297,
+     GOES_TO = 298,
+     COMPOSE = 299,
+     JOIN = 300,
+     INVERSE = 301,
+     COMPLEMENT = 302,
+     IN = 303,
+     CARRIED_BY = 304,
+     TIME = 305,
+     TIMECLOSURE = 306,
+     UNION = 307,
+     INTERSECTION = 308,
+     VERTICAL_BAR = 309,
+     SUCH_THAT = 310,
+     SUBSET = 311,
+     ITERATIONS = 312,
+     SPMD = 313,
+     CODEGEN = 314,
+     DECOUPLED_FARKAS = 315,
+     FARKAS = 316,
+     TCODEGEN = 317,
+     TRANS_IS = 318,
+     SET_MMAP = 319,
+     UNROLL_IS = 320,
+     PEEL_IS = 321,
+     MAKE_UPPER_BOUND = 322,
+     MAKE_LOWER_BOUND = 323,
+     REL_OP = 324,
+     RESTRICT_DOMAIN = 325,
+     RESTRICT_RANGE = 326,
+     SUPERSETOF = 327,
+     SUBSETOF = 328,
+     SAMPLE = 329,
+     SYM_SAMPLE = 330,
+     PROJECT_AWAY_SYMBOLS = 331,
+     PROJECT_ON_SYMBOLS = 332,
+     REACHABLE_FROM = 333,
+     REACHABLE_OF = 334,
+     ASSERT_UNSAT = 335,
+     PARSE_EXPRESSION = 336,
+     PARSE_FORMULA = 337,
+     PARSE_RELATION = 338,
+     p1 = 339,
+     p2 = 340,
+     p3 = 341,
+     p4 = 342,
+     p5 = 343,
+     p6 = 344,
+     p7 = 345,
+     p8 = 346,
+     p9 = 347,
+     p10 = 348
+   };
+#endif
+/* Tokens.  */
+#define VAR 258
+#define INT 259
+#define STRING 260
+#define OPEN_BRACE 261
+#define CLOSE_BRACE 262
+#define SYMBOLIC 263
+#define OR 264
+#define AND 265
+#define NOT 266
+#define ST 267
+#define APPROX 268
+#define IS_ASSIGNED 269
+#define FORALL 270
+#define EXISTS 271
+#define DOMAIN 272
+#define RANGE 273
+#define DIFFERENCE 274
+#define DIFFERENCE_TO_RELATION 275
+#define GIST 276
+#define GIVEN 277
+#define HULL 278
+#define WITHIN 279
+#define MAXIMIZE 280
+#define MINIMIZE 281
+#define AFFINE_HULL 282
+#define VENN 283
+#define CONVEX_COMBINATION 284
+#define POSITIVE_COMBINATION 285
+#define CONVEX_HULL 286
+#define CONIC_HULL 287
+#define LINEAR_HULL 288
+#define PAIRWISE_CHECK 289
+#define CONVEX_CHECK 290
+#define MAXIMIZE_RANGE 291
+#define MINIMIZE_RANGE 292
+#define MAXIMIZE_DOMAIN 293
+#define MINIMIZE_DOMAIN 294
+#define LEQ 295
+#define GEQ 296
+#define NEQ 297
+#define GOES_TO 298
+#define COMPOSE 299
+#define JOIN 300
+#define INVERSE 301
+#define COMPLEMENT 302
+#define IN 303
+#define CARRIED_BY 304
+#define TIME 305
+#define TIMECLOSURE 306
+#define UNION 307
+#define INTERSECTION 308
+#define VERTICAL_BAR 309
+#define SUCH_THAT 310
+#define SUBSET 311
+#define ITERATIONS 312
+#define SPMD 313
+#define CODEGEN 314
+#define DECOUPLED_FARKAS 315
+#define FARKAS 316
+#define TCODEGEN 317
+#define TRANS_IS 318
+#define SET_MMAP 319
+#define UNROLL_IS 320
+#define PEEL_IS 321
+#define MAKE_UPPER_BOUND 322
+#define MAKE_LOWER_BOUND 323
+#define REL_OP 324
+#define RESTRICT_DOMAIN 325
+#define RESTRICT_RANGE 326
+#define SUPERSETOF 327
+#define SUBSETOF 328
+#define SAMPLE 329
+#define SYM_SAMPLE 330
+#define PROJECT_AWAY_SYMBOLS 331
+#define PROJECT_ON_SYMBOLS 332
+#define REACHABLE_FROM 333
+#define REACHABLE_OF 334
+#define ASSERT_UNSAT 335
+#define PARSE_EXPRESSION 336
+#define PARSE_FORMULA 337
+#define PARSE_RELATION 338
+#define p1 339
+#define p2 340
+#define p3 341
+#define p4 342
+#define p5 343
+#define p6 344
+#define p7 345
+#define p8 346
+#define p9 347
+#define p10 348
+
+
+
+
+/* Copy the first part of user declarations.  */
 #line 1 &quot;../src/parser.y&quot;
 
 
@@ -123,6 +272,12 @@
 
 #define DEBUG_FILE_NAME &quot;./oc.out&quot;
 
+/* Can only do the following when &quot;using namespace omega&quot;
+   is also put before the inclusion of y.tab.h in parser.l.
+*/
+using omega::min;
+using omega::negate;
+using namespace omega;
 
 Map&lt;Const_String,Relation*&gt; relationMap ((Relation *)0);
 static int redundant_conj_level;
@@ -132,6 +287,7 @@ void free(void *p);
 void *realloc(void *p, size_t s);
 #endif
 
+namespace omega {
 #if !defined(OMIT_GETRUSAGE)
 void start_clock( void );
 int clock_diff( void );
@@ -143,14 +299,34 @@ int tuplePos = 0;
 Argument_Tuple currentTuple = Input_Tuple;
 
 Relation LexForward(int n);
-
+} // end namespace omega
 
 reachable_information *reachable_info;
 
 
 
-#line 123 &quot;../src/parser.y&quot;
-typedef union {
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined (YYSTYPE) &amp;&amp; ! defined (YYSTYPE_IS_DECLARED)
+#line 130 &quot;../src/parser.y&quot;
+typedef union YYSTYPE {
 	int INT_VALUE;
 	Rel_Op REL_OPERATOR;
 	char *VAR_NAME;
@@ -176,799 +352,1264 @@ typedef union {
 	MMap *MMAP;
 	PartialMMap *PMMAP;
 	} YYSTYPE;
-#include &lt;stdio.h&gt;
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
+/* Line 196 of yacc.c.  */
+#line 357 &quot;y.tab.c&quot;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
 
 
-#define	YYFINAL		372
-#define	YYFLAG		-32768
-#define	YYNTBASE	105
-
-#define YYTRANSLATE(x) ((unsigned)(x) &lt;= 348 ? yytranslate[x] : 158)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,    97,
-   104,    89,    85,   100,    86,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,   101,    99,     2,
-     2,     2,     2,    90,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-   102,     2,   103,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
-     6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-    16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-    26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-    36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-    56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-    66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-    76,    77,    78,    79,    80,    81,    82,    83,    84,    87,
-    88,    91,    92,    93,    94,    95,    96,    98
-};
+/* Copy the second part of user declarations.  */
 
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     1,     4,     6,     7,    11,    14,    18,    23,    26,
-    30,    34,    39,    45,    51,    56,    59,    67,    73,    74,
-    76,    79,    83,    84,    86,    89,    90,    93,    99,   103,
-   107,   109,   111,   115,   120,   126,   132,   140,   142,   146,
-   156,   164,   168,   170,   177,   181,   185,   187,   191,   195,
-   197,   201,   205,   207,   212,   214,   215,   220,   222,   226,
-   229,   232,   237,   240,   243,   246,   249,   252,   255,   258,
-   261,   264,   267,   270,   273,   276,   279,   282,   287,   290,
-   293,   296,   299,   302,   305,   308,   311,   314,   319,   322,
-   325,   328,   331,   336,   341,   345,   349,   353,   357,   361,
-   365,   369,   373,   377,   380,   383,   386,   389,   392,   395,
-   397,   400,   401,   402,   409,   412,   414,   417,   418,   420,
-   422,   424,   425,   430,   432,   436,   437,   439,   441,   443,
-   447,   453,   457,   459,   461,   463,   467,   471,   475,   477,
-   481,   484,   490,   496,   499,   502,   504,   506,   508,   511,
-   514,   516,   518,   522,   524,   528,   532,   534,   535,   541,
-   545,   549,   551,   553,   556,   558,   561,   565,   569,   573,
-   577,   583,   587,   591,   593,   597,   603,   611,   617
-};
 
-static const short yyrhs[] = {    -1,
-   106,   107,     0,   109,     0,     0,   107,   108,   109,     0,
-     1,    99,     0,     8,   124,    99,     0,     3,    14,   126,
-    99,     0,   126,    99,     0,    50,   126,    99,     0,    51,
-   126,    99,     0,   126,    56,   126,    99,     0,    59,   112,
-   114,   113,    99,     0,    62,   112,   115,   113,    99,     0,
-    58,   111,   110,    99,     0,   152,    99,     0,   110,   100,
-   126,   101,   126,   101,   126,     0,   126,   101,   126,   101,
-   126,     0,     0,     4,     0,     4,     4,     0,     4,     4,
-     4,     0,     0,     4,     0,    86,     4,     0,     0,    22,
-   126,     0,   114,   100,   126,   101,   126,     0,   114,   100,
-   126,     0,   126,   101,   126,     0,   126,     0,   116,     0,
-    63,   126,   115,     0,    64,     4,   118,   115,     0,    65,
-     4,     4,     4,   115,     0,    66,     4,     4,   126,   115,
-     0,    66,     4,     4,   126,   100,   126,   115,     0,   117,
-     0,   116,   100,   117,     0,   102,     5,   100,   126,   100,
-   118,   100,   120,   103,     0,   102,     5,   100,   126,   100,
-   118,   103,     0,   118,   100,   119,     0,   119,     0,     5,
-   102,   126,   103,   100,   126,     0,     5,   100,   126,     0,
-   120,   100,   121,     0,   121,     0,   102,   122,   103,     0,
-   122,   100,   123,     0,   123,     0,     4,   100,   126,     0,
-   124,   100,   125,     0,   125,     0,     3,    97,     4,   104,
-     0,     3,     0,     0,     6,   127,   128,     7,     0,     3,
-     0,    97,   126,   104,     0,   126,    85,     0,   126,    89,
-     0,   126,    85,    24,   126,     0,    37,   126,     0,    36,
-   126,     0,    39,   126,     0,    38,   126,     0,    25,   126,
-     0,    26,   126,     0,    61,   126,     0,    60,   126,     0,
-   126,    90,     0,    76,   126,     0,    77,   126,     0,    19,
-   126,     0,    20,   126,     0,    17,   126,     0,    28,   126,
-     0,    28,   126,    22,   126,     0,    31,   126,     0,    30,
-   126,     0,    29,   126,     0,    34,   126,     0,    35,   126,
-     0,    27,   126,     0,    32,   126,     0,    33,   126,     0,
-    23,   126,     0,    23,   126,    22,   126,     0,    13,   126,
-     0,    18,   126,     0,    46,   126,     0,    47,   126,     0,
-    21,   126,    22,   126,     0,   126,    97,   126,   104,     0,
-   126,    44,   126,     0,   126,    49,     4,     0,   126,    45,
-   126,     0,   126,    71,   126,     0,   126,    70,   126,     0,
-   126,    53,   126,     0,   126,    86,   126,     0,   126,    52,
-   126,     0,   126,    89,   126,     0,    72,   126,     0,    73,
-   126,     0,    67,   126,     0,    68,   126,     0,    74,   126,
-     0,    75,   126,     0,   153,     0,    80,   126,     0,     0,
-     0,   133,    43,   129,   133,   130,   131,     0,   133,   131,
-     0,   140,     0,   132,   140,     0,     0,   101,     0,    54,
-     0,    55,     0,     0,   134,   102,   135,   103,     0,   136,
-     0,   135,   100,   136,     0,     0,     3,     0,    89,     0,
-   151,     0,   151,   101,   151,     0,   151,   101,   151,   101,
-     4,     0,   137,   100,     3,     0,     3,     0,   137,     0,
-   138,     0,   102,   138,   103,     0,   140,    10,   140,     0,
-   140,     9,   140,     0,   147,     0,    97,   140,   104,     0,
-    11,   140,     0,   141,   139,   142,   140,   145,     0,   143,
-   139,   144,   140,   145,     0,    97,    16,     0,    16,    97,
-     0,   101,     0,    54,     0,    55,     0,    97,    15,     0,
-    15,    97,     0,   101,     0,   104,     0,   151,   100,   146,
-     0,   151,     0,   146,    69,   146,     0,   146,    69,   147,
-     0,     3,     0,     0,     3,    97,   149,   150,   104,     0,
-    97,   151,   104,     0,   150,   100,     3,     0,     3,     0,
-     4,     0,     4,   148,     0,   148,     0,    86,   151,     0,
-   151,    85,   151,     0,   151,    86,   151,     0,   151,    89,
-   151,     0,    78,   154,   156,     0,    79,     3,    48,   154,
-   156,     0,    97,   155,   104,     0,   155,   100,     3,     0,
-     3,     0,     6,   157,     7,     0,   157,   100,     3,   101,
-   126,     0,   157,   100,     3,    43,     3,   101,   126,     0,
-     3,    43,     3,   101,   126,     0,     3,   101,   126,     0
-};
+/* Line 219 of yacc.c.  */
+#line 369 &quot;y.tab.c&quot;
 
+#if ! defined (YYSIZE_T) &amp;&amp; defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) &amp;&amp; defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T) &amp;&amp; (defined (__STDC__) || defined (__cplusplus))
+# include &lt;stddef.h&gt; /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
 #endif
 
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-   154,   156,   158,   159,   161,   163,   176,   179,   188,   196,
-   280,   368,   375,   383,   400,   428,   446,   456,   469,   470,
-   471,   472,   475,   476,   477,   480,   482,   485,   495,   504,
-   515,   527,   534,   538,   542,   544,   548,   555,   558,   563,
-   569,   577,   581,   586,   592,   599,   602,   607,   610,   613,
-   618,   624,   625,   628,   630,   634,   637,   646,   656,   657,
-   662,   669,   675,   684,   693,   702,   711,   721,   731,   737,
-   743,   748,   753,   758,   763,   768,   773,   778,   784,   789,
-   794,   799,   804,   809,   814,   819,   824,   829,   835,   840,
-   845,   850,   855,   861,   867,   873,   879,   885,   891,   897,
-   903,   909,   915,   921,   926,   931,   936,   941,   946,   951,
-   952,   965,   967,   967,   993,  1010,  1019,  1020,  1023,  1024,
-  1025,  1028,  1030,  1034,  1036,  1037,  1040,  1054,  1056,  1058,
-  1060,  1065,  1066,  1070,  1080,  1081,  1084,  1085,  1086,  1087,
-  1088,  1089,  1091,  1095,  1096,  1099,  1100,  1101,  1104,  1105,
-  1108,  1111,  1115,  1120,  1126,  1128,  1132,  1139,  1139,  1150,
-  1155,  1167,  1179,  1180,  1181,  1182,  1183,  1184,  1185,  1189,
-  1198,  1214,  1222,  1225,  1231,  1281,  1290,  1301,  1312
-};
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include &lt;libintl.h&gt; /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext (&quot;bison-runtime&quot;, msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
 #endif
 
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if defined (__STDC__) || defined (__cplusplus)
+#     include &lt;stdlib.h&gt; /* INFRINGES ON USER NAME SPACE */
+#     define YYINCLUDED_STDLIB_H
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
+#  endif
+#  ifdef __cplusplus
+extern &quot;C&quot; {
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if (! defined (malloc) &amp;&amp; ! defined (YYINCLUDED_STDLIB_H) \
+	&amp;&amp; (defined (__STDC__) || defined (__cplusplus)))
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if (! defined (free) &amp;&amp; ! defined (YYINCLUDED_STDLIB_H) \
+	&amp;&amp; (defined (__STDC__) || defined (__cplusplus)))
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifdef __cplusplus
+}
+#  endif
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     &amp;&amp; (! defined (__cplusplus) \
+	 || (defined (YYSTYPE_IS_TRIVIAL) &amp;&amp; YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short int yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined (__GNUC__) &amp;&amp; 1 &lt; __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi &lt; (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&amp;yyptr-&gt;Stack, Stack, yysize);				\
+	Stack = &amp;yyptr-&gt;Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
 
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   &quot;$&quot;,&quot;error&quot;,&quot;$undefined.&quot;,&quot;VAR&quot;,&quot;INT&quot;,
-&quot;STRING&quot;,&quot;OPEN_BRACE&quot;,&quot;CLOSE_BRACE&quot;,&quot;SYMBOLIC&quot;,&quot;OR&quot;,&quot;AND&quot;,&quot;NOT&quot;,&quot;ST&quot;,&quot;APPROX&quot;,
-&quot;IS_ASSIGNED&quot;,&quot;FORALL&quot;,&quot;EXISTS&quot;,&quot;DOMAIN&quot;,&quot;RANGE&quot;,&quot;DIFFERENCE&quot;,&quot;DIFFERENCE_TO_RELATION&quot;,
-&quot;GIST&quot;,&quot;GIVEN&quot;,&quot;HULL&quot;,&quot;WITHIN&quot;,&quot;MAXIMIZE&quot;,&quot;MINIMIZE&quot;,&quot;AFFINE_HULL&quot;,&quot;VENN&quot;,&quot;CONVEX_COMBINATION&quot;,
-&quot;POSITIVE_COMBINATION&quot;,&quot;CONVEX_HULL&quot;,&quot;CONIC_HULL&quot;,&quot;LINEAR_HULL&quot;,&quot;PAIRWISE_CHECK&quot;,
-&quot;CONVEX_CHECK&quot;,&quot;MAXIMIZE_RANGE&quot;,&quot;MINIMIZE_RANGE&quot;,&quot;MAXIMIZE_DOMAIN&quot;,&quot;MINIMIZE_DOMAIN&quot;,
-&quot;LEQ&quot;,&quot;GEQ&quot;,&quot;NEQ&quot;,&quot;GOES_TO&quot;,&quot;COMPOSE&quot;,&quot;JOIN&quot;,&quot;INVERSE&quot;,&quot;COMPLEMENT&quot;,&quot;IN&quot;,&quot;CARRIED_BY&quot;,
-&quot;TIME&quot;,&quot;TIMECLOSURE&quot;,&quot;UNION&quot;,&quot;INTERSECTION&quot;,&quot;VERTICAL_BAR&quot;,&quot;SUCH_THAT&quot;,&quot;SUBSET&quot;,
-&quot;ITERATIONS&quot;,&quot;SPMD&quot;,&quot;CODEGEN&quot;,&quot;DECOUPLED_FARKAS&quot;,&quot;FARKAS&quot;,&quot;TCODEGEN&quot;,&quot;TRANS_IS&quot;,
-&quot;SET_MMAP&quot;,&quot;UNROLL_IS&quot;,&quot;PEEL_IS&quot;,&quot;MAKE_UPPER_BOUND&quot;,&quot;MAKE_LOWER_BOUND&quot;,&quot;REL_OP&quot;,
-&quot;RESTRICT_DOMAIN&quot;,&quot;RESTRICT_RANGE&quot;,&quot;SUPERSETOF&quot;,&quot;SUBSETOF&quot;,&quot;SAMPLE&quot;,&quot;SYM_SAMPLE&quot;,
-&quot;PROJECT_AWAY_SYMBOLS&quot;,&quot;PROJECT_ON_SYMBOLS&quot;,&quot;REACHABLE_FROM&quot;,&quot;REACHABLE_OF&quot;,
-&quot;ASSERT_UNSAT&quot;,&quot;PARSE_EXPRESSION&quot;,&quot;PARSE_FORMULA&quot;,&quot;PARSE_RELATION&quot;,&quot;p1&quot;,&quot;'+'&quot;,
-&quot;'-'&quot;,&quot;p2&quot;,&quot;p3&quot;,&quot;'*'&quot;,&quot;'@'&quot;,&quot;p4&quot;,&quot;p5&quot;,&quot;p6&quot;,&quot;p7&quot;,&quot;p8&quot;,&quot;p9&quot;,&quot;'('&quot;,&quot;p10&quot;,&quot;';'&quot;,
-&quot;','&quot;,&quot;':'&quot;,&quot;'['&quot;,&quot;']'&quot;,&quot;')'&quot;,&quot;start&quot;,&quot;@1&quot;,&quot;inputSequence&quot;,&quot;@2&quot;,&quot;inputItem&quot;,
-&quot;relTripList&quot;,&quot;blockAndProcsAndEffort&quot;,&quot;effort&quot;,&quot;context&quot;,&quot;relPairList&quot;,&quot;statementInfoResult&quot;,
-&quot;statementInfoList&quot;,&quot;statementInfo&quot;,&quot;partialwrites&quot;,&quot;partialwrite&quot;,&quot;reads&quot;,&quot;oneread&quot;,
-&quot;partials&quot;,&quot;partial&quot;,&quot;globVarList&quot;,&quot;globVar&quot;,&quot;relation&quot;,&quot;@3&quot;,&quot;builtRelation&quot;,
-&quot;@4&quot;,&quot;@5&quot;,&quot;optionalFormula&quot;,&quot;formula_sep&quot;,&quot;tupleDeclaration&quot;,&quot;@6&quot;,&quot;optionalTupleVarList&quot;,
-&quot;tupleVar&quot;,&quot;varList&quot;,&quot;varDecl&quot;,&quot;varDeclOptBrackets&quot;,&quot;formula&quot;,&quot;start_exists&quot;,
-&quot;exists_sep&quot;,&quot;start_forall&quot;,&quot;forall_sep&quot;,&quot;end_quant&quot;,&quot;expList&quot;,&quot;constraintChain&quot;,
-&quot;simpleExp&quot;,&quot;@7&quot;,&quot;argumentList&quot;,&quot;exp&quot;,&quot;reachable&quot;,&quot;reachable_of&quot;,&quot;nodeNameList&quot;,
-&quot;realNodeNameList&quot;,&quot;nodeSpecificationList&quot;,&quot;realNodeSpecificationList&quot;, NULL
-};
 #endif
 
-static const short yyr1[] = {     0,
-   106,   105,   107,   108,   107,   109,   109,   109,   109,   109,
-   109,   109,   109,   109,   109,   109,   110,   110,   111,   111,
-   111,   111,   112,   112,   112,   113,   113,   114,   114,   114,
-   114,   115,   115,   115,   115,   115,   115,   116,   116,   117,
-   117,   118,   118,   119,   119,   120,   120,   121,   122,   122,
-   123,   124,   124,   125,   125,   127,   126,   126,   126,   126,
-   126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-   126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-   126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-   126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-   126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-   126,   129,   130,   128,   128,   128,   131,   131,   132,   132,
-   132,   134,   133,   135,   135,   135,   136,   136,   136,   136,
-   136,   137,   137,   138,   139,   139,   140,   140,   140,   140,
-   140,   140,   140,   141,   141,   142,   142,   142,   143,   143,
-   144,   145,   146,   146,   147,   147,   148,   149,   148,   148,
-   150,   150,   151,   151,   151,   151,   151,   151,   151,   152,
-   153,   154,   155,   155,   156,   157,   157,   157,   157
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short int yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  3
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   874
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  105
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  54
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  180
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  372
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   348
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) &lt;= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+      97,   104,    88,    84,   100,    85,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   101,    99,
+       2,     2,     2,     2,    89,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,   102,     2,   103,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    86,
+      87,    90,    91,    92,    93,    94,    95,    96,    98
 };
 
-static const short yyr2[] = {     0,
-     0,     2,     1,     0,     3,     2,     3,     4,     2,     3,
-     3,     4,     5,     5,     4,     2,     7,     5,     0,     1,
-     2,     3,     0,     1,     2,     0,     2,     5,     3,     3,
-     1,     1,     3,     4,     5,     5,     7,     1,     3,     9,
-     7,     3,     1,     6,     3,     3,     1,     3,     3,     1,
-     3,     3,     1,     4,     1,     0,     4,     1,     3,     2,
-     2,     4,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     4,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     4,     2,     2,
-     2,     2,     4,     4,     3,     3,     3,     3,     3,     3,
-     3,     3,     3,     2,     2,     2,     2,     2,     2,     1,
-     2,     0,     0,     6,     2,     1,     2,     0,     1,     1,
-     1,     0,     4,     1,     3,     0,     1,     1,     1,     3,
-     5,     3,     1,     1,     1,     3,     3,     3,     1,     3,
-     2,     5,     5,     2,     2,     1,     1,     1,     2,     2,
-     1,     1,     3,     1,     3,     3,     1,     0,     5,     3,
-     3,     1,     1,     2,     1,     2,     3,     3,     3,     3,
-     5,     3,     3,     1,     3,     5,     7,     5,     3
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned short int yyprhs[] =
+{
+       0,     0,     3,     4,     7,     9,    10,    14,    17,    21,
+      26,    29,    33,    37,    42,    48,    54,    59,    62,    70,
+      76,    77,    79,    82,    86,    87,    89,    92,    93,    96,
+     102,   106,   110,   112,   114,   118,   123,   129,   135,   143,
+     145,   149,   159,   167,   171,   173,   180,   184,   188,   190,
+     194,   198,   200,   204,   208,   210,   215,   217,   218,   223,
+     225,   229,   232,   235,   240,   243,   246,   249,   252,   255,
+     258,   261,   264,   267,   270,   273,   276,   279,   282,   285,
+     290,   293,   296,   299,   302,   305,   308,   311,   314,   317,
+     322,   325,   328,   331,   334,   339,   344,   348,   352,   356,
+     360,   364,   368,   372,   376,   380,   383,   386,   389,   392,
+     395,   398,   400,   403,   404,   405,   412,   415,   417,   420,
+     421,   423,   425,   427,   428,   433,   435,   439,   440,   442,
+     444,   446,   450,   456,   460,   462,   464,   466,   470,   474,
+     478,   480,   484,   487,   493,   499,   502,   505,   507,   509,
+     511,   514,   517,   519,   521,   525,   527,   531,   535,   537,
+     538,   544,   548,   552,   554,   556,   559,   561,   564,   568,
+     572,   576,   580,   586,   590,   594,   596,   600,   606,   614,
+     620
 };
 
-static const short yydefact[] = {     1,
-     0,     0,    58,    56,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    19,    23,     0,     0,    23,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     4,     3,
-     0,     0,   110,     6,     0,   122,    55,     0,    53,    58,
-    89,    76,    90,    74,    75,     0,    87,    67,    68,    84,
-    77,    81,    80,    79,    85,    86,    82,    83,    64,    63,
-    66,    65,    91,    92,     0,     0,    20,     0,    24,     0,
-     0,    70,    69,     0,   106,   107,   104,   105,   108,   109,
-    72,    73,     0,     0,     0,   111,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    60,     0,    61,    71,
-     0,     9,    16,     0,   157,   163,     0,     0,     0,     0,
-     0,     0,   118,     0,   116,     0,     0,     0,   139,   165,
-   154,     0,     7,     0,     0,     0,     0,    10,    11,    21,
-     0,     0,    25,    26,    31,     0,     0,     0,     0,     0,
-    26,    32,    38,   174,     0,     0,   170,     0,    59,     5,
-    95,    97,    96,   102,   100,     0,    99,    98,     0,   101,
-   103,     0,     8,   158,     0,   164,   141,   150,   145,   166,
-   149,   144,     0,   154,    57,   112,   120,   121,   119,   115,
-     0,   126,     0,     0,   133,     0,   134,   135,     0,     0,
-     0,     0,     0,     0,     0,     0,    52,    93,    88,    78,
-    22,    15,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   172,     0,     0,     0,
-    12,    62,    94,     0,     0,   140,   160,   122,   117,   157,
-   128,     0,   124,   129,   138,   137,     0,     0,   147,   148,
-   146,     0,   151,     0,   155,   156,   167,   168,   169,   153,
-    54,     0,     0,    27,    29,    13,    30,    33,     0,     0,
-    43,     0,     0,     0,    14,    39,   173,     0,     0,   175,
-     0,   171,   162,     0,   113,     0,   123,     0,   136,   132,
-     0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
-     0,     0,     0,   179,     0,     0,   159,   118,   125,   130,
-   152,   142,   143,     0,    18,    28,    45,     0,    42,    35,
-     0,    36,     0,     0,     0,     0,   161,   114,     0,     0,
-     0,     0,     0,   178,     0,   176,   131,    17,     0,    37,
-     0,    41,     0,    44,     0,     0,    47,   177,     0,     0,
-    50,     0,    40,     0,     0,    48,    46,    51,    49,     0,
-     0,     0
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const short int yyrhs[] =
+{
+     106,     0,    -1,    -1,   107,   108,    -1,   110,    -1,    -1,
+     108,   109,   110,    -1,     1,    99,    -1,     8,   125,    99,
+      -1,     3,    14,   127,    99,    -1,   127,    99,    -1,    50,
+     127,    99,    -1,    51,   127,    99,    -1,   127,    56,   127,
+      99,    -1,    59,   113,   115,   114,    99,    -1,    62,   113,
+     116,   114,    99,    -1,    58,   112,   111,    99,    -1,   153,
+      99,    -1,   111,   100,   127,   101,   127,   101,   127,    -1,
+     127,   101,   127,   101,   127,    -1,    -1,     4,    -1,     4,
+       4,    -1,     4,     4,     4,    -1,    -1,     4,    -1,    85,
+       4,    -1,    -1,    22,   127,    -1,   115,   100,   127,   101,
+     127,    -1,   115,   100,   127,    -1,   127,   101,   127,    -1,
+     127,    -1,   117,    -1,    63,   127,   116,    -1,    64,     4,
+     119,   116,    -1,    65,     4,     4,     4,   116,    -1,    66,
+       4,     4,   127,   116,    -1,    66,     4,     4,   127,   100,
+     127,   116,    -1,   118,    -1,   117,   100,   118,    -1,   102,
+       5,   100,   127,   100,   119,   100,   121,   103,    -1,   102,
+       5,   100,   127,   100,   119,   103,    -1,   119,   100,   120,
+      -1,   120,    -1,     5,   102,   127,   103,   100,   127,    -1,
+       5,   100,   127,    -1,   121,   100,   122,    -1,   122,    -1,
+     102,   123,   103,    -1,   123,   100,   124,    -1,   124,    -1,
+       4,   100,   127,    -1,   125,   100,   126,    -1,   126,    -1,
+       3,    97,     4,   104,    -1,     3,    -1,    -1,     6,   128,
+     129,     7,    -1,     3,    -1,    97,   127,   104,    -1,   127,
+      84,    -1,   127,    88,    -1,   127,    84,    24,   127,    -1,
+      37,   127,    -1,    36,   127,    -1,    39,   127,    -1,    38,
+     127,    -1,    25,   127,    -1,    26,   127,    -1,    61,   127,
+      -1,    60,   127,    -1,   127,    89,    -1,    76,   127,    -1,
+      77,   127,    -1,    19,   127,    -1,    20,   127,    -1,    17,
+     127,    -1,    28,   127,    -1,    28,   127,    22,   127,    -1,
+      31,   127,    -1,    30,   127,    -1,    29,   127,    -1,    34,
+     127,    -1,    35,   127,    -1,    27,   127,    -1,    32,   127,
+      -1,    33,   127,    -1,    23,   127,    -1,    23,   127,    22,
+     127,    -1,    13,   127,    -1,    18,   127,    -1,    46,   127,
+      -1,    47,   127,    -1,    21,   127,    22,   127,    -1,   127,
+      97,   127,   104,    -1,   127,    44,   127,    -1,   127,    49,
+       4,    -1,   127,    45,   127,    -1,   127,    71,   127,    -1,
+     127,    70,   127,    -1,   127,    53,   127,    -1,   127,    85,
+     127,    -1,   127,    52,   127,    -1,   127,    88,   127,    -1,
+      72,   127,    -1,    73,   127,    -1,    67,   127,    -1,    68,
+     127,    -1,    74,   127,    -1,    75,   127,    -1,   154,    -1,
+      80,   127,    -1,    -1,    -1,   134,    43,   130,   134,   131,
+     132,    -1,   134,   132,    -1,   141,    -1,   133,   141,    -1,
+      -1,   101,    -1,    54,    -1,    55,    -1,    -1,   135,   102,
+     136,   103,    -1,   137,    -1,   136,   100,   137,    -1,    -1,
+       3,    -1,    88,    -1,   152,    -1,   152,   101,   152,    -1,
+     152,   101,   152,   101,     4,    -1,   138,   100,     3,    -1,
+       3,    -1,   138,    -1,   139,    -1,   102,   139,   103,    -1,
+     141,    10,   141,    -1,   141,     9,   141,    -1,   148,    -1,
+      97,   141,   104,    -1,    11,   141,    -1,   142,   140,   143,
+     141,   146,    -1,   144,   140,   145,   141,   146,    -1,    97,
+      16,    -1,    16,    97,    -1,   101,    -1,    54,    -1,    55,
+      -1,    97,    15,    -1,    15,    97,    -1,   101,    -1,   104,
+      -1,   152,   100,   147,    -1,   152,    -1,   147,    69,   147,
+      -1,   147,    69,   148,    -1,     3,    -1,    -1,     3,    97,
+     150,   151,   104,    -1,    97,   152,   104,    -1,   151,   100,
+       3,    -1,     3,    -1,     4,    -1,     4,   149,    -1,   149,
+      -1,    85,   152,    -1,   152,    84,   152,    -1,   152,    85,
+     152,    -1,   152,    88,   152,    -1,    78,   155,   157,    -1,
+      79,     3,    48,   155,   157,    -1,    97,   156,   104,    -1,
+     156,   100,     3,    -1,     3,    -1,     6,   158,     7,    -1,
+     158,   100,     3,   101,   127,    -1,   158,   100,     3,    43,
+       3,   101,   127,    -1,     3,    43,     3,   101,   127,    -1,
+       3,   101,   127,    -1
 };
 
-static const short yydefgoto[] = {   370,
-     1,    49,   108,    50,   151,    88,    91,   227,   154,   161,
-   162,   163,   280,   281,   356,   357,   360,   361,    58,    59,
-    51,    56,   132,   248,   318,   200,   201,   133,   134,   252,
-   253,   207,   208,   209,   135,   136,   262,   137,   264,   322,
-   138,   139,   140,   244,   294,   141,    52,    53,   104,   165,
-   167,   239
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned short int yyrline[] =
+{
+       0,   161,   161,   161,   165,   166,   166,   171,   183,   186,
+     195,   203,   287,   375,   382,   390,   407,   435,   453,   463,
+     476,   477,   478,   479,   482,   483,   484,   487,   489,   492,
+     502,   511,   522,   534,   541,   545,   549,   551,   555,   562,
+     565,   570,   576,   584,   588,   593,   599,   606,   609,   614,
+     617,   620,   625,   631,   632,   635,   637,   642,   641,   653,
+     663,   664,   669,   676,   682,   691,   700,   709,   718,   728,
+     738,   744,   750,   755,   760,   765,   770,   775,   780,   785,
+     791,   796,   801,   806,   811,   816,   821,   826,   831,   836,
+     842,   847,   852,   857,   862,   868,   874,   880,   886,   892,
+     898,   904,   910,   916,   922,   928,   933,   938,   943,   948,
+     953,   958,   959,   973,   974,   973,  1000,  1017,  1026,  1027,
+    1030,  1031,  1032,  1036,  1036,  1042,  1043,  1044,  1047,  1061,
+    1063,  1065,  1067,  1072,  1073,  1077,  1087,  1088,  1091,  1092,
+    1093,  1094,  1095,  1096,  1098,  1102,  1103,  1106,  1107,  1108,
+    1111,  1112,  1115,  1118,  1122,  1127,  1133,  1135,  1140,  1146,
+    1146,  1157,  1163,  1174,  1186,  1187,  1188,  1189,  1190,  1191,
+    1192,  1197,  1206,  1221,  1229,  1232,  1238,  1289,  1297,  1308,
+    1319
 };
+#endif
 
-static const short yypact[] = {-32768,
-   336,   -35,    76,-32768,    89,   164,   164,   164,   164,   164,
-   164,   164,   164,   164,   164,   164,   164,   164,   164,   164,
-   164,   164,   164,   164,   164,   164,   164,   164,   164,   164,
-   164,    96,    42,   164,   164,    42,   164,   164,   164,   164,
-   164,   164,   164,   164,     8,   141,   164,   164,   146,-32768,
-   631,    52,-32768,-32768,   164,    51,    62,   -21,-32768,-32768,
-    79,    79,    79,    79,    79,   205,     4,    79,    79,    79,
-    35,    79,    79,    79,    79,    79,    79,    79,    79,    79,
-    79,    79,    79,    79,   661,   691,   168,   164,-32768,   184,
-   164,    79,    79,    33,    79,    79,   794,   794,    79,    79,
-    79,    79,   183,   198,   160,   781,   218,   336,   164,   164,
-   217,   164,   164,   164,   164,   164,   202,   164,   164,-32768,
-   164,-32768,-32768,   721,   132,    45,    51,   133,   136,    72,
-    57,   235,   180,   149,   121,    27,    27,   191,-32768,-32768,
-   227,   248,-32768,    89,   164,   164,   164,-32768,-32768,   249,
-   115,   466,-32768,    34,   490,   164,   262,   264,   268,   274,
-   258,   185,-32768,-32768,   -11,   283,-32768,     8,-32768,-32768,
-    79,    79,-32768,   794,    39,   751,   220,   220,   164,    39,
-    39,   373,-32768,-32768,    72,-32768,-32768,-32768,-32768,-32768,
-   133,   136,    41,    75,-32768,-32768,-32768,-32768,-32768,-32768,
-    51,    66,    51,    51,-32768,   284,   192,-32768,    26,   195,
-    72,    72,    72,    72,    72,   189,-32768,    79,    79,    79,
--32768,-32768,   164,   164,   164,   164,   206,   164,   431,   301,
-   307,   310,   221,   219,   222,   323,-32768,    15,    38,   198,
--32768,    79,-32768,   326,   170,-32768,-32768,-32768,   121,   -26,
--32768,    53,-32768,   127,   321,-32768,   229,   330,-32768,-32768,
--32768,    51,-32768,    51,   191,-32768,   247,   247,-32768,-32768,
--32768,   513,   537,   781,   560,-32768,   781,-32768,   -37,   182,
--32768,   334,   164,   164,-32768,-32768,-32768,   337,   164,-32768,
-   338,-32768,-32768,    14,-32768,    66,-32768,    72,-32768,-32768,
-    43,    43,   164,   164,   164,   164,   164,   301,-32768,    33,
-   403,   607,   244,   781,    48,   343,-32768,    32,-32768,   234,
--32768,-32768,-32768,   584,   781,   781,   781,   375,-32768,-32768,
-   164,-32768,   301,   164,   345,   164,-32768,-32768,   346,   164,
-   251,   431,    65,   781,   259,   781,-32768,   781,   164,-32768,
-    22,-32768,   164,   781,   348,    71,-32768,   781,   276,   106,
--32768,   275,-32768,   164,   348,-32768,-32768,   781,-32768,   378,
-   379,-32768
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  &quot;$end&quot;, &quot;error&quot;, &quot;$undefined&quot;, &quot;VAR&quot;, &quot;INT&quot;, &quot;STRING&quot;, &quot;OPEN_BRACE&quot;,
+  &quot;CLOSE_BRACE&quot;, &quot;SYMBOLIC&quot;, &quot;OR&quot;, &quot;AND&quot;, &quot;NOT&quot;, &quot;ST&quot;, &quot;APPROX&quot;,
+  &quot;IS_ASSIGNED&quot;, &quot;FORALL&quot;, &quot;EXISTS&quot;, &quot;DOMAIN&quot;, &quot;RANGE&quot;, &quot;DIFFERENCE&quot;,
+  &quot;DIFFERENCE_TO_RELATION&quot;, &quot;GIST&quot;, &quot;GIVEN&quot;, &quot;HULL&quot;, &quot;WITHIN&quot;, &quot;MAXIMIZE&quot;,
+  &quot;MINIMIZE&quot;, &quot;AFFINE_HULL&quot;, &quot;VENN&quot;, &quot;CONVEX_COMBINATION&quot;,
+  &quot;POSITIVE_COMBINATION&quot;, &quot;CONVEX_HULL&quot;, &quot;CONIC_HULL&quot;, &quot;LINEAR_HULL&quot;,
+  &quot;PAIRWISE_CHECK&quot;, &quot;CONVEX_CHECK&quot;, &quot;MAXIMIZE_RANGE&quot;, &quot;MINIMIZE_RANGE&quot;,
+  &quot;MAXIMIZE_DOMAIN&quot;, &quot;MINIMIZE_DOMAIN&quot;, &quot;LEQ&quot;, &quot;GEQ&quot;, &quot;NEQ&quot;, &quot;GOES_TO&quot;,
+  &quot;COMPOSE&quot;, &quot;JOIN&quot;, &quot;INVERSE&quot;, &quot;COMPLEMENT&quot;, &quot;IN&quot;, &quot;CARRIED_BY&quot;, &quot;TIME&quot;,
+  &quot;TIMECLOSURE&quot;, &quot;UNION&quot;, &quot;INTERSECTION&quot;, &quot;VERTICAL_BAR&quot;, &quot;SUCH_THAT&quot;,
+  &quot;SUBSET&quot;, &quot;ITERATIONS&quot;, &quot;SPMD&quot;, &quot;CODEGEN&quot;, &quot;DECOUPLED_FARKAS&quot;, &quot;FARKAS&quot;,
+  &quot;TCODEGEN&quot;, &quot;TRANS_IS&quot;, &quot;SET_MMAP&quot;, &quot;UNROLL_IS&quot;, &quot;PEEL_IS&quot;,
+  &quot;MAKE_UPPER_BOUND&quot;, &quot;MAKE_LOWER_BOUND&quot;, &quot;REL_OP&quot;, &quot;RESTRICT_DOMAIN&quot;,
+  &quot;RESTRICT_RANGE&quot;, &quot;SUPERSETOF&quot;, &quot;SUBSETOF&quot;, &quot;SAMPLE&quot;, &quot;SYM_SAMPLE&quot;,
+  &quot;PROJECT_AWAY_SYMBOLS&quot;, &quot;PROJECT_ON_SYMBOLS&quot;, &quot;REACHABLE_FROM&quot;,
+  &quot;REACHABLE_OF&quot;, &quot;ASSERT_UNSAT&quot;, &quot;PARSE_EXPRESSION&quot;, &quot;PARSE_FORMULA&quot;,
+  &quot;PARSE_RELATION&quot;, &quot;'+'&quot;, &quot;'-'&quot;, &quot;p1&quot;, &quot;p2&quot;, &quot;'*'&quot;, &quot;'@'&quot;, &quot;p3&quot;, &quot;p4&quot;,
+  &quot;p5&quot;, &quot;p6&quot;, &quot;p7&quot;, &quot;p8&quot;, &quot;p9&quot;, &quot;'('&quot;, &quot;p10&quot;, &quot;';'&quot;, &quot;','&quot;, &quot;':'&quot;, &quot;'['&quot;,
+  &quot;']'&quot;, &quot;')'&quot;, &quot;$accept&quot;, &quot;start&quot;, &quot;@1&quot;, &quot;inputSequence&quot;, &quot;@2&quot;,
+  &quot;inputItem&quot;, &quot;relTripList&quot;, &quot;blockAndProcsAndEffort&quot;, &quot;effort&quot;,
+  &quot;context&quot;, &quot;relPairList&quot;, &quot;statementInfoResult&quot;, &quot;statementInfoList&quot;,
+  &quot;statementInfo&quot;, &quot;partialwrites&quot;, &quot;partialwrite&quot;, &quot;reads&quot;, &quot;oneread&quot;,
+  &quot;partials&quot;, &quot;partial&quot;, &quot;globVarList&quot;, &quot;globVar&quot;, &quot;relation&quot;, &quot;@3&quot;,
+  &quot;builtRelation&quot;, &quot;@4&quot;, &quot;@5&quot;, &quot;optionalFormula&quot;, &quot;formula_sep&quot;,
+  &quot;tupleDeclaration&quot;, &quot;@6&quot;, &quot;optionalTupleVarList&quot;, &quot;tupleVar&quot;, &quot;varList&quot;,
+  &quot;varDecl&quot;, &quot;varDeclOptBrackets&quot;, &quot;formula&quot;, &quot;start_exists&quot;, &quot;exists_sep&quot;,
+  &quot;start_forall&quot;, &quot;forall_sep&quot;, &quot;end_quant&quot;, &quot;expList&quot;, &quot;constraintChain&quot;,
+  &quot;simpleExp&quot;, &quot;@7&quot;, &quot;argumentList&quot;, &quot;exp&quot;, &quot;reachable&quot;, &quot;reachable_of&quot;,
+  &quot;nodeNameList&quot;, &quot;realNodeNameList&quot;, &quot;nodeSpecificationList&quot;,
+  &quot;realNodeSpecificationList&quot;, 0
 };
+#endif
 
-static const short yypgoto[] = {-32768,
--32768,-32768,-32768,   272,-32768,-32768,   349,   223,-32768,  -185,
--32768,   153,    56,  -249,-32768,    19,-32768,    25,-32768,   255,
-    -6,-32768,-32768,-32768,-32768,    73,-32768,   144,-32768,-32768,
-    97,-32768,   194,   265,   -84,-32768,-32768,-32768,-32768,    99,
-   -49,   196,   279,-32768,-32768,   -91,-32768,-32768,   238,-32768,
-   181,-32768
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short int yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,    43,    45,   339,   340,    42,    64,
+     341,   342,   343,   344,   345,   346,   347,    40,   348,    59,
+      44,    58,    91,    93,    41
 };
+# endif
 
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,   105,   107,   106,   108,   109,   108,   110,   110,   110,
+     110,   110,   110,   110,   110,   110,   110,   110,   111,   111,
+     112,   112,   112,   112,   113,   113,   113,   114,   114,   115,
+     115,   115,   115,   116,   116,   116,   116,   116,   116,   117,
+     117,   118,   118,   119,   119,   120,   120,   121,   121,   122,
+     123,   123,   124,   125,   125,   126,   126,   128,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   130,   131,   129,   129,   129,   132,   132,
+     133,   133,   133,   135,   134,   136,   136,   136,   137,   137,
+     137,   137,   137,   138,   138,   139,   140,   140,   141,   141,
+     141,   141,   141,   141,   141,   142,   142,   143,   143,   143,
+     144,   144,   145,   146,   147,   147,   148,   148,   149,   150,
+     149,   149,   151,   151,   152,   152,   152,   152,   152,   152,
+     152,   153,   154,   155,   156,   156,   157,   158,   158,   158,
+     158
+};
 
-#define	YYLAST		891
-
-
-static const short yytable[] = {    61,
-    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-    72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-    82,    83,    84,    85,    86,   146,   279,    92,    93,   205,
-    95,    96,    97,    98,    99,   100,   101,   102,   190,   194,
-   106,   107,   187,   278,   290,    89,   193,   125,   124,   203,
-   204,   203,   204,   125,   126,   225,   147,   288,   329,   125,
-   126,   127,   306,    54,   307,   128,   129,   127,   250,   126,
-   184,   191,   192,  -127,   125,   126,  -127,   143,   144,   259,
-   260,   152,   109,   110,   155,   197,   198,   111,   236,    55,
-   335,    57,   237,   245,   309,   156,   157,   158,   159,    87,
-   121,   329,   171,   172,   103,   174,   175,   176,   177,   178,
-   254,   180,   181,   316,   182,   289,   249,   317,   255,   256,
-   267,   268,   269,   355,   330,   332,   261,    90,   206,   203,
-   204,   121,   199,   226,   160,   121,   130,   291,   218,   219,
-   220,   185,   130,   105,   246,    -2,   321,   131,   336,   229,
-   123,   130,   296,   131,   251,   297,   350,   130,   142,   212,
-   213,   265,   185,   214,   351,   270,    60,   352,   185,     4,
-   362,   150,   242,   363,   215,   121,     6,   301,   247,   302,
-     7,     8,     9,    10,    11,   164,    12,   153,    13,    14,
-    15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-    25,    26,    27,   166,   254,   365,   320,   168,   366,    28,
-    29,   212,   213,   222,   223,   214,   272,   273,   274,   275,
-   173,   277,   196,    34,    35,   179,   145,   298,   184,   188,
-    37,    38,   189,   197,   198,    39,    40,    41,    42,    43,
-    44,   195,    46,    47,   156,   157,   158,   159,   109,   110,
-   202,   216,   221,   111,   212,   213,   112,   113,   214,   211,
-    48,   109,   110,   109,   110,   230,   111,   231,   111,   112,
-   113,   232,   113,   247,   115,   116,   311,   312,   233,   225,
-   199,   308,   314,   160,   235,   238,   205,   115,   116,   117,
-   118,   258,   271,   119,   120,   263,   324,   325,   326,   327,
-   328,   121,   117,   118,   276,   279,   119,   120,   119,   120,
-   282,   212,   213,   283,   121,   214,   121,   285,   212,   213,
-   284,   169,   214,   160,   342,   287,   215,   344,   293,   346,
-   204,   299,   300,   348,   339,   214,     2,   310,     3,   313,
-   315,     4,   354,     5,   334,   337,   358,   345,     6,   347,
-   349,   359,     7,     8,     9,    10,    11,   368,    12,   353,
-    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-    23,    24,    25,    26,    27,   364,   355,   371,   372,   170,
-   367,    28,    29,   234,    94,    30,    31,   286,   343,   369,
-   338,   295,   319,    32,    33,    34,    35,    36,   217,   257,
-   323,   210,    37,    38,   186,   240,   266,    39,    40,    41,
-    42,    43,    44,    45,    46,    47,   109,   110,   109,   110,
-   292,   111,     0,   111,   112,   113,   112,   113,     0,     0,
-     0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   115,   116,   115,   116,   109,   110,     0,     0,
-     0,   111,     0,     0,   112,   113,     0,   117,   118,   117,
-   118,   119,   120,   119,   120,   156,   157,   158,   159,   121,
-     0,   121,   115,   116,   109,   110,   243,   341,     0,   111,
-     0,     0,   112,   113,     0,     0,     0,   117,   118,     0,
-     0,   119,   120,   156,   157,   158,   159,     0,     0,   121,
-   115,   116,   331,     0,   160,     0,     0,     0,     0,   109,
-   110,     0,     0,     0,   111,   117,   118,   112,   113,   119,
-   120,     0,     0,     0,     0,     0,     0,   121,     0,     0,
-     0,     0,   160,   109,   110,   115,   116,     0,   111,     0,
-     0,   112,   113,     0,     0,     0,     0,     0,     0,     0,
-   117,   118,     0,     0,   119,   120,   109,   110,     0,   115,
-   116,   111,   121,     0,   112,   113,   224,     0,     0,     0,
-     0,     0,     0,     0,   117,   118,     0,     0,   119,   120,
-   109,   110,   115,   116,     0,   111,   121,     0,   112,   113,
-   228,     0,     0,     0,     0,     0,     0,   117,   118,     0,
-     0,   119,   120,   109,   110,     0,   115,   116,   111,   121,
-     0,   112,   113,   303,     0,     0,     0,     0,     0,     0,
-     0,   117,   118,     0,     0,   119,   120,   109,   110,   115,
-   116,     0,   111,   121,     0,   112,   113,   304,     0,     0,
-     0,     0,     0,     0,   117,   118,     0,     0,   119,   120,
-   109,   110,     0,   115,   116,   111,   121,     0,   112,   113,
-   305,     0,     0,     0,     0,     0,     0,     0,   117,   118,
-     0,     0,   119,   120,   109,   110,   115,   116,     0,   111,
-   121,     0,   112,   113,   340,     0,   114,     0,     0,     0,
-     0,   117,   118,     0,     0,   119,   120,     0,     0,     0,
-   115,   116,     0,   121,   109,   110,   333,     0,     0,   111,
-     0,     0,   112,   113,     0,   117,   118,     0,     0,   119,
-   120,     0,     0,     0,     0,     0,     0,   121,     0,   122,
-   115,   116,     0,     0,   109,   110,     0,     0,     0,   111,
-     0,     0,   112,   113,     0,   117,   118,     0,     0,   119,
-   120,     0,     0,     0,     0,     0,     0,   121,     0,   148,
-   115,   116,     0,     0,   109,   110,     0,     0,     0,   111,
-     0,     0,   112,   113,     0,   117,   118,     0,     0,   119,
-   120,     0,     0,     0,     0,     0,     0,   121,     0,   149,
-   115,   116,     0,     0,   109,   110,     0,     0,     0,   111,
-     0,     0,   112,   113,     0,   117,   118,     0,     0,   119,
-   120,     0,     0,     0,     0,     0,     0,   121,     0,   183,
-   115,   116,     0,     0,   109,   110,     0,     0,     0,   111,
-     0,     0,   112,   113,     0,   117,   118,   109,   110,   119,
-   120,     0,   111,     0,     0,     0,   113,   121,     0,   241,
-   115,   116,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   115,   116,   117,   118,     0,     0,   119,
-   120,     0,     0,     0,     0,     0,     0,   121,     0,     0,
-     0,     0,   119,   120,     0,     0,     0,     0,     0,     0,
-   121
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     0,     2,     1,     0,     3,     2,     3,     4,
+       2,     3,     3,     4,     5,     5,     4,     2,     7,     5,
+       0,     1,     2,     3,     0,     1,     2,     0,     2,     5,
+       3,     3,     1,     1,     3,     4,     5,     5,     7,     1,
+       3,     9,     7,     3,     1,     6,     3,     3,     1,     3,
+       3,     1,     3,     3,     1,     4,     1,     0,     4,     1,
+       3,     2,     2,     4,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     4,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     4,
+       2,     2,     2,     2,     4,     4,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     2,     2,     2,     2,     2,
+       2,     1,     2,     0,     0,     6,     2,     1,     2,     0,
+       1,     1,     1,     0,     4,     1,     3,     0,     1,     1,
+       1,     3,     5,     3,     1,     1,     1,     3,     3,     3,
+       1,     3,     2,     5,     5,     2,     2,     1,     1,     1,
+       2,     2,     1,     1,     3,     1,     3,     3,     1,     0,
+       5,     3,     3,     1,     1,     2,     1,     2,     3,     3,
+       3,     3,     5,     3,     3,     1,     3,     5,     7,     5,
+       3
 };
 
-static const short yycheck[] = {     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    27,    28,    29,    30,    31,    22,     5,    34,    35,     3,
-    37,    38,    39,    40,    41,    42,    43,    44,   130,   131,
-    47,    48,   127,   229,     7,     4,   131,     3,    55,     9,
-    10,     9,    10,     3,     4,    22,    22,    43,   308,     3,
-     4,    11,   100,    99,   102,    15,    16,    11,     3,     4,
-    97,    15,    16,   100,     3,     4,   103,    99,   100,    54,
-    55,    88,    44,    45,    91,    54,    55,    49,   100,    14,
-    43,     3,   104,   185,   280,    63,    64,    65,    66,     4,
-    97,   351,   109,   110,    97,   112,   113,   114,   115,   116,
-   202,   118,   119,   100,   121,   101,   201,   104,   203,   204,
-   212,   213,   214,   102,   310,   311,   101,    86,   102,     9,
-    10,    97,   101,   100,   102,    97,    86,   100,   145,   146,
-   147,    97,    86,     3,   104,     0,   104,    97,   101,   156,
-    99,    86,   100,    97,    89,   103,   342,    86,    97,    85,
-    86,   211,    97,    89,   100,   215,     3,   103,    97,     6,
-   100,     4,   179,   103,   100,    97,    13,   262,   104,   264,
-    17,    18,    19,    20,    21,     3,    23,     4,    25,    26,
-    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-    37,    38,    39,     6,   296,   100,   298,    48,   103,    46,
-    47,    85,    86,    99,   100,    89,   223,   224,   225,   226,
-     4,   228,    43,    60,    61,    24,    22,   101,    97,    97,
-    67,    68,    97,    54,    55,    72,    73,    74,    75,    76,
-    77,     7,    79,    80,    63,    64,    65,    66,    44,    45,
-   102,     4,     4,    49,    85,    86,    52,    53,    89,    69,
-    97,    44,    45,    44,    45,     4,    49,     4,    49,    52,
-    53,     4,    53,   104,    70,    71,   283,   284,     5,    22,
-   101,   100,   289,   102,   100,     3,     3,    70,    71,    85,
-    86,   100,   104,    89,    90,   101,   303,   304,   305,   306,
-   307,    97,    85,    86,    99,     5,    89,    90,    89,    90,
-     4,    85,    86,     4,    97,    89,    97,    99,    85,    86,
-   100,   104,    89,   102,   331,     3,   100,   334,     3,   336,
-    10,   103,     3,   340,   101,    89,     1,     4,     3,     3,
-     3,     6,   349,     8,   101,     3,   353,     3,    13,     4,
-   100,     4,    17,    18,    19,    20,    21,   364,    23,   101,
-    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-    35,    36,    37,    38,    39,   100,   102,     0,     0,   108,
-   362,    46,    47,   161,    36,    50,    51,   235,   333,   365,
-   318,   248,   296,    58,    59,    60,    61,    62,   144,   206,
-   302,   137,    67,    68,   126,   168,   211,    72,    73,    74,
-    75,    76,    77,    78,    79,    80,    44,    45,    44,    45,
-   240,    49,    -1,    49,    52,    53,    52,    53,    -1,    -1,
-    -1,    -1,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    70,    71,    70,    71,    44,    45,    -1,    -1,
-    -1,    49,    -1,    -1,    52,    53,    -1,    85,    86,    85,
-    86,    89,    90,    89,    90,    63,    64,    65,    66,    97,
-    -1,    97,    70,    71,    44,    45,   104,   103,    -1,    49,
-    -1,    -1,    52,    53,    -1,    -1,    -1,    85,    86,    -1,
-    -1,    89,    90,    63,    64,    65,    66,    -1,    -1,    97,
-    70,    71,   100,    -1,   102,    -1,    -1,    -1,    -1,    44,
-    45,    -1,    -1,    -1,    49,    85,    86,    52,    53,    89,
-    90,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    -1,
-    -1,    -1,   102,    44,    45,    70,    71,    -1,    49,    -1,
-    -1,    52,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    85,    86,    -1,    -1,    89,    90,    44,    45,    -1,    70,
-    71,    49,    97,    -1,    52,    53,   101,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    89,    90,
-    44,    45,    70,    71,    -1,    49,    97,    -1,    52,    53,
-   101,    -1,    -1,    -1,    -1,    -1,    -1,    85,    86,    -1,
-    -1,    89,    90,    44,    45,    -1,    70,    71,    49,    97,
-    -1,    52,    53,   101,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    85,    86,    -1,    -1,    89,    90,    44,    45,    70,
-    71,    -1,    49,    97,    -1,    52,    53,   101,    -1,    -1,
-    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    89,    90,
-    44,    45,    -1,    70,    71,    49,    97,    -1,    52,    53,
-   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,    86,
-    -1,    -1,    89,    90,    44,    45,    70,    71,    -1,    49,
-    97,    -1,    52,    53,   101,    -1,    56,    -1,    -1,    -1,
-    -1,    85,    86,    -1,    -1,    89,    90,    -1,    -1,    -1,
-    70,    71,    -1,    97,    44,    45,   100,    -1,    -1,    49,
-    -1,    -1,    52,    53,    -1,    85,    86,    -1,    -1,    89,
-    90,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,
-    70,    71,    -1,    -1,    44,    45,    -1,    -1,    -1,    49,
-    -1,    -1,    52,    53,    -1,    85,    86,    -1,    -1,    89,
-    90,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,
-    70,    71,    -1,    -1,    44,    45,    -1,    -1,    -1,    49,
-    -1,    -1,    52,    53,    -1,    85,    86,    -1,    -1,    89,
-    90,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,
-    70,    71,    -1,    -1,    44,    45,    -1,    -1,    -1,    49,
-    -1,    -1,    52,    53,    -1,    85,    86,    -1,    -1,    89,
-    90,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,
-    70,    71,    -1,    -1,    44,    45,    -1,    -1,    -1,    49,
-    -1,    -1,    52,    53,    -1,    85,    86,    44,    45,    89,
-    90,    -1,    49,    -1,    -1,    -1,    53,    97,    -1,    99,
-    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    70,    71,    85,    86,    -1,    -1,    89,
-    90,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    -1,
-    -1,    -1,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,
-    97
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       2,     0,     0,     1,     0,    59,    57,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    20,    24,     0,     0,    24,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     5,     4,     0,     0,   111,     7,     0,   123,    56,
+       0,    54,    59,    90,    77,    91,    75,    76,     0,    88,
+      68,    69,    85,    78,    82,    81,    80,    86,    87,    83,
+      84,    65,    64,    67,    66,    92,    93,     0,     0,    21,
+       0,    25,     0,     0,    71,    70,     0,   107,   108,   105,
+     106,   109,   110,    73,    74,     0,     0,     0,   112,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    61,
+       0,    62,    72,     0,    10,    17,     0,   158,   164,     0,
+       0,     0,     0,     0,     0,   119,     0,   117,     0,     0,
+       0,   140,   166,   155,     0,     8,     0,     0,     0,     0,
+      11,    12,    22,     0,     0,    26,    27,    32,     0,     0,
+       0,     0,     0,    27,    33,    39,   175,     0,     0,   171,
+       0,    60,     6,    96,    98,    97,   103,   101,     0,   100,
+      99,     0,   102,   104,     0,     9,   159,     0,   165,   142,
+     151,   146,   167,   150,   145,     0,   155,    58,   113,   121,
+     122,   120,   116,     0,   127,     0,     0,   134,     0,   135,
+     136,     0,     0,     0,     0,     0,     0,     0,     0,    53,
+      94,    89,    79,    23,    16,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   173,
+       0,     0,     0,    13,    63,    95,     0,     0,   141,   161,
+     123,   118,   158,   129,     0,   125,   130,   139,   138,     0,
+       0,   148,   149,   147,     0,   152,     0,   156,   157,   168,
+     169,   170,   154,    55,     0,     0,    28,    30,    14,    31,
+      34,     0,     0,    44,     0,     0,     0,    15,    40,   174,
+       0,     0,   176,     0,   172,   163,     0,   114,     0,   124,
+       0,   137,   133,     0,     0,     0,     0,     0,     0,     0,
+       0,    35,     0,     0,     0,     0,   180,     0,     0,   160,
+     119,   126,   131,   153,   143,   144,     0,    19,    29,    46,
+       0,    43,    36,     0,    37,     0,     0,     0,     0,   162,
+     115,     0,     0,     0,     0,     0,   179,     0,   177,   132,
+      18,     0,    38,     0,    42,     0,    45,     0,     0,    48,
+     178,     0,     0,    51,     0,    41,     0,     0,    49,    47,
+      52,    50
 };
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 &quot;/usr/share/bison.simple&quot;
 
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
+/* YYDEFGOTO[NTERM-NUM]. */
+static const short int yydefgoto[] =
+{
+      -1,     1,     2,    51,   110,    52,   153,    90,    93,   229,
+     156,   163,   164,   165,   282,   283,   358,   359,   362,   363,
+      60,    61,    53,    58,   134,   250,   320,   202,   203,   135,
+     136,   254,   255,   209,   210,   211,   137,   138,   264,   139,
+     266,   324,   140,   141,   142,   246,   296,   143,    54,    55,
+     106,   167,   169,   241
+};
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -252
+static const short int yypact[] =
+{
+    -252,    48,   336,  -252,   -36,    75,  -252,    97,   164,   164,
+     164,   164,   164,   164,   164,   164,   164,   164,   164,   164,
+     164,   164,   164,   164,   164,   164,   164,   164,   164,   164,
+     164,   164,   164,   164,   101,    42,   164,   164,    42,   164,
+     164,   164,   164,   164,   164,   164,   164,    19,   125,   164,
+     164,   143,  -252,   627,    65,  -252,  -252,   164,    51,    64,
+      -1,  -252,  -252,    69,    69,    69,    69,    69,   205,     4,
+      69,    69,    69,    35,    69,    69,    69,    69,    69,    69,
+      69,    69,    69,    69,    69,    69,    69,   657,   687,   175,
+     164,  -252,   200,   164,    69,    69,   149,    69,    69,   215,
+     215,    69,    69,    69,    69,   183,   210,   173,   777,   373,
+     336,   164,   164,   224,   164,   164,   164,   164,   164,   206,
+     164,   164,  -252,   164,  -252,  -252,   717,   136,    55,    51,
+     137,   138,    66,    57,   235,    32,   153,   166,    27,    27,
+     193,  -252,  -252,    -7,   259,  -252,    97,   164,   164,   164,
+    -252,  -252,   263,   109,   437,  -252,    34,   465,   164,   267,
+     268,   275,   276,   258,   187,  -252,  -252,   -24,   285,  -252,
+      19,  -252,  -252,    69,    69,  -252,   215,    47,   747,   641,
+     641,   164,    47,    47,   375,  -252,  -252,    66,  -252,  -252,
+    -252,  -252,  -252,   137,   138,    41,   223,  -252,  -252,  -252,
+    -252,  -252,  -252,    51,    61,    51,    51,  -252,   292,   196,
+    -252,    29,   212,    66,    66,    66,    66,    66,   213,  -252,
+      69,    69,    69,  -252,  -252,   164,   164,   164,   164,   222,
+     164,   431,   309,   316,   318,   226,   230,   229,   330,  -252,
+      36,    38,   210,  -252,    69,  -252,   332,    84,  -252,  -252,
+    -252,   166,   126,  -252,   -29,  -252,   168,   326,  -252,   237,
+     335,  -252,  -252,  -252,    51,  -252,    51,   193,  -252,   253,
+     253,  -252,  -252,  -252,   499,   519,   777,   553,  -252,   777,
+    -252,   -12,   182,  -252,   341,   164,   164,  -252,  -252,  -252,
+     343,   164,  -252,   345,  -252,  -252,    14,  -252,    61,  -252,
+      66,  -252,  -252,    43,    43,   164,   164,   164,   164,   164,
+     309,  -252,   149,   403,   607,   249,   777,    54,   348,  -252,
+     105,  -252,   231,  -252,  -252,  -252,   573,   777,   777,   777,
+     221,  -252,  -252,   164,  -252,   309,   164,   349,   164,  -252,
+    -252,   356,   164,   277,   431,    53,   777,   278,   777,  -252,
+     777,   164,  -252,    22,  -252,   164,   777,   372,    62,  -252,
+     777,   280,    71,  -252,   279,  -252,   164,   372,  -252,  -252,
+     777,  -252
+};
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+/* YYPGOTO[NTERM-NUM].  */
+static const short int yypgoto[] =
+{
+    -252,  -252,  -252,  -252,  -252,   274,  -252,  -252,   340,   225,
+    -252,  -187,  -252,   148,    56,  -251,  -252,    25,  -252,    23,
+    -252,   246,    -8,  -252,  -252,  -252,  -252,    73,  -252,   150,
+    -252,  -252,   103,  -252,   191,   266,   -86,  -252,  -252,  -252,
+    -252,    98,   -82,   194,   293,  -252,  -252,   -93,  -252,  -252,
+     236,  -252,   181,  -252
+};
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -129
+static const short int yytable[] =
+{
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,   148,   281,    94,    95,
+     207,    97,    98,    99,   100,   101,   102,   103,   104,   192,
+     196,   108,   109,   189,   280,   292,    91,   195,     3,   126,
+     205,   206,   205,   206,   127,   128,   227,   149,   127,   331,
+     127,   128,   129,    56,   252,   128,   130,   131,   129,   127,
+     128,   298,   193,   194,   299,   198,   238,   214,   215,   290,
+     239,   216,   154,   261,   262,   157,   199,   200,   308,    57,
+     309,   111,   112,   217,   247,   311,   113,   337,   145,   146,
+      59,   123,   331,   173,   174,    89,   176,   177,   178,   179,
+     180,   256,   182,   183,   318,   184,   105,   251,   319,   257,
+     258,   269,   270,   271,   357,   332,   334,    92,   107,   208,
+     263,   267,   123,   201,   228,   272,   132,   291,   293,   220,
+     221,   222,   132,    -3,   123,   248,   132,   323,   133,   253,
+     231,   132,   187,   353,   133,   338,   354,   352,   187,   199,
+     200,   144,   364,   187,   125,   365,   123,    62,   214,   215,
+       6,   367,   216,   244,   368,   205,   206,     8,   303,   152,
+     304,     9,    10,    11,    12,    13,   166,    14,   249,    15,
+      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,   155,   256,   201,   322,   224,   225,
+      30,    31,   158,   159,   160,   161,   168,   274,   275,   276,
+     277,   170,   279,   186,    36,    37,  -128,   147,   175,  -128,
+     181,    39,    40,   186,   190,   191,    41,    42,    43,    44,
+      45,    46,   197,    48,    49,   158,   159,   160,   161,   111,
+     112,   162,   214,   215,   113,   204,   216,   114,   115,   111,
+     112,    50,   213,   218,   113,   111,   112,   223,   115,   300,
+     113,   232,   233,   114,   115,   117,   118,   313,   314,   234,
+     227,   235,   310,   316,   162,   117,   118,   237,   240,   119,
+     120,   117,   118,   121,   122,   207,   260,   326,   327,   328,
+     329,   330,   123,   121,   122,   119,   120,   214,   215,   121,
+     122,   216,   123,   265,   281,   214,   215,   273,   123,   216,
+     284,   278,   285,   217,   343,   344,   286,   249,   346,   287,
+     348,   162,   341,   289,   350,   295,   206,     4,   302,     5,
+     301,   216,     6,   356,     7,   312,   315,   360,   317,     8,
+     336,   339,   347,     9,    10,    11,    12,    13,   370,    14,
+     349,    15,    16,    17,    18,    19,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,   361,   351,    96,   355,
+     366,   357,    30,    31,   172,   288,    32,    33,   236,   369,
+     371,   345,   219,   340,    34,    35,    36,    37,    38,   259,
+     297,   321,   325,    39,    40,   212,   242,   268,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,   111,   112,   111,
+     112,   188,   113,   294,   113,   114,   115,   114,   115,     0,
+       0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   117,   118,   117,   118,   111,   112,     0,
+       0,     0,   113,     0,     0,   114,   115,   119,   120,   119,
+     120,   121,   122,   121,   122,     0,   158,   159,   160,   161,
+     123,     0,   123,   117,   118,   111,   112,   171,     0,   245,
+     113,   111,   112,   114,   115,     0,   113,   119,   120,   114,
+     115,   121,   122,     0,   158,   159,   160,   161,     0,     0,
+     123,   117,   118,   333,     0,   162,     0,   117,   118,   111,
+     112,     0,     0,     0,   113,   119,   120,   114,   115,   121,
+     122,   119,   120,     0,     0,   121,   122,     0,   123,     0,
+       0,     0,     0,   162,   123,   117,   118,     0,   226,     0,
+       0,     0,     0,   111,   112,     0,     0,     0,   113,   119,
+     120,   114,   115,   121,   122,     0,     0,     0,     0,     0,
+       0,     0,   123,   111,   112,     0,   230,     0,   113,   117,
+     118,   114,   115,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   119,   120,     0,     0,   121,   122,   117,
+     118,     0,     0,     0,     0,     0,   123,   111,   112,     0,
+     305,     0,   113,   119,   120,   114,   115,   121,   122,     0,
+       0,     0,     0,     0,     0,     0,   123,   111,   112,     0,
+     306,     0,   113,   117,   118,   114,   115,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   119,   120,     0,
+       0,   121,   122,   117,   118,     0,     0,     0,     0,     0,
+     123,   111,   112,     0,   307,     0,   113,   119,   120,   114,
+     115,   121,   122,     0,     0,     0,     0,     0,     0,     0,
+     123,   111,   112,     0,   342,     0,   113,   117,   118,   114,
+     115,     0,     0,   116,     0,   111,   112,     0,     0,     0,
+     113,   119,   120,     0,   115,   121,   122,   117,   118,     0,
+       0,   111,   112,     0,   123,     0,   113,   335,     0,   114,
+     115,   119,   120,     0,     0,   121,   122,     0,     0,     0,
+       0,     0,     0,     0,   123,     0,   124,   117,   118,   121,
+     122,   111,   112,     0,     0,     0,   113,     0,   123,   114,
+     115,   119,   120,     0,     0,   121,   122,     0,     0,     0,
+       0,     0,     0,     0,   123,     0,   150,   117,   118,     0,
+       0,   111,   112,     0,     0,     0,   113,     0,     0,   114,
+     115,   119,   120,     0,     0,   121,   122,     0,     0,     0,
+       0,     0,     0,     0,   123,     0,   151,   117,   118,     0,
+       0,   111,   112,     0,     0,     0,   113,     0,     0,   114,
+     115,   119,   120,     0,     0,   121,   122,     0,     0,     0,
+       0,     0,     0,     0,   123,     0,   185,   117,   118,     0,
+       0,   111,   112,     0,     0,     0,   113,     0,     0,   114,
+     115,   119,   120,     0,     0,   121,   122,     0,     0,     0,
+       0,     0,     0,     0,   123,     0,   243,   117,   118,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   119,   120,     0,     0,   121,   122,     0,     0,     0,
+       0,     0,     0,     0,   123
+};
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+static const short int yycheck[] =
+{
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    22,     5,    36,    37,
+       3,    39,    40,    41,    42,    43,    44,    45,    46,   132,
+     133,    49,    50,   129,   231,     7,     4,   133,     0,    57,
+       9,    10,     9,    10,     3,     4,    22,    22,     3,   310,
+       3,     4,    11,    99,     3,     4,    15,    16,    11,     3,
+       4,   100,    15,    16,   103,    43,   100,    84,    85,    43,
+     104,    88,    90,    54,    55,    93,    54,    55,   100,    14,
+     102,    44,    45,   100,   187,   282,    49,    43,    99,   100,
+       3,    97,   353,   111,   112,     4,   114,   115,   116,   117,
+     118,   204,   120,   121,   100,   123,    97,   203,   104,   205,
+     206,   214,   215,   216,   102,   312,   313,    85,     3,   102,
+     101,   213,    97,   101,   100,   217,    85,   101,   100,   147,
+     148,   149,    85,     0,    97,   104,    85,   104,    97,    88,
+     158,    85,    97,   100,    97,   101,   103,   344,    97,    54,
+      55,    97,   100,    97,    99,   103,    97,     3,    84,    85,
+       6,   100,    88,   181,   103,     9,    10,    13,   264,     4,
+     266,    17,    18,    19,    20,    21,     3,    23,   104,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,     4,   298,   101,   300,    99,   100,
+      46,    47,    63,    64,    65,    66,     6,   225,   226,   227,
+     228,    48,   230,    97,    60,    61,   100,    22,     4,   103,
+      24,    67,    68,    97,    97,    97,    72,    73,    74,    75,
+      76,    77,     7,    79,    80,    63,    64,    65,    66,    44,
+      45,   102,    84,    85,    49,   102,    88,    52,    53,    44,
+      45,    97,    69,     4,    49,    44,    45,     4,    53,   101,
+      49,     4,     4,    52,    53,    70,    71,   285,   286,     4,
+      22,     5,   100,   291,   102,    70,    71,   100,     3,    84,
+      85,    70,    71,    88,    89,     3,   100,   305,   306,   307,
+     308,   309,    97,    88,    89,    84,    85,    84,    85,    88,
+      89,    88,    97,   101,     5,    84,    85,   104,    97,    88,
+       4,    99,     4,   100,   103,   333,   100,   104,   336,    99,
+     338,   102,   101,     3,   342,     3,    10,     1,     3,     3,
+     103,    88,     6,   351,     8,     4,     3,   355,     3,    13,
+     101,     3,     3,    17,    18,    19,    20,    21,   366,    23,
+       4,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,     4,   100,    38,   101,
+     100,   102,    46,    47,   110,   237,    50,    51,   163,   364,
+     367,   335,   146,   320,    58,    59,    60,    61,    62,   208,
+     250,   298,   304,    67,    68,   139,   170,   213,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    44,    45,    44,
+      45,   128,    49,   242,    49,    52,    53,    52,    53,    -1,
+      -1,    -1,    -1,    97,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    70,    71,    70,    71,    44,    45,    -1,
+      -1,    -1,    49,    -1,    -1,    52,    53,    84,    85,    84,
+      85,    88,    89,    88,    89,    -1,    63,    64,    65,    66,
+      97,    -1,    97,    70,    71,    44,    45,   104,    -1,   104,
+      49,    44,    45,    52,    53,    -1,    49,    84,    85,    52,
+      53,    88,    89,    -1,    63,    64,    65,    66,    -1,    -1,
+      97,    70,    71,   100,    -1,   102,    -1,    70,    71,    44,
+      45,    -1,    -1,    -1,    49,    84,    85,    52,    53,    88,
+      89,    84,    85,    -1,    -1,    88,    89,    -1,    97,    -1,
+      -1,    -1,    -1,   102,    97,    70,    71,    -1,   101,    -1,
+      -1,    -1,    -1,    44,    45,    -1,    -1,    -1,    49,    84,
+      85,    52,    53,    88,    89,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    97,    44,    45,    -1,   101,    -1,    49,    70,
+      71,    52,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    84,    85,    -1,    -1,    88,    89,    70,
+      71,    -1,    -1,    -1,    -1,    -1,    97,    44,    45,    -1,
+     101,    -1,    49,    84,    85,    52,    53,    88,    89,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    97,    44,    45,    -1,
+     101,    -1,    49,    70,    71,    52,    53,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,
+      -1,    88,    89,    70,    71,    -1,    -1,    -1,    -1,    -1,
+      97,    44,    45,    -1,   101,    -1,    49,    84,    85,    52,
+      53,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      97,    44,    45,    -1,   101,    -1,    49,    70,    71,    52,
+      53,    -1,    -1,    56,    -1,    44,    45,    -1,    -1,    -1,
+      49,    84,    85,    -1,    53,    88,    89,    70,    71,    -1,
+      -1,    44,    45,    -1,    97,    -1,    49,   100,    -1,    52,
+      53,    84,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    97,    -1,    99,    70,    71,    88,
+      89,    44,    45,    -1,    -1,    -1,    49,    -1,    97,    52,
+      53,    84,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    97,    -1,    99,    70,    71,    -1,
+      -1,    44,    45,    -1,    -1,    -1,    49,    -1,    -1,    52,
+      53,    84,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    97,    -1,    99,    70,    71,    -1,
+      -1,    44,    45,    -1,    -1,    -1,    49,    -1,    -1,    52,
+      53,    84,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    97,    -1,    99,    70,    71,    -1,
+      -1,    44,    45,    -1,    -1,    -1,    49,    -1,    -1,    52,
+      53,    84,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    97,    -1,    99,    70,    71,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    84,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    97
+};
 
-#ifndef alloca
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) &amp;&amp; defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
-#include &lt;alloca.h&gt;
-#else /* not sparc */
-#if defined (MSDOS) &amp;&amp; !defined (__TURBOC__)
-#include &lt;malloc.h&gt;
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-#include &lt;malloc.h&gt;
- #pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
-#ifdef __hpux
-#ifdef __cplusplus
-extern &quot;C&quot; {
-void *alloca (unsigned int);
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,   106,   107,     0,     1,     3,     6,     8,    13,    17,
+      18,    19,    20,    21,    23,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      46,    47,    50,    51,    58,    59,    60,    61,    62,    67,
+      68,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      97,   108,   110,   127,   153,   154,    99,    14,   128,     3,
+     125,   126,     3,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
+     127,   127,   127,   127,   127,   127,   127,   127,   127,     4,
+     112,     4,    85,   113,   127,   127,   113,   127,   127,   127,
+     127,   127,   127,   127,   127,    97,   155,     3,   127,   127,
+     109,    44,    45,    49,    52,    53,    56,    70,    71,    84,
+      85,    88,    89,    97,    99,    99,   127,     3,     4,    11,
+      15,    16,    85,    97,   129,   134,   135,   141,   142,   144,
+     147,   148,   149,   152,    97,    99,   100,    22,    22,    22,
+      99,    99,     4,   111,   127,     4,   115,   127,    63,    64,
+      65,    66,   102,   116,   117,   118,     3,   156,     6,   157,
+      48,   104,   110,   127,   127,     4,   127,   127,   127,   127,
+     127,    24,   127,   127,   127,    99,    97,    97,   149,   141,
+      97,    97,   152,    15,    16,   141,   152,     7,    43,    54,
+      55,   101,   132,   133,   102,     9,    10,     3,   102,   138,
+     139,   140,   140,    69,    84,    85,    88,   100,     4,   126,
+     127,   127,   127,     4,    99,   100,   101,    22,   100,   114,
+     101,   127,     4,     4,     4,     5,   114,   100,   100,   104,
+       3,   158,   155,    99,   127,   104,   150,   152,   104,   104,
+     130,   141,     3,    88,   136,   137,   152,   141,   141,   139,
+     100,    54,    55,   101,   143,   101,   145,   147,   148,   152,
+     152,   152,   147,   104,   127,   127,   127,   127,    99,   127,
+     116,     5,   119,   120,     4,     4,   100,    99,   118,     3,
+      43,   101,     7,   100,   157,     3,   151,   134,   100,   103,
+     101,   103,     3,   141,   141,   101,   101,   101,   100,   102,
+     100,   116,     4,   127,   127,     3,   127,     3,   100,   104,
+     131,   137,   152,   104,   146,   146,   127,   127,   127,   127,
+     127,   120,   116,   100,   116,   100,   101,    43,   101,     3,
+     132,   101,   101,   103,   127,   119,   127,     3,   127,     4,
+     127,   100,   116,   100,   103,   101,   127,   102,   121,   122,
+     127,     4,   123,   124,   100,   103,   100,   100,   103,   122,
+     127,   124
 };
-#else /* not __cplusplus */
-void *alloca ();
-#endif /* not __cplusplus */
-#endif /* __hpux */
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc.  */
-#endif /* not GNU C.  */
-#endif /* alloca not defined.  */
-
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
 
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		-2
+#define YYEMPTY		(-2)
 #define YYEOF		0
-#define YYACCEPT	return(0)
-#define YYABORT 	return(1)
-#define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL		goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)					\
 do								\
   if (yychar == YYEMPTY &amp;&amp; yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
-      yychar1 = YYTRANSLATE (yychar);				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
       YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
-    { yyerror (&quot;syntax error: cannot back up&quot;); YYERROR; }	\
+    {								\
+      yyerror (YY_(&quot;syntax error: cannot back up&quot;)); \
+      YYERROR;							\
+    }								\
 while (0)
 
+
 #define YYTERROR	1
 #define YYERRCODE	256
 
-#ifndef YYPURE
-#define YYLEX		yylex()
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (N)								\
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (0)
 #endif
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&amp;yylval, &amp;yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&amp;yylval, &amp;yylloc)
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, &quot;%d.%d-%d.%d&quot;,			\
+              (Loc).first_line, (Loc).first_column,	\
+              (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
 #endif
-#else /* not YYLSP_NEEDED */
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
 #ifdef YYLEX_PARAM
-#define YYLEX		yylex(&amp;yylval, YYLEX_PARAM)
+# define YYLEX yylex (YYLEX_PARAM)
 #else
-#define YYLEX		yylex(&amp;yylval)
+# define YYLEX yylex ()
 #endif
-#endif /* not YYLSP_NEEDED */
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include &lt;stdio.h&gt; /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, &quot;%s &quot;, Title);				\
+      yysymprint (stderr,					\
+                  Type, Value);	\
+      YYFPRINTF (stderr, &quot;\n&quot;);					\
+    }								\
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short int *bottom, short int *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short int *bottom;
+    short int *top;
 #endif
+{
+  YYFPRINTF (stderr, &quot;Stack now&quot;);
+  for (/* Nothing. */; bottom &lt;= top; ++bottom)
+    YYFPRINTF (stderr, &quot; %d&quot;, *bottom);
+  YYFPRINTF (stderr, &quot;\n&quot;);
+}
 
-/* If nonreentrant, generate the variables here */
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (0)
 
-#ifndef YYPURE
 
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
 #endif
+{
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, &quot;Reducing stack by rule %d (line %lu), &quot;,
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 &lt;= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, &quot;%s &quot;, yytname[yyrhs[yyi]]);
+  YYFPRINTF (stderr, &quot;-&gt; %s\n&quot;, yytname[yyr1[yyrule]]);
+}
 
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (Rule);		\
+} while (0)
 
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
-#endif
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
 
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
 
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
 
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
-#endif
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM &lt; YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
 
-#ifndef YYPARSE_RETURN_TYPE
-#define YYPARSE_RETURN_TYPE int
-#endif
+*
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined (__GLIBC__) &amp;&amp; defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
+{
+  const char *yys = yystr;
+
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined (__GLIBC__) &amp;&amp; defined (_STRING_H) &amp;&amp; defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '&quot;')
+    {
+      size_t yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '&quot;':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+#endif /* YYERROR_VERBOSE */
 
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-YYPARSE_RETURN_TYPE yyparse (void);
-#endif
 *
-#if __GNUC__ &gt; 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     int count;
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
 {
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (yytype &lt; YYNTOKENS)
+    YYFPRINTF (yyoutput, &quot;token %s (&quot;, yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, &quot;nterm %s (&quot;, yytname[yytype]);
 
-  while (i-- &gt; 0)
-    *t++ = *f++;
+
+# ifdef YYPRINT
+  if (yytype &lt; YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, &quot;)&quot;);
 }
 
-#else /* __cplusplus */
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
 static void
-__yy_memcpy (char *to, char *from, int count)
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
 {
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (!yymsg)
+    yymsg = &quot;Deleting&quot;;
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
 
-  while (i-- &gt; 0)
-    *t++ = *f++;
+      default:
+        break;
+    }
 }
+*
 
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
 #endif
-#endif
-*
-#line 196 &quot;/usr/share/bison.simple&quot;
+#endif /* ! YYPARSE_PARAM */
+
+
 
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
 
 #ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-YYPARSE_RETURN_TYPE
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+    ;
+#endif
+#endif
 {
-  register int yystate;
-  register int yyn;
-  register short *yyssp;
-  register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
 
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  short int *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
 
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
 
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
 
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
 #define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
 
-  int yystacksize = YYINITDEPTH;
+  YYSIZE_T yystacksize = YYINITDEPTH;
 
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
 
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
   int yylen;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, &quot;Starting parse\n&quot;);
-#endif
+  YYDPRINTF ((stderr, &quot;Starting parse\n&quot;));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -980,242 +1621,208 @@ yyparse(YYPARSE_PARAM_ARG)
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
+  goto yysetstate;
 
-  *++yyssp = yystate;
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
 
-  if (yyssp &gt;= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &amp;'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
+ yysetstate:
+  *yyssp = yystate;
 
+  if (yyss + yystacksize - 1 &lt;= yyssp)
+    {
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow(&quot;parser stack overflow&quot;,
-		 &amp;yyss1, size * sizeof (*yyssp),
-		 &amp;yyvs1, size * sizeof (*yyvsp),
-		 &amp;yyls1, size * sizeof (*yylsp),
-		 &amp;yystacksize);
-#else
-      yyoverflow(&quot;parser stack overflow&quot;,
-		 &amp;yyss1, size * sizeof (*yyssp),
-		 &amp;yyvs1, size * sizeof (*yyvsp),
-		 &amp;yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &amp;'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short int *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_(&quot;memory exhausted&quot;),
+		    &amp;yyss1, yysize * sizeof (*yyssp),
+		    &amp;yyvs1, yysize * sizeof (*yyvsp),
+
+		    &amp;yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
       /* Extend the stack our own way.  */
-      if (yystacksize &gt;= YYMAXDEPTH)
-	{
-	  yyerror(&quot;parser stack overflow&quot;);
-	  return 2;
-	}
+      if (YYMAXDEPTH &lt;= yystacksize)
+	goto yyexhaustedlab;
       yystacksize *= 2;
-      if (yystacksize &gt; YYMAXDEPTH)
+      if (YYMAXDEPTH &lt; yystacksize)
 	yystacksize = YYMAXDEPTH;
-      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
-      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
-#endif
+
+      {
+	short int *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, &quot;Stack size increased to %d\n&quot;, yystacksize);
-#endif
 
-      if (yyssp &gt;= yyss + yystacksize - 1)
+      YYDPRINTF ((stderr, &quot;Stack size increased to %lu\n&quot;,
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 &lt;= yyssp)
 	YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, &quot;Entering state %d\n&quot;, yystate);
-#endif
+  YYDPRINTF ((stderr, &quot;Entering state %d\n&quot;, yystate));
 
   goto yybackup;
- yybackup:
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
 /* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
+/* Read a look-ahead token if we need one and don't already have one.  */
 /* yyresume: */
 
-  /* First try to decide what to do without reference to lookahead token.  */
+  /* First try to decide what to do without reference to look-ahead token.  */
 
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known =&gt; get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
+  /* Not known =&gt; get a look-ahead token if don't already have one.  */
 
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, &quot;Reading a token: &quot;);
-#endif
+      YYDPRINTF ((stderr, &quot;Reading a token: &quot;));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar &lt;= 0)		/* This means end of input. */
+  if (yychar &lt;= YYEOF)
     {
-      yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, &quot;Now at end of input.\n&quot;);
-#endif
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, &quot;Now at end of input.\n&quot;));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, &quot;Next token is %d (%s&quot;, yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, &quot;)\n&quot;);
-	}
-#endif
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT (&quot;Next token is&quot;, yytoken, &amp;yylval, &amp;yylloc);
     }
 
-  yyn += yychar1;
-  if (yyn &lt; 0 || yyn &gt; YYLAST || yycheck[yyn] != yychar1)
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn &lt; 0 || YYLAST &lt; yyn || yycheck[yyn] != yytoken)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative =&gt; reduce, -yyn is rule number.
-     Positive =&gt; shift, yyn is new state.
-       New state is final state =&gt; don't bother to shift,
-       just return success.
-     0, or most negative number =&gt; error.  */
-
-  if (yyn &lt; 0)
+  if (yyn &lt;= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
 	goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, &quot;Shifting token %d (%s), &quot;, yychar, yytname[yychar1]);
-#endif
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT (&quot;Shifting&quot;, yytoken, &amp;yylval, &amp;yylloc);
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
   yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
+
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen &gt; 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      int i;
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
 
-      fprintf (stderr, &quot;Reducing via rule %d (line %d), &quot;,
-	       yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] &gt; 0; i++)
-	fprintf (stderr, &quot;%s &quot;, yytname[yyrhs[i]]);
-      fprintf (stderr, &quot; -&gt; %s\n&quot;, yytname[yyr1[yyn]]);
-    }
-#endif
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
 
 
-  switch (yyn) {
-
-case 1:
-#line 154 &quot;../src/parser.y&quot;
-{ 
-        ;
-    break;}
-case 4:
-#line 159 &quot;../src/parser.y&quot;
-{ assert( current_Declaration_Site == globalDecls);;
-    break;}
-case 6:
-#line 164 &quot;../src/parser.y&quot;
-{
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 2:
+#line 161 &quot;../src/parser.y&quot;
+    { 
+        }
+    break;
+
+  case 5:
+#line 166 &quot;../src/parser.y&quot;
+    { assert( current_Declaration_Site == globalDecls);}
+    break;
+
+  case 7:
+#line 171 &quot;../src/parser.y&quot;
+    {
 		flushScanBuffer();
 		/* Kill all the local declarations -- ejr */
 		Declaration_Site *ds1, *ds2;
@@ -1226,38 +1833,42 @@ case 6:
 		}
                 current_Declaration_Site = globalDecls;
 		yyerror(&quot;skipping to statement end&quot;);
-		;
-    break;}
-case 7:
-#line 177 &quot;../src/parser.y&quot;
-{ flushScanBuffer();
-		;
-    break;}
-case 8:
-#line 180 &quot;../src/parser.y&quot;
-{
+		}
+    break;
+
+  case 8:
+#line 184 &quot;../src/parser.y&quot;
+    { flushScanBuffer();
+		}
+    break;
+
+  case 9:
+#line 187 &quot;../src/parser.y&quot;
+    {
 			  flushScanBuffer();
-			  yyvsp[-1].RELATION-&gt;simplify(min(2,redundant_conj_level),4);
-			  Relation *r = relationMap((Const_String)yyvsp[-3].VAR_NAME);
+			  (yyvsp[-1].RELATION)-&gt;simplify(::min(2,redundant_conj_level),4);
+			  Relation *r = relationMap((Const_String)(yyvsp[-3].VAR_NAME));
 			  if (r) delete r;
-			  relationMap[(Const_String)yyvsp[-3].VAR_NAME] = yyvsp[-1].RELATION; 
-			  delete yyvsp[-3].VAR_NAME;
-			;
-    break;}
-case 9:
-#line 188 &quot;../src/parser.y&quot;
-{ 
+			  relationMap[(Const_String)(yyvsp[-3].VAR_NAME)] = (yyvsp[-1].RELATION); 
+			  delete (yyvsp[-3].VAR_NAME);
+			}
+    break;
+
+  case 10:
+#line 195 &quot;../src/parser.y&quot;
+    { 
 			  flushScanBuffer();
 			printf(&quot;\n&quot;); 
-			yyvsp[-1].RELATION-&gt;simplify(redundant_conj_level,4);
-			yyvsp[-1].RELATION-&gt;print_with_subs(stdout); 
+			(yyvsp[-1].RELATION)-&gt;simplify(redundant_conj_level,4);
+			(yyvsp[-1].RELATION)-&gt;print_with_subs(stdout); 
 			printf(&quot;\n&quot;); 
-			delete yyvsp[-1].RELATION;
-			;
-    break;}
-case 10:
-#line 196 &quot;../src/parser.y&quot;
-{
+			delete (yyvsp[-1].RELATION);
+			}
+    break;
+
+  case 11:
+#line 203 &quot;../src/parser.y&quot;
+    {
 
 #if defined(OMIT_GETRUSAGE)
 	    printf(&quot;'time' requires getrusage, but the omega calclator was compiled with OMIT_GETRUSAGE set!\n&quot;);
@@ -1269,16 +1880,16 @@ case 10:
 			int t;
 			Relation R;
 			bool SKIP_FULL_CHECK = getenv(&quot;OC_TIMING_SKIP_FULL_CHECK&quot;);
-			(yyvsp[-1].RELATION)-&gt;and_with_GEQ();
+			((yyvsp[-1].RELATION))-&gt;and_with_GEQ();
 			start_clock();
 			for (t=1;t&lt;=100;t++) {
-				R = *yyvsp[-1].RELATION;
+				R = *(yyvsp[-1].RELATION);
 				R.finalize();
 				}
 			int copyTime = clock_diff();
 			start_clock();
 			for (t=1;t&lt;=100;t++) {
-				R = *yyvsp[-1].RELATION;
+				R = *(yyvsp[-1].RELATION);
 				R.finalize();
 				R.simplify();
 				}
@@ -1288,7 +1899,7 @@ case 10:
 			  {
 			    start_clock();
 			    for (t=1;t&lt;=100;t++) {
-			      R2 = *yyvsp[-1].RELATION;
+			      R2 = *(yyvsp[-1].RELATION);
 			      R2.finalize();
 			      R2.simplify(2,4);
 			    }
@@ -1338,13 +1949,14 @@ printf(&quot;was substantially faster on the limited domain it handled.\n&quot;);
 				printf(&quot;	   the Omega Team \n&quot;);	
 				}			 
 			anyTimingDone = true;
-			delete yyvsp[-1].RELATION;
+			delete (yyvsp[-1].RELATION);
 #endif
-			;
-    break;}
-case 11:
-#line 280 &quot;../src/parser.y&quot;
-{
+			}
+    break;
+
+  case 12:
+#line 287 &quot;../src/parser.y&quot;
+    {
 
 #if defined(OMIT_GETRUSAGE)
 	    printf(&quot;'timeclosure' requires getrusage, but the omega calclator was compiled with OMIT_GETRUSAGE set!\n&quot;);
@@ -1353,16 +1965,16 @@ case 11:
 			printf(&quot;\n&quot;);
 			int t;
 			Relation R;
-			(yyvsp[-1].RELATION)-&gt;and_with_GEQ();
+			((yyvsp[-1].RELATION))-&gt;and_with_GEQ();
 			start_clock();
 			for (t=1;t&lt;=100;t++) {
-				R = *yyvsp[-1].RELATION;
+				R = *(yyvsp[-1].RELATION);
 				R.finalize();
 				}
 			int copyTime = clock_diff();
 			start_clock();
 			for (t=1;t&lt;=100;t++) {
-				R = *yyvsp[-1].RELATION;
+				R = *(yyvsp[-1].RELATION);
 				R.finalize();
 				R.simplify();
 				};
@@ -1370,7 +1982,7 @@ case 11:
 			Relation Rclosed;
 			start_clock();
 			for (t=1;t&lt;=100;t++) {
-				Rclosed = *yyvsp[-1].RELATION;
+				Rclosed = *(yyvsp[-1].RELATION);
 				Rclosed.finalize();
 				Rclosed = TransitiveClosure(Rclosed, 1,Relation::Null());
 				};
@@ -1378,7 +1990,7 @@ case 11:
 			Relation R2;
 			start_clock();
 			for (t=1;t&lt;=100;t++) {
-				R2 = *yyvsp[-1].RELATION;
+				R2 = *(yyvsp[-1].RELATION);
 				R2.finalize();
 				R2.simplify(2,4);
 				};
@@ -1427,50 +2039,54 @@ printf(&quot;was substantially faster on the limited domain it handled.\n&quot;);
 				printf(&quot;	   the Omega Team \n&quot;);	
 				}			 
 			anyTimingDone = true;
-			delete yyvsp[-1].RELATION;
+			delete (yyvsp[-1].RELATION);
 #endif
-			;
-    break;}
-case 12:
-#line 368 &quot;../src/parser.y&quot;
-{
+			}
+    break;
+
+  case 13:
+#line 375 &quot;../src/parser.y&quot;
+    {
 			  flushScanBuffer();
-	                int c = Must_Be_Subset(*yyvsp[-3].RELATION, *yyvsp[-1].RELATION);
+	                int c = Must_Be_Subset(*(yyvsp[-3].RELATION), *(yyvsp[-1].RELATION));
 			printf(&quot;\n%s\n&quot;, c ? &quot;True&quot; : &quot;False&quot;);
-			delete yyvsp[-3].RELATION;
-			delete yyvsp[-1].RELATION;
-			;
-    break;}
-case 13:
-#line 376 &quot;../src/parser.y&quot;
-{
+			delete (yyvsp[-3].RELATION);
+			delete (yyvsp[-1].RELATION);
+			}
+    break;
+
+  case 14:
+#line 383 &quot;../src/parser.y&quot;
+    {
 			  flushScanBuffer();
-			  String s = MMGenerateCode(yyvsp[-2].REL_TUPLE_PAIR-&gt;mappings, yyvsp[-2].REL_TUPLE_PAIR-&gt;ispaces,*yyvsp[-1].RELATION,yyvsp[-3].INT_VALUE);
-			  delete yyvsp[-1].RELATION;
-			  delete yyvsp[-2].REL_TUPLE_PAIR;
+			  String s = MMGenerateCode((yyvsp[-2].REL_TUPLE_PAIR)-&gt;mappings, (yyvsp[-2].REL_TUPLE_PAIR)-&gt;ispaces,*(yyvsp[-1].RELATION),(yyvsp[-3].INT_VALUE));
+			  delete (yyvsp[-1].RELATION);
+			  delete (yyvsp[-2].REL_TUPLE_PAIR);
 			  printf(&quot;%s\n&quot;, (const char *) s); 
-	               ;
-    break;}
-case 14:
-#line 384 &quot;../src/parser.y&quot;
-{
+	               }
+    break;
+
+  case 15:
+#line 391 &quot;../src/parser.y&quot;
+    {
 			  flushScanBuffer();
-			  String s = tcodegen(yyvsp[-3].INT_VALUE, *(yyvsp[-2].STM_INFO_TUPLE), *(yyvsp[-1].RELATION));
-			  delete yyvsp[-1].RELATION;
-			  delete yyvsp[-2].STM_INFO_TUPLE;
+			  String s = tcodegen((yyvsp[-3].INT_VALUE), *((yyvsp[-2].STM_INFO_TUPLE)), *((yyvsp[-1].RELATION)));
+			  delete (yyvsp[-1].RELATION);
+			  delete (yyvsp[-2].STM_INFO_TUPLE);
 			  printf(&quot;%s\n&quot;, (const char *) s); 
-			;
-    break;}
-case 15:
-#line 401 &quot;../src/parser.y&quot;
-{
+			}
+    break;
+
+  case 16:
+#line 408 &quot;../src/parser.y&quot;
+    {
 	    Tuple&lt;Free_Var_Decl*&gt; lowerBounds(0), upperBounds(0), my_procs(0);
             Tuple&lt;spmd_stmt_info *&gt; names(0);
 
 	    flushScanBuffer();
-	    int nr_statements = yyvsp[-1].REL_TUPLE_TRIPLE-&gt;space.size();
+	    int nr_statements = (yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;space.size();
 
-	    for (int i = 1; i&lt;= yyvsp[-1].REL_TUPLE_TRIPLE-&gt;space[1].n_out(); i++)
+	    for (int i = 1; i&lt;= (yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;space[1].n_out(); i++)
 		{
 	        lowerBounds.append(new Free_Var_Decl(&quot;lb&quot; + itoS(i)));
 	        upperBounds.append(new Free_Var_Decl(&quot;ub&quot; + itoS(i)));
@@ -1478,23 +2094,24 @@ case 15:
 		}
 
             for (int p = 1; p &lt;= nr_statements; p++)
-                names.append(new numbered_stmt_info(p-1, Identity(yyvsp[-1].REL_TUPLE_TRIPLE-&gt;time[p].n_out()),
-					            yyvsp[-1].REL_TUPLE_TRIPLE-&gt;space[p], 
+                names.append(new numbered_stmt_info(p-1, Identity((yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;time[p].n_out()),
+					            (yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;space[p], 
 					(char *)(const char *)(&quot;s&quot;+itoS(p-1))));
 
-	    String s = SPMD_GenerateCode(&quot;&quot;, yyvsp[-1].REL_TUPLE_TRIPLE-&gt;space, yyvsp[-1].REL_TUPLE_TRIPLE-&gt;time, yyvsp[-1].REL_TUPLE_TRIPLE-&gt;ispaces, 
+	    String s = SPMD_GenerateCode(&quot;&quot;, (yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;space, (yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;time, (yyvsp[-1].REL_TUPLE_TRIPLE)-&gt;ispaces, 
 					 names,
 					 lowerBounds, upperBounds, my_procs,
                                          nr_statements);
 
-	    delete yyvsp[-1].REL_TUPLE_TRIPLE;
+	    delete (yyvsp[-1].REL_TUPLE_TRIPLE);
 	    printf(&quot;%s\n&quot;, (const char *) s); 
-            ;
-    break;}
-case 16:
-#line 429 &quot;../src/parser.y&quot;
-{ 	flushScanBuffer();
-		Dynamic_Array1&lt;Relation&gt; &amp;final = *yyvsp[-1].RELATION_ARRAY_1D;
+            }
+    break;
+
+  case 17:
+#line 436 &quot;../src/parser.y&quot;
+    { 	flushScanBuffer();
+		Dynamic_Array1&lt;Relation&gt; &amp;final = *(yyvsp[-1].RELATION_ARRAY_1D);
 		bool any_sat=false;
 		int i,n_nodes = reachable_info-&gt;node_names.size();
 		for(i = 1; i &lt;= n_nodes; i++) if(final[i].is_upper_bound_satisfiable()) {
@@ -1505,1016 +2122,1159 @@ case 16:
 		}
 		if(!any_sat)
 		  fprintf(stdout,&quot;No nodes reachable.\n&quot;);
-		delete yyvsp[-1].RELATION_ARRAY_1D;
+		delete (yyvsp[-1].RELATION_ARRAY_1D);
 		delete reachable_info;
-	;
-    break;}
-case 17:
-#line 447 &quot;../src/parser.y&quot;
-{
-                yyvsp[-6].REL_TUPLE_TRIPLE-&gt;space.append(*yyvsp[-4].RELATION);
-                yyvsp[-6].REL_TUPLE_TRIPLE-&gt;time.append(*yyvsp[-2].RELATION);
-                yyvsp[-6].REL_TUPLE_TRIPLE-&gt;ispaces.append(*yyvsp[0].RELATION);
-                delete yyvsp[-4].RELATION;
-                delete yyvsp[-2].RELATION;
-                delete yyvsp[0].RELATION;
-                yyval.REL_TUPLE_TRIPLE = yyvsp[-6].REL_TUPLE_TRIPLE;
-                ;
-    break;}
-case 18:
-#line 457 &quot;../src/parser.y&quot;
-{
+	}
+    break;
+
+  case 18:
+#line 454 &quot;../src/parser.y&quot;
+    {
+                (yyvsp[-6].REL_TUPLE_TRIPLE)-&gt;space.append(*(yyvsp[-4].RELATION));
+                (yyvsp[-6].REL_TUPLE_TRIPLE)-&gt;time.append(*(yyvsp[-2].RELATION));
+                (yyvsp[-6].REL_TUPLE_TRIPLE)-&gt;ispaces.append(*(yyvsp[0].RELATION));
+                delete (yyvsp[-4].RELATION);
+                delete (yyvsp[-2].RELATION);
+                delete (yyvsp[0].RELATION);
+                (yyval.REL_TUPLE_TRIPLE) = (yyvsp[-6].REL_TUPLE_TRIPLE);
+                }
+    break;
+
+  case 19:
+#line 464 &quot;../src/parser.y&quot;
+    {
                 RelTupleTriple *rtt = new RelTupleTriple;
-                rtt-&gt;space.append(*yyvsp[-4].RELATION);
-                rtt-&gt;time.append(*yyvsp[-2].RELATION);
-                rtt-&gt;ispaces.append(*yyvsp[0].RELATION);
-                delete yyvsp[-4].RELATION;
-                delete yyvsp[-2].RELATION;
-                delete yyvsp[0].RELATION;
-                yyval.REL_TUPLE_TRIPLE = rtt;
-                ;
-    break;}
-case 19:
-#line 469 &quot;../src/parser.y&quot;
-{ Block_Size = 0; Num_Procs = 0; overheadEffort=0; ;
-    break;}
-case 20:
-#line 470 &quot;../src/parser.y&quot;
-{ Block_Size = yyvsp[0].INT_VALUE; Num_Procs = 0; overheadEffort=0;;
-    break;}
-case 21:
-#line 471 &quot;../src/parser.y&quot;
-{ Block_Size = yyvsp[-1].INT_VALUE; Num_Procs = yyvsp[0].INT_VALUE; overheadEffort=0;;
-    break;}
-case 22:
-#line 472 &quot;../src/parser.y&quot;
-{ Block_Size = yyvsp[-2].INT_VALUE; Num_Procs = yyvsp[-1].INT_VALUE; overheadEffort=yyvsp[0].INT_VALUE;;
-    break;}
-case 23:
-#line 475 &quot;../src/parser.y&quot;
-{ yyval.INT_VALUE = 0; ;
-    break;}
-case 24:
+                rtt-&gt;space.append(*(yyvsp[-4].RELATION));
+                rtt-&gt;time.append(*(yyvsp[-2].RELATION));
+                rtt-&gt;ispaces.append(*(yyvsp[0].RELATION));
+                delete (yyvsp[-4].RELATION);
+                delete (yyvsp[-2].RELATION);
+                delete (yyvsp[0].RELATION);
+                (yyval.REL_TUPLE_TRIPLE) = rtt;
+                }
+    break;
+
+  case 20:
 #line 476 &quot;../src/parser.y&quot;
-{ yyval.INT_VALUE = yyvsp[0].INT_VALUE; ;
-    break;}
-case 25:
+    { Block_Size = 0; Num_Procs = 0; overheadEffort=0; }
+    break;
+
+  case 21:
 #line 477 &quot;../src/parser.y&quot;
-{ yyval.INT_VALUE = -yyvsp[0].INT_VALUE; ;
-    break;}
-case 26:
-#line 480 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		*yyval.RELATION = Relation::Null(); ;
-    break;}
-case 27:
+    { Block_Size = (yyvsp[0].INT_VALUE); Num_Procs = 0; overheadEffort=0;}
+    break;
+
+  case 22:
+#line 478 &quot;../src/parser.y&quot;
+    { Block_Size = (yyvsp[-1].INT_VALUE); Num_Procs = (yyvsp[0].INT_VALUE); overheadEffort=0;}
+    break;
+
+  case 23:
+#line 479 &quot;../src/parser.y&quot;
+    { Block_Size = (yyvsp[-2].INT_VALUE); Num_Procs = (yyvsp[-1].INT_VALUE); overheadEffort=(yyvsp[0].INT_VALUE);}
+    break;
+
+  case 24:
 #line 482 &quot;../src/parser.y&quot;
-{yyval.RELATION = yyvsp[0].RELATION; ;
-    break;}
-case 28:
-#line 486 &quot;../src/parser.y&quot;
-{
-	        yyvsp[-4].REL_TUPLE_PAIR-&gt;mappings.append(*yyvsp[-2].RELATION);
-		yyvsp[-4].REL_TUPLE_PAIR-&gt;mappings[yyvsp[-4].REL_TUPLE_PAIR-&gt;mappings.size()].compress();
-		yyvsp[-4].REL_TUPLE_PAIR-&gt;ispaces.append(*yyvsp[0].RELATION);
-		yyvsp[-4].REL_TUPLE_PAIR-&gt;ispaces[yyvsp[-4].REL_TUPLE_PAIR-&gt;ispaces.size()].compress();
-		delete yyvsp[-2].RELATION;
-		delete yyvsp[0].RELATION;
-	        yyval.REL_TUPLE_PAIR = yyvsp[-4].REL_TUPLE_PAIR;
-                ;
-    break;}
-case 29:
-#line 496 &quot;../src/parser.y&quot;
-{
-	        yyvsp[-2].REL_TUPLE_PAIR-&gt;mappings.append(Identity(yyvsp[0].RELATION-&gt;n_set()));
-		yyvsp[-2].REL_TUPLE_PAIR-&gt;mappings[yyvsp[-2].REL_TUPLE_PAIR-&gt;mappings.size()].compress();
-		yyvsp[-2].REL_TUPLE_PAIR-&gt;ispaces.append(*yyvsp[0].RELATION);
-		yyvsp[-2].REL_TUPLE_PAIR-&gt;ispaces[yyvsp[-2].REL_TUPLE_PAIR-&gt;ispaces.size()].compress();
-		delete yyvsp[0].RELATION;
-	        yyval.REL_TUPLE_PAIR = yyvsp[-2].REL_TUPLE_PAIR;
-                ;
-    break;}
-case 30:
-#line 505 &quot;../src/parser.y&quot;
-{
+    { (yyval.INT_VALUE) = 0; }
+    break;
+
+  case 25:
+#line 483 &quot;../src/parser.y&quot;
+    { (yyval.INT_VALUE) = (yyvsp[0].INT_VALUE); }
+    break;
+
+  case 26:
+#line 484 &quot;../src/parser.y&quot;
+    { (yyval.INT_VALUE) = -(yyvsp[0].INT_VALUE); }
+    break;
+
+  case 27:
+#line 487 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Relation::Null(); }
+    break;
+
+  case 28:
+#line 489 &quot;../src/parser.y&quot;
+    {(yyval.RELATION) = (yyvsp[0].RELATION); }
+    break;
+
+  case 29:
+#line 493 &quot;../src/parser.y&quot;
+    {
+	        (yyvsp[-4].REL_TUPLE_PAIR)-&gt;mappings.append(*(yyvsp[-2].RELATION));
+		(yyvsp[-4].REL_TUPLE_PAIR)-&gt;mappings[(yyvsp[-4].REL_TUPLE_PAIR)-&gt;mappings.size()].compress();
+		(yyvsp[-4].REL_TUPLE_PAIR)-&gt;ispaces.append(*(yyvsp[0].RELATION));
+		(yyvsp[-4].REL_TUPLE_PAIR)-&gt;ispaces[(yyvsp[-4].REL_TUPLE_PAIR)-&gt;ispaces.size()].compress();
+		delete (yyvsp[-2].RELATION);
+		delete (yyvsp[0].RELATION);
+	        (yyval.REL_TUPLE_PAIR) = (yyvsp[-4].REL_TUPLE_PAIR);
+                }
+    break;
+
+  case 30:
+#line 503 &quot;../src/parser.y&quot;
+    {
+	        (yyvsp[-2].REL_TUPLE_PAIR)-&gt;mappings.append(Identity((yyvsp[0].RELATION)-&gt;n_set()));
+		(yyvsp[-2].REL_TUPLE_PAIR)-&gt;mappings[(yyvsp[-2].REL_TUPLE_PAIR)-&gt;mappings.size()].compress();
+		(yyvsp[-2].REL_TUPLE_PAIR)-&gt;ispaces.append(*(yyvsp[0].RELATION));
+		(yyvsp[-2].REL_TUPLE_PAIR)-&gt;ispaces[(yyvsp[-2].REL_TUPLE_PAIR)-&gt;ispaces.size()].compress();
+		delete (yyvsp[0].RELATION);
+	        (yyval.REL_TUPLE_PAIR) = (yyvsp[-2].REL_TUPLE_PAIR);
+                }
+    break;
+
+  case 31:
+#line 512 &quot;../src/parser.y&quot;
+    {
                 RelTuplePair *rtp = new RelTuplePair;
-	        rtp-&gt;mappings.append(*yyvsp[-2].RELATION);
+	        rtp-&gt;mappings.append(*(yyvsp[-2].RELATION));
 		rtp-&gt;mappings[rtp-&gt;mappings.size()].compress();
-	        rtp-&gt;ispaces.append(*yyvsp[0].RELATION);
+	        rtp-&gt;ispaces.append(*(yyvsp[0].RELATION));
 		rtp-&gt;ispaces[rtp-&gt;ispaces.size()].compress();
-		delete yyvsp[-2].RELATION;
-		delete yyvsp[0].RELATION;
-	        yyval.REL_TUPLE_PAIR = rtp;
-		;
-    break;}
-case 31:
-#line 516 &quot;../src/parser.y&quot;
-{
+		delete (yyvsp[-2].RELATION);
+		delete (yyvsp[0].RELATION);
+	        (yyval.REL_TUPLE_PAIR) = rtp;
+		}
+    break;
+
+  case 32:
+#line 523 &quot;../src/parser.y&quot;
+    {
                 RelTuplePair *rtp = new RelTuplePair;
-	        rtp-&gt;mappings.append(Identity(yyvsp[0].RELATION-&gt;n_set()));
+	        rtp-&gt;mappings.append(Identity((yyvsp[0].RELATION)-&gt;n_set()));
 		rtp-&gt;mappings[rtp-&gt;mappings.size()].compress();
-	        rtp-&gt;ispaces.append(*yyvsp[0].RELATION);
+	        rtp-&gt;ispaces.append(*(yyvsp[0].RELATION));
 		rtp-&gt;ispaces[rtp-&gt;ispaces.size()].compress();
-		delete yyvsp[0].RELATION;
-	        yyval.REL_TUPLE_PAIR = rtp;
-                ;
-    break;}
-case 32:
-#line 528 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = yyvsp[0].STM_INFO_TUPLE; ;
-    break;}
-case 33:
+		delete (yyvsp[0].RELATION);
+	        (yyval.REL_TUPLE_PAIR) = rtp;
+                }
+    break;
+
+  case 33:
 #line 535 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = &amp;Trans_IS(*(yyvsp[0].STM_INFO_TUPLE), *(yyvsp[-1].RELATION));
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 34:
-#line 539 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = &amp;Set_MMap(*(yyvsp[0].STM_INFO_TUPLE), yyvsp[-2].INT_VALUE, *(yyvsp[-1].MMAP));
-		  delete yyvsp[-1].MMAP;
-		;
-    break;}
-case 35:
-#line 543 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = &amp;Unroll_One_IS(*(yyvsp[0].STM_INFO_TUPLE), yyvsp[-3].INT_VALUE, yyvsp[-2].INT_VALUE, yyvsp[-1].INT_VALUE);;
-    break;}
-case 36:
-#line 545 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = &amp;Peel_One_IS(*(yyvsp[0].STM_INFO_TUPLE), yyvsp[-3].INT_VALUE, yyvsp[-2].INT_VALUE, *(yyvsp[-1].RELATION));
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 37:
-#line 549 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = &amp;Peel_One_IS(*(yyvsp[0].STM_INFO_TUPLE), yyvsp[-5].INT_VALUE, yyvsp[-4].INT_VALUE, *(yyvsp[-3].RELATION), *(yyvsp[-1].RELATION));
-		  delete yyvsp[-3].RELATION;
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 38:
-#line 555 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = new Tuple&lt;stm_info&gt;;
-						  yyval.STM_INFO_TUPLE-&gt;append(*(yyvsp[0].STM_INFO));
-						  delete yyvsp[0].STM_INFO; ;
-    break;}
-case 39:
-#line 558 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO_TUPLE = yyvsp[-2].STM_INFO_TUPLE;
-						  yyval.STM_INFO_TUPLE-&gt;append(*(yyvsp[0].STM_INFO));
-						  delete yyvsp[0].STM_INFO; ;
-    break;}
-case 40:
-#line 564 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO = yyvsp[-1].STM_INFO;
-		  yyval.STM_INFO-&gt;stm = *(yyvsp[-7].STRING_VALUE); delete yyvsp[-7].STRING_VALUE;
-		  yyval.STM_INFO-&gt;IS  = *(yyvsp[-5].RELATION); delete yyvsp[-5].RELATION;
-		  yyval.STM_INFO-&gt;map = *(yyvsp[-3].MMAP); delete yyvsp[-3].MMAP;
-		  ;
-    break;}
-case 41:
-#line 570 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO = new stm_info;
-		  yyval.STM_INFO-&gt;stm = *(yyvsp[-5].STRING_VALUE); delete yyvsp[-5].STRING_VALUE;
-		  yyval.STM_INFO-&gt;IS  = *(yyvsp[-3].RELATION); delete yyvsp[-3].RELATION;
-		  yyval.STM_INFO-&gt;map = *(yyvsp[-1].MMAP); delete yyvsp[-1].MMAP;
-		;
-    break;}
-case 42:
-#line 578 &quot;../src/parser.y&quot;
-{ yyval.MMAP = yyvsp[-2].MMAP;
-				  yyval.MMAP-&gt;partials.append(*(yyvsp[0].PMMAP)); delete yyvsp[0].PMMAP;
-				;
-    break;}
-case 43:
-#line 581 &quot;../src/parser.y&quot;
-{ yyval.MMAP = new MMap;
-				  yyval.MMAP-&gt;partials.append(*(yyvsp[0].PMMAP)); delete yyvsp[0].PMMAP;
-				;
-    break;}
-case 44:
-#line 587 &quot;../src/parser.y&quot;
-{ yyval.PMMAP = new PartialMMap;
-					  yyval.PMMAP-&gt;mapping = *(yyvsp[0].RELATION); delete yyvsp[0].RELATION;
-					  yyval.PMMAP-&gt;bounds  = *(yyvsp[-3].RELATION); delete yyvsp[-3].RELATION;
-					  yyval.PMMAP-&gt;var     = *(yyvsp[-5].STRING_VALUE); delete yyvsp[-5].STRING_VALUE;
-					;
-    break;}
-case 45:
-#line 592 &quot;../src/parser.y&quot;
-{ yyval.PMMAP = new PartialMMap;
-					  yyval.PMMAP-&gt;mapping = *(yyvsp[0].RELATION); delete yyvsp[0].RELATION;
-					  yyval.PMMAP-&gt;bounds  = Relation::True(0);
-					  yyval.PMMAP-&gt;var     = *(yyvsp[-2].STRING_VALUE); delete yyvsp[-2].STRING_VALUE;
-					;
-    break;}
-case 46:
+    { (yyval.STM_INFO_TUPLE) = (yyvsp[0].STM_INFO_TUPLE); }
+    break;
+
+  case 34:
+#line 542 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = &amp;Trans_IS(*((yyvsp[0].STM_INFO_TUPLE)), *((yyvsp[-1].RELATION)));
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 35:
+#line 546 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = &amp;Set_MMap(*((yyvsp[0].STM_INFO_TUPLE)), (yyvsp[-2].INT_VALUE), *((yyvsp[-1].MMAP)));
+		  delete (yyvsp[-1].MMAP);
+		}
+    break;
+
+  case 36:
+#line 550 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = &amp;Unroll_One_IS(*((yyvsp[0].STM_INFO_TUPLE)), (yyvsp[-3].INT_VALUE), (yyvsp[-2].INT_VALUE), (yyvsp[-1].INT_VALUE));}
+    break;
+
+  case 37:
+#line 552 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = &amp;Peel_One_IS(*((yyvsp[0].STM_INFO_TUPLE)), (yyvsp[-3].INT_VALUE), (yyvsp[-2].INT_VALUE), *((yyvsp[-1].RELATION)));
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 38:
+#line 556 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = &amp;Peel_One_IS(*((yyvsp[0].STM_INFO_TUPLE)), (yyvsp[-5].INT_VALUE), (yyvsp[-4].INT_VALUE), *((yyvsp[-3].RELATION)), *((yyvsp[-1].RELATION)));
+		  delete (yyvsp[-3].RELATION);
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 39:
+#line 562 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = new Tuple&lt;stm_info&gt;;
+						  (yyval.STM_INFO_TUPLE)-&gt;append(*((yyvsp[0].STM_INFO)));
+						  delete (yyvsp[0].STM_INFO); }
+    break;
+
+  case 40:
+#line 565 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO_TUPLE) = (yyvsp[-2].STM_INFO_TUPLE);
+						  (yyval.STM_INFO_TUPLE)-&gt;append(*((yyvsp[0].STM_INFO)));
+						  delete (yyvsp[0].STM_INFO); }
+    break;
+
+  case 41:
+#line 571 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO) = (yyvsp[-1].STM_INFO);
+		  (yyval.STM_INFO)-&gt;stm = *((yyvsp[-7].STRING_VALUE)); delete (yyvsp[-7].STRING_VALUE);
+		  (yyval.STM_INFO)-&gt;IS  = *((yyvsp[-5].RELATION)); delete (yyvsp[-5].RELATION);
+		  (yyval.STM_INFO)-&gt;map = *((yyvsp[-3].MMAP)); delete (yyvsp[-3].MMAP);
+		  }
+    break;
+
+  case 42:
+#line 577 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO) = new stm_info;
+		  (yyval.STM_INFO)-&gt;stm = *((yyvsp[-5].STRING_VALUE)); delete (yyvsp[-5].STRING_VALUE);
+		  (yyval.STM_INFO)-&gt;IS  = *((yyvsp[-3].RELATION)); delete (yyvsp[-3].RELATION);
+		  (yyval.STM_INFO)-&gt;map = *((yyvsp[-1].MMAP)); delete (yyvsp[-1].MMAP);
+		}
+    break;
+
+  case 43:
+#line 585 &quot;../src/parser.y&quot;
+    { (yyval.MMAP) = (yyvsp[-2].MMAP);
+				  (yyval.MMAP)-&gt;partials.append(*((yyvsp[0].PMMAP))); delete (yyvsp[0].PMMAP);
+				}
+    break;
+
+  case 44:
+#line 588 &quot;../src/parser.y&quot;
+    { (yyval.MMAP) = new MMap;
+				  (yyval.MMAP)-&gt;partials.append(*((yyvsp[0].PMMAP))); delete (yyvsp[0].PMMAP);
+				}
+    break;
+
+  case 45:
+#line 594 &quot;../src/parser.y&quot;
+    { (yyval.PMMAP) = new PartialMMap;
+					  (yyval.PMMAP)-&gt;mapping = *((yyvsp[0].RELATION)); delete (yyvsp[0].RELATION);
+					  (yyval.PMMAP)-&gt;bounds  = *((yyvsp[-3].RELATION)); delete (yyvsp[-3].RELATION);
+					  (yyval.PMMAP)-&gt;var     = *((yyvsp[-5].STRING_VALUE)); delete (yyvsp[-5].STRING_VALUE);
+					}
+    break;
+
+  case 46:
 #line 599 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO = yyvsp[-2].STM_INFO;
-				  yyval.STM_INFO-&gt;read.append(*(yyvsp[0].READ)); delete yyvsp[0].READ;
-				;
-    break;}
-case 47:
-#line 602 &quot;../src/parser.y&quot;
-{ yyval.STM_INFO = new stm_info;
-				  yyval.STM_INFO-&gt;read.append(*(yyvsp[0].READ)); delete yyvsp[0].READ;
-				;
-    break;}
-case 48:
-#line 607 &quot;../src/parser.y&quot;
-{ yyval.READ = yyvsp[-1].READ; ;
-    break;}
-case 49:
-#line 610 &quot;../src/parser.y&quot;
-{ yyval.READ = yyvsp[-2].READ;
-				  yyval.READ-&gt;partials.append(*(yyvsp[0].PREAD)); delete yyvsp[0].PREAD;
-				;
-    break;}
-case 50:
-#line 613 &quot;../src/parser.y&quot;
-{ yyval.READ = new Read;
-				  yyval.READ-&gt;partials.append(*(yyvsp[0].PREAD)); delete yyvsp[0].PREAD;
-				;
-    break;}
-case 51:
-#line 618 &quot;../src/parser.y&quot;
-{ yyval.PREAD = new PartialRead;
-				  yyval.PREAD-&gt;from = yyvsp[-2].INT_VALUE;
-				  yyval.PREAD-&gt;dataFlow = *(yyvsp[0].RELATION); delete yyvsp[0].RELATION;
-				;
-    break;}
-case 54:
-#line 629 &quot;../src/parser.y&quot;
-{ globalDecls-&gt;extend_both_tuples(yyvsp[-3].VAR_NAME, yyvsp[-1].INT_VALUE); free(yyvsp[-3].VAR_NAME); ;
-    break;}
-case 55:
-#line 631 &quot;../src/parser.y&quot;
-{ globalDecls-&gt;extend(yyvsp[0].VAR_NAME); free(yyvsp[0].VAR_NAME); ;
-    break;}
-case 56:
-#line 635 &quot;../src/parser.y&quot;
-{ relationDecl = new Declaration_Site(); ;
-    break;}
-case 57:
+    { (yyval.PMMAP) = new PartialMMap;
+					  (yyval.PMMAP)-&gt;mapping = *((yyvsp[0].RELATION)); delete (yyvsp[0].RELATION);
+					  (yyval.PMMAP)-&gt;bounds  = Relation::True(0);
+					  (yyval.PMMAP)-&gt;var     = *((yyvsp[-2].STRING_VALUE)); delete (yyvsp[-2].STRING_VALUE);
+					}
+    break;
+
+  case 47:
+#line 606 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO) = (yyvsp[-2].STM_INFO);
+				  (yyval.STM_INFO)-&gt;read.append(*((yyvsp[0].READ))); delete (yyvsp[0].READ);
+				}
+    break;
+
+  case 48:
+#line 609 &quot;../src/parser.y&quot;
+    { (yyval.STM_INFO) = new stm_info;
+				  (yyval.STM_INFO)-&gt;read.append(*((yyvsp[0].READ))); delete (yyvsp[0].READ);
+				}
+    break;
+
+  case 49:
+#line 614 &quot;../src/parser.y&quot;
+    { (yyval.READ) = (yyvsp[-1].READ); }
+    break;
+
+  case 50:
+#line 617 &quot;../src/parser.y&quot;
+    { (yyval.READ) = (yyvsp[-2].READ);
+				  (yyval.READ)-&gt;partials.append(*((yyvsp[0].PREAD))); delete (yyvsp[0].PREAD);
+				}
+    break;
+
+  case 51:
+#line 620 &quot;../src/parser.y&quot;
+    { (yyval.READ) = new Read;
+				  (yyval.READ)-&gt;partials.append(*((yyvsp[0].PREAD))); delete (yyvsp[0].PREAD);
+				}
+    break;
+
+  case 52:
+#line 625 &quot;../src/parser.y&quot;
+    { (yyval.PREAD) = new PartialRead;
+				  (yyval.PREAD)-&gt;from = (yyvsp[-2].INT_VALUE);
+				  (yyval.PREAD)-&gt;dataFlow = *((yyvsp[0].RELATION)); delete (yyvsp[0].RELATION);
+				}
+    break;
+
+  case 55:
+#line 636 &quot;../src/parser.y&quot;
+    { globalDecls-&gt;extend_both_tuples((yyvsp[-3].VAR_NAME), (yyvsp[-1].INT_VALUE)); free((yyvsp[-3].VAR_NAME)); }
+    break;
+
+  case 56:
 #line 638 &quot;../src/parser.y&quot;
-{ yyval.RELATION = yyvsp[-1].RELATION; 
+    { globalDecls-&gt;extend((yyvsp[0].VAR_NAME)); free((yyvsp[0].VAR_NAME)); }
+    break;
+
+  case 57:
+#line 642 &quot;../src/parser.y&quot;
+    { relationDecl = new Declaration_Site(); }
+    break;
+
+  case 58:
+#line 645 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = (yyvsp[-1].RELATION); 
 		  if (omega_calc_debug) {
 			fprintf(DebugFile,&quot;Built relation:\n&quot;);
-			yyval.RELATION-&gt;prefix_print(DebugFile);
+			(yyval.RELATION)-&gt;prefix_print(DebugFile);
 			};
 		  current_Declaration_Site = globalDecls;
 		  delete relationDecl;
-		;
-    break;}
-case 58:
-#line 646 &quot;../src/parser.y&quot;
-{
-		Const_String s = yyvsp[0].VAR_NAME;
-		free(yyvsp[0].VAR_NAME);
+		}
+    break;
+
+  case 59:
+#line 653 &quot;../src/parser.y&quot;
+    {
+		Const_String s = (yyvsp[0].VAR_NAME);
+		free((yyvsp[0].VAR_NAME));
 		if (relationMap(s) == 0) {
-			fprintf(stderr,&quot;Variable %s not declared\n&quot;,yyvsp[0].VAR_NAME);
+			fprintf(stderr,&quot;Variable %s not declared\n&quot;,(yyvsp[0].VAR_NAME));
 			YYERROR;
 			assert(0);
 			};
-		yyval.RELATION = new Relation(*relationMap(s));
-		;
-    break;}
-case 59:
-#line 656 &quot;../src/parser.y&quot;
-{yyval.RELATION = yyvsp[-1].RELATION;;
-    break;}
-case 60:
-#line 658 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = TransitiveClosure(*yyvsp[-1].RELATION, 1,Relation::Null());
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 61:
+		(yyval.RELATION) = new Relation(*relationMap(s));
+		}
+    break;
+
+  case 60:
 #line 663 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  int vars = yyvsp[-1].RELATION-&gt;n_inp();
-		  *yyval.RELATION = Union(Identity(vars),
-			      TransitiveClosure(*yyvsp[-1].RELATION, 1,Relation::Null()));
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 62:
+    {(yyval.RELATION) = (yyvsp[-1].RELATION);}
+    break;
+
+  case 61:
+#line 665 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = TransitiveClosure(*(yyvsp[-1].RELATION), 1,Relation::Null());
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 62:
 #line 670 &quot;../src/parser.y&quot;
-{yyval.RELATION = new Relation();
-                 *yyval.RELATION= TransitiveClosure(*yyvsp[-3].RELATION, 1,*yyvsp[0].RELATION);
-                 delete yyvsp[-3].RELATION;
-                 delete yyvsp[0].RELATION;
-	       ;
-    break;}
-case 63:
-#line 676 &quot;../src/parser.y&quot;
-{
-		Relation o(*yyvsp[0].RELATION);
-		Relation r(*yyvsp[0].RELATION);
-		r = Join(r,LexForward(yyvsp[0].RELATION-&gt;n_out()));
-		yyval.RELATION = new Relation();
-		*yyval.RELATION = Difference(o,r);
-		delete yyvsp[0].RELATION;
-		;
-    break;}
-case 64:
-#line 685 &quot;../src/parser.y&quot;
-{
-		Relation o(*yyvsp[0].RELATION);
-		Relation r(*yyvsp[0].RELATION);
-		r = Join(r,Inverse(LexForward(yyvsp[0].RELATION-&gt;n_out())));
-		yyval.RELATION = new Relation();
-		*yyval.RELATION = Difference(o,r);
-		delete yyvsp[0].RELATION;
-		;
-    break;}
-case 65:
-#line 694 &quot;../src/parser.y&quot;
-{
-		Relation o(*yyvsp[0].RELATION);
-		Relation r(*yyvsp[0].RELATION);
-		r = Join(LexForward(yyvsp[0].RELATION-&gt;n_inp()),r);
-		yyval.RELATION = new Relation();
-		*yyval.RELATION = Difference(o,r);
-		delete yyvsp[0].RELATION;
-		;
-    break;}
-case 66:
-#line 703 &quot;../src/parser.y&quot;
-{
-		Relation o(*yyvsp[0].RELATION);
-		Relation r(*yyvsp[0].RELATION);
-		r = Join(Inverse(LexForward(yyvsp[0].RELATION-&gt;n_inp())),r);
-		yyval.RELATION = new Relation();
-		*yyval.RELATION = Difference(o,r);
-		delete yyvsp[0].RELATION;
-		;
-    break;}
-case 67:
-#line 712 &quot;../src/parser.y&quot;
-{
-		Relation c(*yyvsp[0].RELATION);
-		Relation r(*yyvsp[0].RELATION);
-		yyval.RELATION = new Relation(); 
-		*yyval.RELATION = Cross_Product(Relation(*yyvsp[0].RELATION),c);
-		delete yyvsp[0].RELATION;
-		assert(yyval.RELATION-&gt;n_inp() ==yyval.RELATION-&gt;n_out());
-		*yyval.RELATION = Difference(r,Domain(Intersection(*yyval.RELATION,LexForward(yyval.RELATION-&gt;n_inp()))));
-		;
-    break;}
-case 68:
-#line 722 &quot;../src/parser.y&quot;
-{
-		Relation c(*yyvsp[0].RELATION);
-		Relation r(*yyvsp[0].RELATION);
-		yyval.RELATION = new Relation(); 
-		*yyval.RELATION = Cross_Product(Relation(*yyvsp[0].RELATION),c);
-		delete yyvsp[0].RELATION;
-		assert(yyval.RELATION-&gt;n_inp() ==yyval.RELATION-&gt;n_out());
-		*yyval.RELATION = Difference(r,Range(Intersection(*yyval.RELATION,LexForward(yyval.RELATION-&gt;n_inp()))));
-		;
-    break;}
-case 69:
-#line 732 &quot;../src/parser.y&quot;
-{
-		yyval.RELATION = new Relation();
-		*yyval.RELATION = Farkas(*yyvsp[0].RELATION, Basic_Farkas);
-		delete yyvsp[0].RELATION;
-		;
-    break;}
-case 70:
-#line 738 &quot;../src/parser.y&quot;
-{
-		yyval.RELATION = new Relation();
-		*yyval.RELATION = Farkas(*yyvsp[0].RELATION, Decoupled_Farkas);
-		delete yyvsp[0].RELATION;
-		;
-    break;}
-case 71:
-#line 744 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = ConicClosure(*yyvsp[-1].RELATION);
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 72:
-#line 749 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Project_Sym(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 73:
-#line 754 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Project_On_Sym(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 74:
-#line 759 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Deltas(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 75:
-#line 764 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = DeltasToRelation(*yyvsp[0].RELATION,yyvsp[0].RELATION-&gt;n_set(),yyvsp[0].RELATION-&gt;n_set());
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 76:
-#line 769 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Domain(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 77:
-#line 774 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = VennDiagramForm(*yyvsp[0].RELATION,Relation::True(*yyvsp[0].RELATION));
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 78:
-#line 779 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = VennDiagramForm(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 79:
-#line 785 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = ConvexHull(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 80:
-#line 790 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Farkas(*yyvsp[0].RELATION,Positive_Combination_Farkas);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 81:
-#line 795 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Farkas(*yyvsp[0].RELATION,Convex_Combination_Farkas);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 82:
-#line 800 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = CheckForConvexRepresentation(CheckForConvexPairs(*yyvsp[0].RELATION));
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 83:
-#line 805 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = CheckForConvexRepresentation(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 84:
-#line 810 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = AffineHull(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 85:
-#line 815 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = ConicHull(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 86:
-#line 820 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = LinearHull(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 87:
-#line 825 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Hull(*yyvsp[0].RELATION,false,1,Null_Relation());
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 88:
-#line 830 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Hull(*yyvsp[-2].RELATION,false,1,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 89:
-#line 836 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Approximate(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 90:
-#line 841 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Range(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 91:
-#line 846 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Inverse(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 92:
-#line 851 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Complement(*yyvsp[0].RELATION);
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 93:
-#line 856 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Gist(*yyvsp[-2].RELATION,*yyvsp[0].RELATION,1);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 94:
-#line 862 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Composition(*yyvsp[-3].RELATION,*yyvsp[-1].RELATION);
-		  delete yyvsp[-3].RELATION;
-		  delete yyvsp[-1].RELATION;
-		;
-    break;}
-case 95:
-#line 868 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Composition(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 96:
-#line 874 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = After(*yyvsp[-2].RELATION,yyvsp[0].INT_VALUE,yyvsp[0].INT_VALUE);
-		  delete yyvsp[-2].RELATION;
-		  (*yyval.RELATION).prefix_print(stdout);
-		;
-    break;}
-case 97:
-#line 880 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Composition(*yyvsp[0].RELATION,*yyvsp[-2].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 98:
-#line 886 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Restrict_Range(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 99:
-#line 892 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Restrict_Domain(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 100:
-#line 898 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Intersection(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 101:
-#line 904 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Difference(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-                  delete yyvsp[-2].RELATION;
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 102:
-#line 910 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Union(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 103:
-#line 916 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-		  *yyval.RELATION = Cross_Product(*yyvsp[-2].RELATION,*yyvsp[0].RELATION);
-		  delete yyvsp[-2].RELATION;
-		  delete yyvsp[0].RELATION;
-		;
-    break;}
-case 104:
-#line 922 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Union(*yyvsp[0].RELATION, Relation::Unknown(*yyvsp[0].RELATION));
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 105:
-#line 927 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Intersection(*yyvsp[0].RELATION, Relation::Unknown(*yyvsp[0].RELATION));
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 106:
-#line 932 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Upper_Bound(*yyvsp[0].RELATION);
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 107:
-#line 937 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Lower_Bound(*yyvsp[0].RELATION);
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 108:
-#line 942 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Sample_Solution(*yyvsp[0].RELATION);
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 109:
-#line 947 &quot;../src/parser.y&quot;
-{ yyval.RELATION = new Relation();
-                  *yyval.RELATION = Symbolic_Solution(*yyvsp[0].RELATION);
-                  delete yyvsp[0].RELATION;
-                ;
-    break;}
-case 110:
-#line 951 &quot;../src/parser.y&quot;
-{ yyval.RELATION = yyvsp[0].RELATION; ;
-    break;}
-case 111:
-#line 953 &quot;../src/parser.y&quot;
-{
-		  if ((yyvsp[0].RELATION)-&gt;is_satisfiable())
+    { (yyval.RELATION) = new Relation();
+		  int vars = (yyvsp[-1].RELATION)-&gt;n_inp();
+		  *(yyval.RELATION) = Union(Identity(vars),
+			      TransitiveClosure(*(yyvsp[-1].RELATION), 1,Relation::Null()));
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 63:
+#line 677 &quot;../src/parser.y&quot;
+    {(yyval.RELATION) = new Relation();
+                 *(yyval.RELATION)= TransitiveClosure(*(yyvsp[-3].RELATION), 1,*(yyvsp[0].RELATION));
+                 delete (yyvsp[-3].RELATION);
+                 delete (yyvsp[0].RELATION);
+	       }
+    break;
+
+  case 64:
+#line 683 &quot;../src/parser.y&quot;
+    {
+		Relation o(*(yyvsp[0].RELATION));
+		Relation r(*(yyvsp[0].RELATION));
+		r = Join(r,LexForward((yyvsp[0].RELATION)-&gt;n_out()));
+		(yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Difference(o,r);
+		delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 65:
+#line 692 &quot;../src/parser.y&quot;
+    {
+		Relation o(*(yyvsp[0].RELATION));
+		Relation r(*(yyvsp[0].RELATION));
+		r = Join(r,Inverse(LexForward((yyvsp[0].RELATION)-&gt;n_out())));
+		(yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Difference(o,r);
+		delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 66:
+#line 701 &quot;../src/parser.y&quot;
+    {
+		Relation o(*(yyvsp[0].RELATION));
+		Relation r(*(yyvsp[0].RELATION));
+		r = Join(LexForward((yyvsp[0].RELATION)-&gt;n_inp()),r);
+		(yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Difference(o,r);
+		delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 67:
+#line 710 &quot;../src/parser.y&quot;
+    {
+		Relation o(*(yyvsp[0].RELATION));
+		Relation r(*(yyvsp[0].RELATION));
+		r = Join(Inverse(LexForward((yyvsp[0].RELATION)-&gt;n_inp())),r);
+		(yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Difference(o,r);
+		delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 68:
+#line 719 &quot;../src/parser.y&quot;
+    {
+		Relation c(*(yyvsp[0].RELATION));
+		Relation r(*(yyvsp[0].RELATION));
+		(yyval.RELATION) = new Relation(); 
+		*(yyval.RELATION) = Cross_Product(Relation(*(yyvsp[0].RELATION)),c);
+		delete (yyvsp[0].RELATION);
+		assert((yyval.RELATION)-&gt;n_inp() ==(yyval.RELATION)-&gt;n_out());
+		*(yyval.RELATION) = Difference(r,Domain(Intersection(*(yyval.RELATION),LexForward((yyval.RELATION)-&gt;n_inp()))));
+		}
+    break;
+
+  case 69:
+#line 729 &quot;../src/parser.y&quot;
+    {
+		Relation c(*(yyvsp[0].RELATION));
+		Relation r(*(yyvsp[0].RELATION));
+		(yyval.RELATION) = new Relation(); 
+		*(yyval.RELATION) = Cross_Product(Relation(*(yyvsp[0].RELATION)),c);
+		delete (yyvsp[0].RELATION);
+		assert((yyval.RELATION)-&gt;n_inp() ==(yyval.RELATION)-&gt;n_out());
+		*(yyval.RELATION) = Difference(r,Range(Intersection(*(yyval.RELATION),LexForward((yyval.RELATION)-&gt;n_inp()))));
+		}
+    break;
+
+  case 70:
+#line 739 &quot;../src/parser.y&quot;
+    {
+		(yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Farkas(*(yyvsp[0].RELATION), Basic_Farkas);
+		delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 71:
+#line 745 &quot;../src/parser.y&quot;
+    {
+		(yyval.RELATION) = new Relation();
+		*(yyval.RELATION) = Farkas(*(yyvsp[0].RELATION), Decoupled_Farkas);
+		delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 72:
+#line 751 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = ConicClosure(*(yyvsp[-1].RELATION));
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 73:
+#line 756 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Project_Sym(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 74:
+#line 761 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Project_On_Sym(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 75:
+#line 766 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Deltas(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 76:
+#line 771 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = DeltasToRelation(*(yyvsp[0].RELATION),(yyvsp[0].RELATION)-&gt;n_set(),(yyvsp[0].RELATION)-&gt;n_set());
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 77:
+#line 776 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Domain(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 78:
+#line 781 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = VennDiagramForm(*(yyvsp[0].RELATION),Relation::True(*(yyvsp[0].RELATION)));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 79:
+#line 786 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = VennDiagramForm(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 80:
+#line 792 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = ConvexHull(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 81:
+#line 797 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Farkas(*(yyvsp[0].RELATION),Positive_Combination_Farkas);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 82:
+#line 802 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Farkas(*(yyvsp[0].RELATION),Convex_Combination_Farkas);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 83:
+#line 807 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = CheckForConvexRepresentation(CheckForConvexPairs(*(yyvsp[0].RELATION)));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 84:
+#line 812 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = CheckForConvexRepresentation(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 85:
+#line 817 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = AffineHull(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 86:
+#line 822 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = ConicHull(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 87:
+#line 827 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = LinearHull(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 88:
+#line 832 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Hull(*(yyvsp[0].RELATION),false,1,Null_Relation());
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 89:
+#line 837 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Hull(*(yyvsp[-2].RELATION),false,1,*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 90:
+#line 843 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Approximate(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 91:
+#line 848 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Range(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 92:
+#line 853 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Inverse(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 93:
+#line 858 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Complement(*(yyvsp[0].RELATION));
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 94:
+#line 863 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Gist(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION),1);
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 95:
+#line 869 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Composition(*(yyvsp[-3].RELATION),*(yyvsp[-1].RELATION));
+		  delete (yyvsp[-3].RELATION);
+		  delete (yyvsp[-1].RELATION);
+		}
+    break;
+
+  case 96:
+#line 875 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Composition(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 97:
+#line 881 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = After(*(yyvsp[-2].RELATION),(yyvsp[0].INT_VALUE),(yyvsp[0].INT_VALUE));
+		  delete (yyvsp[-2].RELATION);
+		  (*(yyval.RELATION)).prefix_print(stdout);
+		}
+    break;
+
+  case 98:
+#line 887 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Composition(*(yyvsp[0].RELATION),*(yyvsp[-2].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 99:
+#line 893 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Restrict_Range(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 100:
+#line 899 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Restrict_Domain(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 101:
+#line 905 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Intersection(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 102:
+#line 911 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Difference(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+                  delete (yyvsp[-2].RELATION);
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 103:
+#line 917 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Union(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 104:
+#line 923 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+		  *(yyval.RELATION) = Cross_Product(*(yyvsp[-2].RELATION),*(yyvsp[0].RELATION));
+		  delete (yyvsp[-2].RELATION);
+		  delete (yyvsp[0].RELATION);
+		}
+    break;
+
+  case 105:
+#line 929 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Union(*(yyvsp[0].RELATION), Relation::Unknown(*(yyvsp[0].RELATION)));
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 106:
+#line 934 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Intersection(*(yyvsp[0].RELATION), Relation::Unknown(*(yyvsp[0].RELATION)));
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 107:
+#line 939 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Upper_Bound(*(yyvsp[0].RELATION));
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 108:
+#line 944 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Lower_Bound(*(yyvsp[0].RELATION));
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 109:
+#line 949 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Sample_Solution(*(yyvsp[0].RELATION));
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 110:
+#line 954 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = new Relation();
+                  *(yyval.RELATION) = Symbolic_Solution(*(yyvsp[0].RELATION));
+                  delete (yyvsp[0].RELATION);
+                }
+    break;
+
+  case 111:
+#line 958 &quot;../src/parser.y&quot;
+    { (yyval.RELATION) = (yyvsp[0].RELATION); }
+    break;
+
+  case 112:
+#line 960 &quot;../src/parser.y&quot;
+    {
+		  if (((yyvsp[0].RELATION))-&gt;is_satisfiable())
 			  {
 			    fprintf(stderr,&quot;assert_unsatisfiable failed on &quot;);
-			    (yyvsp[0].RELATION)-&gt;print_with_subs(stderr);
+			    ((yyvsp[0].RELATION))-&gt;print_with_subs(stderr);
 			    Exit(1);
 			  }
-		  yyval.RELATION=yyvsp[0].RELATION;
-		;
-    break;}
-case 112:
-#line 966 &quot;../src/parser.y&quot;
-{currentTuple = Output_Tuple;;
-    break;}
-case 113:
-#line 967 &quot;../src/parser.y&quot;
-{currentTuple = Input_Tuple;;
-    break;}
-case 114:
-#line 967 &quot;../src/parser.y&quot;
-{
-		Relation * r = new Relation(yyvsp[-5].TUPLE_DESCRIPTOR-&gt;size,yyvsp[-2].TUPLE_DESCRIPTOR-&gt;size);
+		  (yyval.RELATION)=(yyvsp[0].RELATION);
+		}
+    break;
+
+  case 113:
+#line 973 &quot;../src/parser.y&quot;
+    {currentTuple = Output_Tuple;}
+    break;
+
+  case 114:
+#line 974 &quot;../src/parser.y&quot;
+    {currentTuple = Input_Tuple;}
+    break;
+
+  case 115:
+#line 974 &quot;../src/parser.y&quot;
+    {
+		Relation * r = new Relation((yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;size,(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;size);
 		resetGlobals();
 		F_And *f = r-&gt;add_and();
 		int i;
-		for(i=1;i&lt;=yyvsp[-5].TUPLE_DESCRIPTOR-&gt;size;i++) {	
-			yyvsp[-5].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;vid = r-&gt;input_var(i);
-			if (!yyvsp[-5].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;anonymous) 
-				r-&gt;name_input_var(i,yyvsp[-5].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;stripped_name);
+		for(i=1;i&lt;=(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;size;i++) {	
+			(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;vid = r-&gt;input_var(i);
+			if (!(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;anonymous) 
+				r-&gt;name_input_var(i,(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;stripped_name);
 			};
-		for(i=1;i&lt;=yyvsp[-2].TUPLE_DESCRIPTOR-&gt;size;i++) {
-			yyvsp[-2].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;vid = r-&gt;output_var(i);
-			if (!yyvsp[-2].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;anonymous) 
-				r-&gt;name_output_var(i,yyvsp[-2].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;stripped_name);
+		for(i=1;i&lt;=(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;size;i++) {
+			(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;vid = r-&gt;output_var(i);
+			if (!(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;anonymous) 
+				r-&gt;name_output_var(i,(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;stripped_name);
 			};
-		foreach(e,Exp*,yyvsp[-5].TUPLE_DESCRIPTOR-&gt;eq_constraints, install_eq(f,e,0));
-                foreach(e,Exp*,yyvsp[-5].TUPLE_DESCRIPTOR-&gt;geq_constraints, install_geq(f,e,0)); 
-		foreach(c,strideConstraint*,yyvsp[-5].TUPLE_DESCRIPTOR-&gt;stride_constraints, install_stride(f,c));
-		foreach(e,Exp*,yyvsp[-2].TUPLE_DESCRIPTOR-&gt;eq_constraints, install_eq(f,e,0));
-		foreach(e,Exp*,yyvsp[-2].TUPLE_DESCRIPTOR-&gt;geq_constraints, install_geq(f,e,0));
-		foreach(c,strideConstraint*,yyvsp[-2].TUPLE_DESCRIPTOR-&gt;stride_constraints, install_stride(f,c));
-		if (yyvsp[0].ASTP) yyvsp[0].ASTP-&gt;install(f);
-		delete yyvsp[-5].TUPLE_DESCRIPTOR;
-		delete yyvsp[-2].TUPLE_DESCRIPTOR;
-		delete yyvsp[0].ASTP;
-		yyval.RELATION = r; ;
-    break;}
-case 115:
-#line 993 &quot;../src/parser.y&quot;
-{
-	        Relation * r = new Relation(yyvsp[-1].TUPLE_DESCRIPTOR-&gt;size);
+		foreach(e,Exp*,(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;eq_constraints, install_eq(f,e,0));
+                foreach(e,Exp*,(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;geq_constraints, install_geq(f,e,0)); 
+		foreach(c,strideConstraint*,(yyvsp[-5].TUPLE_DESCRIPTOR)-&gt;stride_constraints, install_stride(f,c));
+		foreach(e,Exp*,(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;eq_constraints, install_eq(f,e,0));
+		foreach(e,Exp*,(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;geq_constraints, install_geq(f,e,0));
+		foreach(c,strideConstraint*,(yyvsp[-2].TUPLE_DESCRIPTOR)-&gt;stride_constraints, install_stride(f,c));
+		if ((yyvsp[0].ASTP)) (yyvsp[0].ASTP)-&gt;install(f);
+		delete (yyvsp[-5].TUPLE_DESCRIPTOR);
+		delete (yyvsp[-2].TUPLE_DESCRIPTOR);
+		delete (yyvsp[0].ASTP);
+		(yyval.RELATION) = r; }
+    break;
+
+  case 116:
+#line 1000 &quot;../src/parser.y&quot;
+    {
+	        Relation * r = new Relation((yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;size);
 		resetGlobals();
 		F_And *f = r-&gt;add_and();
 		int i;
-		for(i=1;i&lt;=yyvsp[-1].TUPLE_DESCRIPTOR-&gt;size;i++) {	
-			yyvsp[-1].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;vid = r-&gt;set_var(i);
-			if (!yyvsp[-1].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;anonymous) 
-				r-&gt;name_set_var(i,yyvsp[-1].TUPLE_DESCRIPTOR-&gt;vars[i]-&gt;stripped_name);
+		for(i=1;i&lt;=(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;size;i++) {	
+			(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;vid = r-&gt;set_var(i);
+			if (!(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;anonymous) 
+				r-&gt;name_set_var(i,(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;vars[i]-&gt;stripped_name);
 			};
-                foreach(e,Exp*,yyvsp[-1].TUPLE_DESCRIPTOR-&gt;eq_constraints, install_eq(f,e,0)); 
-		foreach(e,Exp*,yyvsp[-1].TUPLE_DESCRIPTOR-&gt;geq_constraints, install_geq(f,e,0));
-		foreach(c,strideConstraint*,yyvsp[-1].TUPLE_DESCRIPTOR-&gt;stride_constraints, install_stride(f,c));
-		if (yyvsp[0].ASTP) yyvsp[0].ASTP-&gt;install(f);
-		delete yyvsp[-1].TUPLE_DESCRIPTOR;
-		delete yyvsp[0].ASTP;
-		yyval.RELATION = r; ;
-    break;}
-case 116:
-#line 1010 &quot;../src/parser.y&quot;
-{
+                foreach(e,Exp*,(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;eq_constraints, install_eq(f,e,0)); 
+		foreach(e,Exp*,(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;geq_constraints, install_geq(f,e,0));
+		foreach(c,strideConstraint*,(yyvsp[-1].TUPLE_DESCRIPTOR)-&gt;stride_constraints, install_stride(f,c));
+		if ((yyvsp[0].ASTP)) (yyvsp[0].ASTP)-&gt;install(f);
+		delete (yyvsp[-1].TUPLE_DESCRIPTOR);
+		delete (yyvsp[0].ASTP);
+		(yyval.RELATION) = r; }
+    break;
+
+  case 117:
+#line 1017 &quot;../src/parser.y&quot;
+    {
 		Relation * r = new Relation(0,0);
 		F_And *f = r-&gt;add_and();
-		yyvsp[0].ASTP-&gt;install(f);
-		delete yyvsp[0].ASTP;
-		yyval.RELATION = r;
-		;
-    break;}
-case 117:
-#line 1019 &quot;../src/parser.y&quot;
-{ yyval.ASTP = yyvsp[0].ASTP; ;
-    break;}
-case 118:
-#line 1020 &quot;../src/parser.y&quot;
-{yyval.ASTP = 0;;
-    break;}
-case 122:
-#line 1029 &quot;../src/parser.y&quot;
-{ currentTupleDescriptor = new tupleDescriptor; tuplePos = 1 ;
-    break;}
-case 123:
-#line 1031 &quot;../src/parser.y&quot;
-{yyval.TUPLE_DESCRIPTOR = currentTupleDescriptor; ;
-    break;}
-case 127:
-#line 1041 &quot;../src/parser.y&quot;
-{ Declaration_Site *ds = defined(yyvsp[0].VAR_NAME);
-	  if (!ds) currentTupleDescriptor-&gt;extend(yyvsp[0].VAR_NAME,currentTuple,tuplePos);
+		(yyvsp[0].ASTP)-&gt;install(f);
+		delete (yyvsp[0].ASTP);
+		(yyval.RELATION) = r;
+		}
+    break;
+
+  case 118:
+#line 1026 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = (yyvsp[0].ASTP); }
+    break;
+
+  case 119:
+#line 1027 &quot;../src/parser.y&quot;
+    {(yyval.ASTP) = 0;}
+    break;
+
+  case 123:
+#line 1036 &quot;../src/parser.y&quot;
+    { currentTupleDescriptor = new tupleDescriptor; tuplePos = 1; }
+    break;
+
+  case 124:
+#line 1038 &quot;../src/parser.y&quot;
+    {(yyval.TUPLE_DESCRIPTOR) = currentTupleDescriptor; }
+    break;
+
+  case 128:
+#line 1048 &quot;../src/parser.y&quot;
+    { Declaration_Site *ds = defined((yyvsp[0].VAR_NAME));
+	  if (!ds) currentTupleDescriptor-&gt;extend((yyvsp[0].VAR_NAME),currentTuple,tuplePos);
 	  else {
-	      Variable_Ref * v = lookupScalar(yyvsp[0].VAR_NAME);
+	      Variable_Ref * v = lookupScalar((yyvsp[0].VAR_NAME));
 	      assert(v);
 	      if (ds != globalDecls) 
-		currentTupleDescriptor-&gt;extend(yyvsp[0].VAR_NAME, new Exp(v));
+		currentTupleDescriptor-&gt;extend((yyvsp[0].VAR_NAME), new Exp(v));
 	      else 
 		currentTupleDescriptor-&gt;extend(new Exp(v));
 	      }
-	  free(yyvsp[0].VAR_NAME);
+	  free((yyvsp[0].VAR_NAME));
 	  tuplePos++;
-	;
-    break;}
-case 128:
-#line 1055 &quot;../src/parser.y&quot;
-{currentTupleDescriptor-&gt;extend(); tuplePos++; ;
-    break;}
-case 129:
-#line 1057 &quot;../src/parser.y&quot;
-{currentTupleDescriptor-&gt;extend(yyvsp[0].EXP); tuplePos++; ;
-    break;}
-case 130:
-#line 1059 &quot;../src/parser.y&quot;
-{currentTupleDescriptor-&gt;extend(yyvsp[-2].EXP,yyvsp[0].EXP); tuplePos++; ;
-    break;}
-case 131:
-#line 1061 &quot;../src/parser.y&quot;
-{currentTupleDescriptor-&gt;extend(yyvsp[-4].EXP,yyvsp[-2].EXP,yyvsp[0].INT_VALUE); tuplePos++; ;
-    break;}
-case 132:
-#line 1065 &quot;../src/parser.y&quot;
-{yyval.VAR_LIST = yyvsp[-2].VAR_LIST; yyval.VAR_LIST-&gt;insert(yyvsp[0].VAR_NAME); ;
-    break;}
-case 133:
+	}
+    break;
+
+  case 129:
+#line 1062 &quot;../src/parser.y&quot;
+    {currentTupleDescriptor-&gt;extend(); tuplePos++; }
+    break;
+
+  case 130:
+#line 1064 &quot;../src/parser.y&quot;
+    {currentTupleDescriptor-&gt;extend((yyvsp[0].EXP)); tuplePos++; }
+    break;
+
+  case 131:
 #line 1066 &quot;../src/parser.y&quot;
-{ yyval.VAR_LIST = new VarList;
-		yyval.VAR_LIST-&gt;insert(yyvsp[0].VAR_NAME); ;
-    break;}
-case 134:
-#line 1071 &quot;../src/parser.y&quot;
-{
-		yyval.DECLARATION_SITE = current_Declaration_Site = new Declaration_Site(yyvsp[0].VAR_LIST);
-		foreach(s,char *, *yyvsp[0].VAR_LIST, delete s);
-		delete yyvsp[0].VAR_LIST;
-		;
-    break;}
-case 135:
-#line 1080 &quot;../src/parser.y&quot;
-{ yyval.DECLARATION_SITE = yyvsp[0].DECLARATION_SITE; ;
-    break;}
-case 136:
-#line 1081 &quot;../src/parser.y&quot;
-{ yyval.DECLARATION_SITE = yyvsp[-1].DECLARATION_SITE; ;
-    break;}
-case 137:
-#line 1084 &quot;../src/parser.y&quot;
-{ yyval.ASTP = new AST_And(yyvsp[-2].ASTP,yyvsp[0].ASTP); ;
-    break;}
-case 138:
-#line 1085 &quot;../src/parser.y&quot;
-{ yyval.ASTP = new AST_Or(yyvsp[-2].ASTP,yyvsp[0].ASTP); ;
-    break;}
-case 139:
-#line 1086 &quot;../src/parser.y&quot;
-{ yyval.ASTP = yyvsp[0].ASTCP; ;
-    break;}
-case 140:
+    {currentTupleDescriptor-&gt;extend((yyvsp[-2].EXP),(yyvsp[0].EXP)); tuplePos++; }
+    break;
+
+  case 132:
+#line 1068 &quot;../src/parser.y&quot;
+    {currentTupleDescriptor-&gt;extend((yyvsp[-4].EXP),(yyvsp[-2].EXP),(yyvsp[0].INT_VALUE)); tuplePos++; }
+    break;
+
+  case 133:
+#line 1072 &quot;../src/parser.y&quot;
+    {(yyval.VAR_LIST) = (yyvsp[-2].VAR_LIST); (yyval.VAR_LIST)-&gt;insert((yyvsp[0].VAR_NAME)); }
+    break;
+
+  case 134:
+#line 1073 &quot;../src/parser.y&quot;
+    { (yyval.VAR_LIST) = new VarList;
+		(yyval.VAR_LIST)-&gt;insert((yyvsp[0].VAR_NAME)); }
+    break;
+
+  case 135:
+#line 1078 &quot;../src/parser.y&quot;
+    {
+		(yyval.DECLARATION_SITE) = current_Declaration_Site = new Declaration_Site((yyvsp[0].VAR_LIST));
+		foreach(s,char *, *(yyvsp[0].VAR_LIST), delete s);
+		delete (yyvsp[0].VAR_LIST);
+		}
+    break;
+
+  case 136:
 #line 1087 &quot;../src/parser.y&quot;
-{ yyval.ASTP = yyvsp[-1].ASTP; ;
-    break;}
-case 141:
+    { (yyval.DECLARATION_SITE) = (yyvsp[0].DECLARATION_SITE); }
+    break;
+
+  case 137:
 #line 1088 &quot;../src/parser.y&quot;
-{ yyval.ASTP = new AST_Not(yyvsp[0].ASTP); ;
-    break;}
-case 142:
-#line 1090 &quot;../src/parser.y&quot;
-{ yyval.ASTP = new AST_exists(yyvsp[-3].DECLARATION_SITE,yyvsp[-1].ASTP); ;
-    break;}
-case 143:
+    { (yyval.DECLARATION_SITE) = (yyvsp[-1].DECLARATION_SITE); }
+    break;
+
+  case 138:
+#line 1091 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = new AST_And((yyvsp[-2].ASTP),(yyvsp[0].ASTP)); }
+    break;
+
+  case 139:
 #line 1092 &quot;../src/parser.y&quot;
-{ yyval.ASTP = new AST_forall(yyvsp[-3].DECLARATION_SITE,yyvsp[-1].ASTP); ;
-    break;}
-case 152:
-#line 1112 &quot;../src/parser.y&quot;
-{ popScope(); ;
-    break;}
-case 153:
-#line 1116 &quot;../src/parser.y&quot;
-{
-		yyval.EXP_LIST = yyvsp[0].EXP_LIST; 
-		yyval.EXP_LIST-&gt;insert(yyvsp[-2].EXP);
-		;
-    break;}
-case 154:
-#line 1120 &quot;../src/parser.y&quot;
-{
-		yyval.EXP_LIST = new ExpList;
-		yyval.EXP_LIST-&gt;insert(yyvsp[0].EXP);
-		;
-    break;}
-case 155:
+    { (yyval.ASTP) = new AST_Or((yyvsp[-2].ASTP),(yyvsp[0].ASTP)); }
+    break;
+
+  case 140:
+#line 1093 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = (yyvsp[0].ASTCP); }
+    break;
+
+  case 141:
+#line 1094 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = (yyvsp[-1].ASTP); }
+    break;
+
+  case 142:
+#line 1095 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = new AST_Not((yyvsp[0].ASTP)); }
+    break;
+
+  case 143:
+#line 1097 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = new AST_exists((yyvsp[-3].DECLARATION_SITE),(yyvsp[-1].ASTP)); }
+    break;
+
+  case 144:
+#line 1099 &quot;../src/parser.y&quot;
+    { (yyval.ASTP) = new AST_forall((yyvsp[-3].DECLARATION_SITE),(yyvsp[-1].ASTP)); }
+    break;
+
+  case 153:
+#line 1119 &quot;../src/parser.y&quot;
+    { popScope(); }
+    break;
+
+  case 154:
+#line 1123 &quot;../src/parser.y&quot;
+    {
+		(yyval.EXP_LIST) = (yyvsp[0].EXP_LIST); 
+		(yyval.EXP_LIST)-&gt;insert((yyvsp[-2].EXP));
+		}
+    break;
+
+  case 155:
 #line 1127 &quot;../src/parser.y&quot;
-{ yyval.ASTCP = new AST_constraints(yyvsp[-2].EXP_LIST,yyvsp[-1].REL_OPERATOR,yyvsp[0].EXP_LIST); ;
-    break;}
-case 156:
-#line 1129 &quot;../src/parser.y&quot;
-{ yyval.ASTCP = new AST_constraints(yyvsp[-2].EXP_LIST,yyvsp[-1].REL_OPERATOR,yyvsp[0].ASTCP); ;
-    break;}
-case 157:
+    {
+		(yyval.EXP_LIST) = new ExpList;
+		(yyval.EXP_LIST)-&gt;insert((yyvsp[0].EXP));
+		}
+    break;
+
+  case 156:
 #line 1134 &quot;../src/parser.y&quot;
-{ Variable_Ref * v = lookupScalar(yyvsp[0].VAR_NAME);
+    { (yyval.ASTCP) = new AST_constraints((yyvsp[-2].EXP_LIST),(yyvsp[-1].REL_OPERATOR),(yyvsp[0].EXP_LIST)); }
+    break;
+
+  case 157:
+#line 1136 &quot;../src/parser.y&quot;
+    { (yyval.ASTCP) = new AST_constraints((yyvsp[-2].EXP_LIST),(yyvsp[-1].REL_OPERATOR),(yyvsp[0].ASTCP)); }
+    break;
+
+  case 158:
+#line 1141 &quot;../src/parser.y&quot;
+    { Variable_Ref * v = lookupScalar((yyvsp[0].VAR_NAME));
 		  if (!v) YYERROR;
-		  yyval.EXP = new Exp(v); 
-		  free(yyvsp[0].VAR_NAME); 
-		  ;
-    break;}
-case 158:
-#line 1139 &quot;../src/parser.y&quot;
-{argCount = 1;;
-    break;}
-case 159:
-#line 1140 &quot;../src/parser.y&quot;
-{Variable_Ref *v;
-		 if (yyvsp[-1].ARGUMENT_TUPLE == Input_Tuple) v = functionOfInput[yyvsp[-4].VAR_NAME];
-		 else v = functionOfOutput[yyvsp[-4].VAR_NAME];
-		 free(yyvsp[-4].VAR_NAME);
+		  (yyval.EXP) = new Exp(v); 
+		  free((yyvsp[0].VAR_NAME)); 
+		  }
+    break;
+
+  case 159:
+#line 1146 &quot;../src/parser.y&quot;
+    {argCount = 1;}
+    break;
+
+  case 160:
+#line 1147 &quot;../src/parser.y&quot;
+    {Variable_Ref *v;
+		 if ((yyvsp[-1].ARGUMENT_TUPLE) == Input_Tuple) v = functionOfInput[(yyvsp[-4].VAR_NAME)];
+		 else v = functionOfOutput[(yyvsp[-4].VAR_NAME)];
+		 free((yyvsp[-4].VAR_NAME));
 		 if (v == 0) {
-			fprintf(stderr,&quot;Function %s(...) not declared\n&quot;,yyvsp[-4].VAR_NAME);
+			fprintf(stderr,&quot;Function %s(...) not declared\n&quot;,(yyvsp[-4].VAR_NAME));
 			YYERROR;
 			}
-		 yyval.EXP = new Exp(v);
-		;
-    break;}
-case 160:
-#line 1150 &quot;../src/parser.y&quot;
-{ yyval.EXP = yyvsp[-1].EXP;;
-    break;}
-case 161:
-#line 1156 &quot;../src/parser.y&quot;
-{
-		Variable_Ref * v = lookupScalar(yyvsp[0].VAR_NAME);
+		 (yyval.EXP) = new Exp(v);
+		}
+    break;
+
+  case 161:
+#line 1157 &quot;../src/parser.y&quot;
+    { (yyval.EXP) = (yyvsp[-1].EXP);}
+    break;
+
+  case 162:
+#line 1163 &quot;../src/parser.y&quot;
+    {
+		Variable_Ref * v = lookupScalar((yyvsp[0].VAR_NAME));
 		if (!v) YYERROR;
-		 free(yyvsp[0].VAR_NAME);
-		 if (v-&gt;pos != argCount || v-&gt;of != yyvsp[-2].ARGUMENT_TUPLE || v-&gt;of != Input_Tuple &amp;&amp; v-&gt;of != Output_Tuple) {
+		 free((yyvsp[0].VAR_NAME));
+		 if (v-&gt;pos != argCount || v-&gt;of != (yyvsp[-2].ARGUMENT_TUPLE) || v-&gt;of != Input_Tuple &amp;&amp; v-&gt;of != Output_Tuple) {
 			fprintf(stderr,&quot;arguments to function must be prefix of input or output tuple\n&quot;);
 			YYERROR;
 			}
-		 yyval.ARGUMENT_TUPLE = v-&gt;of;
+		 (yyval.ARGUMENT_TUPLE) = v-&gt;of;
 		 argCount++;
-		;
-    break;}
-case 162:
-#line 1167 &quot;../src/parser.y&quot;
-{ Variable_Ref * v = lookupScalar(yyvsp[0].VAR_NAME);
+		}
+    break;
+
+  case 163:
+#line 1174 &quot;../src/parser.y&quot;
+    { Variable_Ref * v = lookupScalar((yyvsp[0].VAR_NAME));
 		if (!v) YYERROR;
-		 free(yyvsp[0].VAR_NAME);
+		 free((yyvsp[0].VAR_NAME));
 		 if (v-&gt;pos != argCount || v-&gt;of != Input_Tuple &amp;&amp; v-&gt;of != Output_Tuple) {
 			fprintf(stderr,&quot;arguments to function must be prefix of input or output tuple\n&quot;);
 			YYERROR;
 			}
-		 yyval.ARGUMENT_TUPLE = v-&gt;of;
+		 (yyval.ARGUMENT_TUPLE) = v-&gt;of;
 		 argCount++;
-		;
-    break;}
-case 163:
-#line 1179 &quot;../src/parser.y&quot;
-{yyval.EXP = new Exp(yyvsp[0].INT_VALUE);;
-    break;}
-case 164:
-#line 1180 &quot;../src/parser.y&quot;
-{yyval.EXP = multiply(yyvsp[-1].INT_VALUE,yyvsp[0].EXP);;
-    break;}
-case 165:
-#line 1181 &quot;../src/parser.y&quot;
-{ yyval.EXP = yyvsp[0].EXP; ;
-    break;}
-case 166:
-#line 1182 &quot;../src/parser.y&quot;
-{ yyval.EXP = negate(yyvsp[0].EXP);;
-    break;}
-case 167:
-#line 1183 &quot;../src/parser.y&quot;
-{ yyval.EXP = add(yyvsp[-2].EXP,yyvsp[0].EXP);;
-    break;}
-case 168:
-#line 1184 &quot;../src/parser.y&quot;
-{ yyval.EXP = subtract(yyvsp[-2].EXP,yyvsp[0].EXP);;
-    break;}
-case 169:
-#line 1185 &quot;../src/parser.y&quot;
-{ yyval.EXP = multiply(yyvsp[-2].EXP,yyvsp[0].EXP);;
-    break;}
-case 170:
+		}
+    break;
+
+  case 164:
+#line 1186 &quot;../src/parser.y&quot;
+    {(yyval.EXP) = new Exp((yyvsp[0].INT_VALUE));}
+    break;
+
+  case 165:
+#line 1187 &quot;../src/parser.y&quot;
+    {(yyval.EXP) = multiply((yyvsp[-1].INT_VALUE),(yyvsp[0].EXP));}
+    break;
+
+  case 166:
+#line 1188 &quot;../src/parser.y&quot;
+    { (yyval.EXP) = (yyvsp[0].EXP); }
+    break;
+
+  case 167:
+#line 1189 &quot;../src/parser.y&quot;
+    { (yyval.EXP) = ::negate((yyvsp[0].EXP));}
+    break;
+
+  case 168:
+#line 1190 &quot;../src/parser.y&quot;
+    { (yyval.EXP) = add((yyvsp[-2].EXP),(yyvsp[0].EXP));}
+    break;
+
+  case 169:
 #line 1191 &quot;../src/parser.y&quot;
-{
+    { (yyval.EXP) = subtract((yyvsp[-2].EXP),(yyvsp[0].EXP));}
+    break;
+
+  case 170:
+#line 1192 &quot;../src/parser.y&quot;
+    { (yyval.EXP) = multiply((yyvsp[-2].EXP),(yyvsp[0].EXP));}
+    break;
+
+  case 171:
+#line 1198 &quot;../src/parser.y&quot;
+    {
 		  Dynamic_Array1&lt;Relation&gt; *final =
 		    Reachable_Nodes(reachable_info);
-		  yyval.RELATION_ARRAY_1D = final;
-		;
-    break;}
-case 171:
-#line 1200 &quot;../src/parser.y&quot;
-{
+		  (yyval.RELATION_ARRAY_1D) = final;
+		}
+    break;
+
+  case 172:
+#line 1207 &quot;../src/parser.y&quot;
+    {
 		  Dynamic_Array1&lt;Relation&gt; *final =
 		    Reachable_Nodes(reachable_info);
-		  int index = reachable_info-&gt;node_names.index(String(yyvsp[-3].VAR_NAME));
+		  int index = reachable_info-&gt;node_names.index(String((yyvsp[-3].VAR_NAME)));
 		  assert(index != 0 &amp;&amp; &quot;No such node&quot;);
-		  yyval.RELATION = new Relation; 
-		  *yyval.RELATION = (*final)[index];
+		  (yyval.RELATION) = new Relation; 
+		  *(yyval.RELATION) = (*final)[index];
 		  delete final;
 		  delete reachable_info;
-		  delete yyvsp[-3].VAR_NAME;
-		;
-    break;}
-case 172:
-#line 1215 &quot;../src/parser.y&quot;
-{ int sz = reachable_info-&gt;node_names.size();
+		  delete (yyvsp[-3].VAR_NAME);
+		}
+    break;
+
+  case 173:
+#line 1222 &quot;../src/parser.y&quot;
+    { int sz = reachable_info-&gt;node_names.size();
 		reachable_info-&gt;node_arity.reallocate(sz);
 	  	reachable_info-&gt;transitions.resize(sz+1,sz+1);
 	  	reachable_info-&gt;start_nodes.resize(sz+1);
-	      ;
-    break;}
-case 173:
-#line 1223 &quot;../src/parser.y&quot;
-{ reachable_info-&gt;node_names.append(String(yyvsp[0].VAR_NAME));
-		delete yyvsp[0].VAR_NAME; ;
-    break;}
-case 174:
-#line 1225 &quot;../src/parser.y&quot;
-{ reachable_info = new reachable_information;
-		reachable_info-&gt;node_names.append(String(yyvsp[0].VAR_NAME));
-		delete yyvsp[0].VAR_NAME; ;
-    break;}
-case 175:
+	      }
+    break;
+
+  case 174:
+#line 1230 &quot;../src/parser.y&quot;
+    { reachable_info-&gt;node_names.append(String((yyvsp[0].VAR_NAME)));
+		delete (yyvsp[0].VAR_NAME); }
+    break;
+
+  case 175:
 #line 1232 &quot;../src/parser.y&quot;
-{  
+    { reachable_info = new reachable_information;
+		reachable_info-&gt;node_names.append(String((yyvsp[0].VAR_NAME)));
+		delete (yyvsp[0].VAR_NAME); }
+    break;
+
+  case 176:
+#line 1239 &quot;../src/parser.y&quot;
+    {  
 	   int i,j;
 	   int n_nodes = reachable_info-&gt;node_names.size();
 	   Tuple&lt;int&gt; &amp;arity = reachable_info-&gt;node_arity;
@@ -2560,254 +3320,344 @@ case 175:
 		assert(0);
 		    YYERROR;
 		}
- 	;
-    break;}
-case 176:
-#line 1283 &quot;../src/parser.y&quot;
-{  int n_nodes = reachable_info-&gt;node_names.size();
-	     int index = reachable_info-&gt;node_names.index(yyvsp[-2].VAR_NAME);
+ 	}
+    break;
+
+  case 177:
+#line 1290 &quot;../src/parser.y&quot;
+    {  int n_nodes = reachable_info-&gt;node_names.size();
+	     int index = reachable_info-&gt;node_names.index((yyvsp[-2].VAR_NAME));
 	     assert(index != 0 &amp;&amp; index &lt;= n_nodes);
-	     reachable_info-&gt;start_nodes[index] = *yyvsp[0].RELATION;
-	     delete yyvsp[-2].VAR_NAME;
-	     delete yyvsp[0].RELATION;
-	  ;
-    break;}
-case 177:
-#line 1291 &quot;../src/parser.y&quot;
-{  int n_nodes = reachable_info-&gt;node_names.size();
-	     int from_index = reachable_info-&gt;node_names.index(yyvsp[-4].VAR_NAME);
-	     int   to_index = reachable_info-&gt;node_names.index(yyvsp[-2].VAR_NAME);
+	     reachable_info-&gt;start_nodes[index] = *(yyvsp[0].RELATION);
+	     delete (yyvsp[-2].VAR_NAME);
+	     delete (yyvsp[0].RELATION);
+	  }
+    break;
+
+  case 178:
+#line 1298 &quot;../src/parser.y&quot;
+    {  int n_nodes = reachable_info-&gt;node_names.size();
+	     int from_index = reachable_info-&gt;node_names.index((yyvsp[-4].VAR_NAME));
+	     int   to_index = reachable_info-&gt;node_names.index((yyvsp[-2].VAR_NAME));
 	     assert(from_index != 0 &amp;&amp; to_index != 0);
 	     assert(from_index &lt;= n_nodes &amp;&amp; to_index &lt;= n_nodes);
-	     reachable_info-&gt;transitions[from_index][to_index] = *yyvsp[0].RELATION;
-	     delete yyvsp[-4].VAR_NAME;
-	     delete yyvsp[-2].VAR_NAME;
-	     delete yyvsp[0].RELATION;
-	  ;
-    break;}
-case 178:
-#line 1302 &quot;../src/parser.y&quot;
-{  int n_nodes = reachable_info-&gt;node_names.size();
-	     int from_index = reachable_info-&gt;node_names.index(yyvsp[-4].VAR_NAME);
-	     int   to_index = reachable_info-&gt;node_names.index(yyvsp[-2].VAR_NAME);
+	     reachable_info-&gt;transitions[from_index][to_index] = *(yyvsp[0].RELATION);
+	     delete (yyvsp[-4].VAR_NAME);
+	     delete (yyvsp[-2].VAR_NAME);
+	     delete (yyvsp[0].RELATION);
+	  }
+    break;
+
+  case 179:
+#line 1309 &quot;../src/parser.y&quot;
+    {  int n_nodes = reachable_info-&gt;node_names.size();
+	     int from_index = reachable_info-&gt;node_names.index((yyvsp[-4].VAR_NAME));
+	     int   to_index = reachable_info-&gt;node_names.index((yyvsp[-2].VAR_NAME));
 	     assert(from_index != 0 &amp;&amp; to_index != 0);
 	     assert(from_index &lt;= n_nodes &amp;&amp; to_index &lt;= n_nodes);
-	     reachable_info-&gt;transitions[from_index][to_index] = *yyvsp[0].RELATION;
-	     delete yyvsp[-4].VAR_NAME;
-	     delete yyvsp[-2].VAR_NAME;
-	     delete yyvsp[0].RELATION;
-	  ;
-    break;}
-case 179:
-#line 1313 &quot;../src/parser.y&quot;
-{  int n_nodes = reachable_info-&gt;node_names.size();
-	     int index = reachable_info-&gt;node_names.index(yyvsp[-2].VAR_NAME);
+	     reachable_info-&gt;transitions[from_index][to_index] = *(yyvsp[0].RELATION);
+	     delete (yyvsp[-4].VAR_NAME);
+	     delete (yyvsp[-2].VAR_NAME);
+	     delete (yyvsp[0].RELATION);
+	  }
+    break;
+
+  case 180:
+#line 1320 &quot;../src/parser.y&quot;
+    {  int n_nodes = reachable_info-&gt;node_names.size();
+	     int index = reachable_info-&gt;node_names.index((yyvsp[-2].VAR_NAME));
 	     assert(index != 0 &amp;&amp; index &lt;= n_nodes);
-	     reachable_info-&gt;start_nodes[index] = *yyvsp[0].RELATION;
-	     delete yyvsp[-2].VAR_NAME;
-	     delete yyvsp[0].RELATION;
-	  ;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 498 &quot;/usr/share/bison.simple&quot;
+	     reachable_info-&gt;start_nodes[index] = *(yyvsp[0].RELATION);
+	     delete (yyvsp[-2].VAR_NAME);
+	     delete (yyvsp[0].RELATION);
+	  }
+    break;
+
+
+      default: break;
+    }
+
+/* Line 1126 of yacc.c.  */
+#line 3382 &quot;y.tab.c&quot;
 *
   yyvsp -= yylen;
   yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, &quot;state stack now&quot;);
-      while (ssp1 != yyssp)
-	fprintf (stderr, &quot; %d&quot;, *++ssp1);
-      fprintf (stderr, &quot;\n&quot;);
-    }
-#endif
+
+  YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp-&gt;first_line = yylloc.first_line;
-      yylsp-&gt;first_column = yylloc.first_column;
-      yylsp-&gt;last_line = (yylsp-1)-&gt;last_line;
-      yylsp-&gt;last_column = (yylsp-1)-&gt;last_column;
-      yylsp-&gt;text = 0;
-    }
-  else
-    {
-      yylsp-&gt;last_line = (yylsp+yylen-1)-&gt;last_line;
-      yylsp-&gt;last_column = (yylsp+yylen-1)-&gt;last_column;
-    }
-#endif
 
-  /* Now &quot;shift&quot; the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate &gt;= 0 &amp;&amp; yystate &lt;= YYLAST &amp;&amp; yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 &lt;= yystate &amp;&amp; yystate &lt;= YYLAST &amp;&amp; yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
+#if YYERROR_VERBOSE
       yyn = yypact[yystate];
 
-      if (yyn &gt; YYFLAG &amp;&amp; yyn &lt; YYLAST)
+      if (YYPACT_NINF &lt; yyn &amp;&amp; yyn &lt; YYLAST)
 	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
-
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn &lt; 0 ? -yyn : 0);
-	       x &lt; (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
-	    {
-	      strcpy(msg, &quot;parse error&quot;);
+	  int yytype = YYTRANSLATE (yychar);
+	  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+	  YYSIZE_T yysize = yysize0;
+	  YYSIZE_T yysize1;
+	  int yysize_overflow = 0;
+	  char *yymsg = 0;
+#	  define YYERROR_VERBOSE_ARGS_MAXIMUM 5
+	  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+	  int yyx;
 
-	      if (count &lt; 5)
+#if 0
+	  /* This is so xgettext sees the translatable formats that are
+	     constructed on the fly.  */
+	  YY_(&quot;syntax error, unexpected %s&quot;);
+	  YY_(&quot;syntax error, unexpected %s, expecting %s&quot;);
+	  YY_(&quot;syntax error, unexpected %s, expecting %s or %s&quot;);
+	  YY_(&quot;syntax error, unexpected %s, expecting %s or %s or %s&quot;);
+	  YY_(&quot;syntax error, unexpected %s, expecting %s or %s or %s or %s&quot;);
+#endif
+	  char *yyfmt;
+	  char const *yyf;
+	  static char const yyunexpected[] = &quot;syntax error, unexpected %s&quot;;
+	  static char const yyexpecting[] = &quot;, expecting %s&quot;;
+	  static char const yyor[] = &quot; or %s&quot;;
+	  char yyformat[sizeof yyunexpected
+			+ sizeof yyexpecting - 1
+			+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+			   * (sizeof yyor - 1))];
+	  char const *yyprefix = yyexpecting;
+
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  int yyxbegin = yyn &lt; 0 ? -yyn : 0;
+
+	  /* Stay within bounds of both yycheck and yytname.  */
+	  int yychecklim = YYLAST - yyn;
+	  int yyxend = yychecklim &lt; YYNTOKENS ? yychecklim : YYNTOKENS;
+	  int yycount = 1;
+
+	  yyarg[0] = yytname[yytype];
+	  yyfmt = yystpcpy (yyformat, yyunexpected);
+
+	  for (yyx = yyxbegin; yyx &lt; yyxend; ++yyx)
+	    if (yycheck[yyx + yyn] == yyx &amp;&amp; yyx != YYTERROR)
+	      {
+		if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+		  {
+		    yycount = 1;
+		    yysize = yysize0;
+		    yyformat[sizeof yyunexpected - 1] = '\0';
+		    break;
+		  }
+		yyarg[yycount++] = yytname[yyx];
+		yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+		yysize_overflow |= yysize1 &lt; yysize;
+		yysize = yysize1;
+		yyfmt = yystpcpy (yyfmt, yyprefix);
+		yyprefix = yyor;
+	      }
+
+	  yyf = YY_(yyformat);
+	  yysize1 = yysize + yystrlen (yyf);
+	  yysize_overflow |= yysize1 &lt; yysize;
+	  yysize = yysize1;
+
+	  if (!yysize_overflow &amp;&amp; yysize &lt;= YYSTACK_ALLOC_MAXIMUM)
+	    yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg)
+	    {
+	      /* Avoid sprintf, as that infringes on the user's name space.
+		 Don't have undefined behavior even if the translation
+		 produced a string with the wrong number of &quot;%s&quot;s.  */
+	      char *yyp = yymsg;
+	      int yyi = 0;
+	      while ((*yyp = *yyf))
 		{
-		  count = 0;
-		  for (x = (yyn &lt; 0 ? -yyn : 0);
-		       x &lt; (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
-		      {
-			strcat(msg, count == 0 ? &quot;, expecting `&quot; : &quot; or `&quot;);
-			strcat(msg, yytname[x]);
-			strcat(msg, &quot;'&quot;);
-			count++;
-		      }
-		}
-	      yyerror(msg);
-	      free(msg);
+		  if (*yyp == '%' &amp;&amp; yyf[1] == 's' &amp;&amp; yyi &lt; yycount)
+		    {
+		      yyp += yytnamerr (yyp, yyarg[yyi++]);
+		      yyf += 2;
+		    }
+		  else
+		    {
+		      yyp++;
+		      yyf++;
+		    }
+		}
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
 	    }
 	  else
-	    yyerror (&quot;parse error; also virtual memory exceeded&quot;);
+	    {
+	      yyerror (YY_(&quot;syntax error&quot;));
+	      goto yyexhaustedlab;
+	    }
 	}
       else
 #endif /* YYERROR_VERBOSE */
-	yyerror(&quot;parse error&quot;);
+	yyerror (YY_(&quot;syntax error&quot;));
     }
 
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
+
 
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar &lt;= YYEOF)
+        {
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+        }
+      else
+	{
+	  yydestruct (&quot;Error: discarding&quot;, yytoken, &amp;yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (0)
+     goto yyerrorlab;
 
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
+yyvsp -= yylen;
+  yyssp -= yylen;
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 &lt;= yyn &amp;&amp; yyn &lt;= YYLAST &amp;&amp; yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 &lt; yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
 	YYABORT;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, &quot;Discarding token %d (%s).\n&quot;, yychar, yytname[yychar1]);
-#endif
 
-      yychar = YYEMPTY;
+      yydestruct (&quot;Error: popping&quot;, yystos[yystate], yyvsp);
+      YYPOPSTACK;
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
+  if (yyn == YYFINAL)
+    YYACCEPT;
 
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
+  *++yyvsp = yylval;
 
-  goto yyerrhandle;
 
-yyerrdefault:  /* current state does not do anything special for the error token. */
+  /* Shift the error token. */
+  YY_SYMBOL_PRINT (&quot;Shifting&quot;, yystos[yyn], yyvsp, yylsp);
 
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
-#endif
+  yystate = yyn;
+  goto yynewstate;
 
-yyerrpop:   /* pop the current state because it cannot handle the error token */
 
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_(&quot;memory exhausted&quot;));
+  yyresult = 2;
+  /* Fall through.  */
 #endif
 
-#if YYDEBUG != 0
-  if (yydebug)
+yyreturn:
+  if (yychar != YYEOF &amp;&amp; yychar != YYEMPTY)
+     yydestruct (&quot;Cleanup: discarding lookahead&quot;,
+		 yytoken, &amp;yylval);
+  while (yyssp != yyss)
     {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, &quot;Error: state stack now&quot;);
-      while (ssp1 != yyssp)
-	fprintf (stderr, &quot; %d&quot;, *++ssp1);
-      fprintf (stderr, &quot;\n&quot;);
+      yydestruct (&quot;Cleanup: popping&quot;,
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK;
     }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
 #endif
+  return yyresult;
+}
 
-yyerrhandle:
 
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
+#line 1329 &quot;../src/parser.y&quot;
 
-  yyn += YYTERROR;
-  if (yyn &lt; 0 || yyn &gt; YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
 
-  yyn = yytable[yyn];
-  if (yyn &lt; 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, &quot;Shifting error token, &quot;);
-#endif
+extern FILE *yyin;
 
-  *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
+#if ! defined(OMIT_GETRUSAGE)
+#ifdef __sparc__
+extern &quot;C&quot; int getrusage (int, struct rusage*);
 #endif
 
-  yystate = yyn;
-  goto yynewstate;
-}
-#line 1322 &quot;../src/parser.y&quot;
 
+namespace omega {
 
 #if !defined(OMIT_GETRUSAGE)
 #include &lt;sys/types.h&gt;
@@ -2829,11 +3679,6 @@ void *realloc(void *p, size_t s)
     }
 #endif
 
-#if ! defined(OMIT_GETRUSAGE)
-#ifdef __sparc__
-extern &quot;C&quot; int getrusage (int, struct rusage*);
-#endif
-
 void start_clock( void )
     {
     getrusage(RUSAGE_SELF, &amp;start_time);
@@ -2853,7 +3698,8 @@ void printUsage(FILE *outf, char **argv) {
 }
 
 int omega_calc_debug;
-extern FILE *yyin;
+
+} // end namespace omega
 
 int main(int argc, char **argv){
   redundant_conj_level = 2;
@@ -2949,6 +3795,7 @@ int main(int argc, char **argv){
   return(0);
 } /* end main */
 
+namespace omega {
 
 Relation LexForward(int n) {
   Relation r(n,n);
@@ -2971,4 +3818,6 @@ Relation LexForward(int n) {
   return r;
   }
 
+} // end of namespace omega
+
 </diff>
      <filename>omega_calc/obj/y.tab.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,226 @@
-typedef union {
+/* A Bison parser, made by GNU Bison 2.1.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     VAR = 258,
+     INT = 259,
+     STRING = 260,
+     OPEN_BRACE = 261,
+     CLOSE_BRACE = 262,
+     SYMBOLIC = 263,
+     OR = 264,
+     AND = 265,
+     NOT = 266,
+     ST = 267,
+     APPROX = 268,
+     IS_ASSIGNED = 269,
+     FORALL = 270,
+     EXISTS = 271,
+     DOMAIN = 272,
+     RANGE = 273,
+     DIFFERENCE = 274,
+     DIFFERENCE_TO_RELATION = 275,
+     GIST = 276,
+     GIVEN = 277,
+     HULL = 278,
+     WITHIN = 279,
+     MAXIMIZE = 280,
+     MINIMIZE = 281,
+     AFFINE_HULL = 282,
+     VENN = 283,
+     CONVEX_COMBINATION = 284,
+     POSITIVE_COMBINATION = 285,
+     CONVEX_HULL = 286,
+     CONIC_HULL = 287,
+     LINEAR_HULL = 288,
+     PAIRWISE_CHECK = 289,
+     CONVEX_CHECK = 290,
+     MAXIMIZE_RANGE = 291,
+     MINIMIZE_RANGE = 292,
+     MAXIMIZE_DOMAIN = 293,
+     MINIMIZE_DOMAIN = 294,
+     LEQ = 295,
+     GEQ = 296,
+     NEQ = 297,
+     GOES_TO = 298,
+     COMPOSE = 299,
+     JOIN = 300,
+     INVERSE = 301,
+     COMPLEMENT = 302,
+     IN = 303,
+     CARRIED_BY = 304,
+     TIME = 305,
+     TIMECLOSURE = 306,
+     UNION = 307,
+     INTERSECTION = 308,
+     VERTICAL_BAR = 309,
+     SUCH_THAT = 310,
+     SUBSET = 311,
+     ITERATIONS = 312,
+     SPMD = 313,
+     CODEGEN = 314,
+     DECOUPLED_FARKAS = 315,
+     FARKAS = 316,
+     TCODEGEN = 317,
+     TRANS_IS = 318,
+     SET_MMAP = 319,
+     UNROLL_IS = 320,
+     PEEL_IS = 321,
+     MAKE_UPPER_BOUND = 322,
+     MAKE_LOWER_BOUND = 323,
+     REL_OP = 324,
+     RESTRICT_DOMAIN = 325,
+     RESTRICT_RANGE = 326,
+     SUPERSETOF = 327,
+     SUBSETOF = 328,
+     SAMPLE = 329,
+     SYM_SAMPLE = 330,
+     PROJECT_AWAY_SYMBOLS = 331,
+     PROJECT_ON_SYMBOLS = 332,
+     REACHABLE_FROM = 333,
+     REACHABLE_OF = 334,
+     ASSERT_UNSAT = 335,
+     PARSE_EXPRESSION = 336,
+     PARSE_FORMULA = 337,
+     PARSE_RELATION = 338,
+     p1 = 339,
+     p2 = 340,
+     p3 = 341,
+     p4 = 342,
+     p5 = 343,
+     p6 = 344,
+     p7 = 345,
+     p8 = 346,
+     p9 = 347,
+     p10 = 348
+   };
+#endif
+/* Tokens.  */
+#define VAR 258
+#define INT 259
+#define STRING 260
+#define OPEN_BRACE 261
+#define CLOSE_BRACE 262
+#define SYMBOLIC 263
+#define OR 264
+#define AND 265
+#define NOT 266
+#define ST 267
+#define APPROX 268
+#define IS_ASSIGNED 269
+#define FORALL 270
+#define EXISTS 271
+#define DOMAIN 272
+#define RANGE 273
+#define DIFFERENCE 274
+#define DIFFERENCE_TO_RELATION 275
+#define GIST 276
+#define GIVEN 277
+#define HULL 278
+#define WITHIN 279
+#define MAXIMIZE 280
+#define MINIMIZE 281
+#define AFFINE_HULL 282
+#define VENN 283
+#define CONVEX_COMBINATION 284
+#define POSITIVE_COMBINATION 285
+#define CONVEX_HULL 286
+#define CONIC_HULL 287
+#define LINEAR_HULL 288
+#define PAIRWISE_CHECK 289
+#define CONVEX_CHECK 290
+#define MAXIMIZE_RANGE 291
+#define MINIMIZE_RANGE 292
+#define MAXIMIZE_DOMAIN 293
+#define MINIMIZE_DOMAIN 294
+#define LEQ 295
+#define GEQ 296
+#define NEQ 297
+#define GOES_TO 298
+#define COMPOSE 299
+#define JOIN 300
+#define INVERSE 301
+#define COMPLEMENT 302
+#define IN 303
+#define CARRIED_BY 304
+#define TIME 305
+#define TIMECLOSURE 306
+#define UNION 307
+#define INTERSECTION 308
+#define VERTICAL_BAR 309
+#define SUCH_THAT 310
+#define SUBSET 311
+#define ITERATIONS 312
+#define SPMD 313
+#define CODEGEN 314
+#define DECOUPLED_FARKAS 315
+#define FARKAS 316
+#define TCODEGEN 317
+#define TRANS_IS 318
+#define SET_MMAP 319
+#define UNROLL_IS 320
+#define PEEL_IS 321
+#define MAKE_UPPER_BOUND 322
+#define MAKE_LOWER_BOUND 323
+#define REL_OP 324
+#define RESTRICT_DOMAIN 325
+#define RESTRICT_RANGE 326
+#define SUPERSETOF 327
+#define SUBSETOF 328
+#define SAMPLE 329
+#define SYM_SAMPLE 330
+#define PROJECT_AWAY_SYMBOLS 331
+#define PROJECT_ON_SYMBOLS 332
+#define REACHABLE_FROM 333
+#define REACHABLE_OF 334
+#define ASSERT_UNSAT 335
+#define PARSE_EXPRESSION 336
+#define PARSE_FORMULA 337
+#define PARSE_RELATION 338
+#define p1 339
+#define p2 340
+#define p3 341
+#define p4 342
+#define p5 343
+#define p6 344
+#define p7 345
+#define p8 346
+#define p9 347
+#define p10 348
+
+
+
+
+#if ! defined (YYSTYPE) &amp;&amp; ! defined (YYSTYPE_IS_DECLARED)
+#line 130 &quot;../src/parser.y&quot;
+typedef union YYSTYPE {
 	int INT_VALUE;
 	Rel_Op REL_OPERATOR;
 	char *VAR_NAME;
@@ -24,97 +246,14 @@ typedef union {
 	MMap *MMAP;
 	PartialMMap *PMMAP;
 	} YYSTYPE;
-#define	VAR	258
-#define	INT	259
-#define	STRING	260
-#define	OPEN_BRACE	261
-#define	CLOSE_BRACE	262
-#define	SYMBOLIC	263
-#define	OR	264
-#define	AND	265
-#define	NOT	266
-#define	ST	267
-#define	APPROX	268
-#define	IS_ASSIGNED	269
-#define	FORALL	270
-#define	EXISTS	271
-#define	DOMAIN	272
-#define	RANGE	273
-#define	DIFFERENCE	274
-#define	DIFFERENCE_TO_RELATION	275
-#define	GIST	276
-#define	GIVEN	277
-#define	HULL	278
-#define	WITHIN	279
-#define	MAXIMIZE	280
-#define	MINIMIZE	281
-#define	AFFINE_HULL	282
-#define	VENN	283
-#define	CONVEX_COMBINATION	284
-#define	POSITIVE_COMBINATION	285
-#define	CONVEX_HULL	286
-#define	CONIC_HULL	287
-#define	LINEAR_HULL	288
-#define	PAIRWISE_CHECK	289
-#define	CONVEX_CHECK	290
-#define	MAXIMIZE_RANGE	291
-#define	MINIMIZE_RANGE	292
-#define	MAXIMIZE_DOMAIN	293
-#define	MINIMIZE_DOMAIN	294
-#define	LEQ	295
-#define	GEQ	296
-#define	NEQ	297
-#define	GOES_TO	298
-#define	COMPOSE	299
-#define	JOIN	300
-#define	INVERSE	301
-#define	COMPLEMENT	302
-#define	IN	303
-#define	CARRIED_BY	304
-#define	TIME	305
-#define	TIMECLOSURE	306
-#define	UNION	307
-#define	INTERSECTION	308
-#define	VERTICAL_BAR	309
-#define	SUCH_THAT	310
-#define	SUBSET	311
-#define	ITERATIONS	312
-#define	SPMD	313
-#define	CODEGEN	314
-#define	DECOUPLED_FARKAS	315
-#define	FARKAS	316
-#define	TCODEGEN	317
-#define	TRANS_IS	318
-#define	SET_MMAP	319
-#define	UNROLL_IS	320
-#define	PEEL_IS	321
-#define	MAKE_UPPER_BOUND	322
-#define	MAKE_LOWER_BOUND	323
-#define	REL_OP	324
-#define	RESTRICT_DOMAIN	325
-#define	RESTRICT_RANGE	326
-#define	SUPERSETOF	327
-#define	SUBSETOF	328
-#define	SAMPLE	329
-#define	SYM_SAMPLE	330
-#define	PROJECT_AWAY_SYMBOLS	331
-#define	PROJECT_ON_SYMBOLS	332
-#define	REACHABLE_FROM	333
-#define	REACHABLE_OF	334
-#define	ASSERT_UNSAT	335
-#define	PARSE_EXPRESSION	336
-#define	PARSE_FORMULA	337
-#define	PARSE_RELATION	338
-#define	p1	339
-#define	p2	340
-#define	p3	341
-#define	p4	342
-#define	p5	343
-#define	p6	344
-#define	p7	345
-#define	p8	346
-#define	p9	347
-#define	p10	348
-
+/* Line 1447 of yacc.c.  */
+#line 251 &quot;y.tab.h&quot;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 extern YYSTYPE yylval;
+
+
+</diff>
      <filename>omega_calc/obj/y.tab.h</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,8 @@
 #include &lt;string.h&gt;
 #include &lt;omega/AST.h&gt;
 #include &lt;basic/Dynamic_Array.h&gt;
+#include &lt;basic/Exit.h&gt;
 #include &lt;code_gen/mmap-codegen.h&gt;
-#include &quot;y.tab.h&quot;
 #include &lt;omega/calc_debug.h&gt;
 #ifdef WIN32
 #include &lt;io.h&gt;
@@ -15,6 +15,8 @@
 
 extern &quot;C&quot; int yywrap() {return 1;};
 
+using namespace omega;
+#include &quot;y.tab.h&quot;
 
 #if defined BRAIN_DAMAGED_FREE
 void free(void *p);</diff>
      <filename>omega_calc/src/parser.l</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,12 @@
 
 #define DEBUG_FILE_NAME &quot;./oc.out&quot;
 
+/* Can only do the following when &quot;using namespace omega&quot;
+   is also put before the inclusion of y.tab.h in parser.l.
+*/
+using omega::min;
+using omega::negate;
+using namespace omega;
 
 Map&lt;Const_String,Relation*&gt; relationMap ((Relation *)0);
 static int redundant_conj_level;
@@ -32,6 +38,7 @@ void free(void *p);
 void *realloc(void *p, size_t s);
 #endif
 
+namespace omega {
 #if !defined(OMIT_GETRUSAGE)
 void start_clock( void );
 int clock_diff( void );
@@ -43,7 +50,7 @@ int tuplePos = 0;
 Argument_Tuple currentTuple = Input_Tuple;
 
 Relation LexForward(int n);
-
+} // end namespace omega
 
 reachable_information *reachable_info;
 
@@ -179,7 +186,7 @@ inputItem :
 	| VAR IS_ASSIGNED relation ';' 
 			{
 			  flushScanBuffer();
-			  $3-&gt;simplify(min(2,redundant_conj_level),4);
+			  $3-&gt;simplify(::min(2,redundant_conj_level),4);
 			  Relation *r = relationMap((Const_String)$1);
 			  if (r) delete r;
 			  relationMap[(Const_String)$1] = $3; 
@@ -1026,7 +1033,7 @@ formula_sep : ':'
 	;
 
 tupleDeclaration :
-	{ currentTupleDescriptor = new tupleDescriptor; tuplePos = 1 }
+	{ currentTupleDescriptor = new tupleDescriptor; tuplePos = 1; }
 	'[' optionalTupleVarList ']' 
 	{$$ = currentTupleDescriptor; }
 	;
@@ -1179,7 +1186,7 @@ argumentList :
 exp : INT 		{$$ = new Exp($1);}
 	| INT simpleExp  %prec '*' {$$ = multiply($1,$2);}
 	| simpleExp	{ $$ = $1; }
-	| '-' exp %prec '*'   { $$ = negate($2);}
+	| '-' exp %prec '*'   { $$ = ::negate($2);}
 	| exp '+' exp  { $$ = add($1,$3);}
 	| exp '-' exp  { $$ = subtract($1,$3);}
 	| exp '*' exp  { $$ = multiply($1,$3);}
@@ -1321,6 +1328,16 @@ realNodeSpecificationList:
 
 %%
 
+extern FILE *yyin;
+
+#if ! defined(OMIT_GETRUSAGE)
+#ifdef __sparc__
+extern &quot;C&quot; int getrusage (int, struct rusage*);
+#endif
+
+
+namespace omega {
+
 #if !defined(OMIT_GETRUSAGE)
 #include &lt;sys/types.h&gt;
 #include &lt;sys/time.h&gt;
@@ -1341,11 +1358,6 @@ void *realloc(void *p, size_t s)
     }
 #endif
 
-#if ! defined(OMIT_GETRUSAGE)
-#ifdef __sparc__
-extern &quot;C&quot; int getrusage (int, struct rusage*);
-#endif
-
 void start_clock( void )
     {
     getrusage(RUSAGE_SELF, &amp;start_time);
@@ -1365,7 +1377,8 @@ void printUsage(FILE *outf, char **argv) {
 }
 
 int omega_calc_debug;
-extern FILE *yyin;
+
+} // end namespace omega
 
 int main(int argc, char **argv){
   redundant_conj_level = 2;
@@ -1461,6 +1474,7 @@ int main(int argc, char **argv){
   return(0);
 } /* end main */
 
+namespace omega {
 
 Relation LexForward(int n) {
   Relation r(n,n);
@@ -1483,4 +1497,5 @@ Relation LexForward(int n) {
   return r;
   }
 
+} // end of namespace omega
 </diff>
      <filename>omega_calc/src/parser.y</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-/* $Id: omega.h,v 1.1.1.1 2000/06/29 19:24:00 dwonnaco Exp $ */
+/* $Id: omega.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 
 // Sorry about the following unslightly billboard, but we need to</diff>
      <filename>omega_lib/include/omega.h</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,9 @@
 #include &lt;omega.h&gt;
 #include &lt;omega/enter_AST.h&gt;
 
+
+namespace omega {
+
 typedef enum {eq, lt, gt, geq, leq, neq} Rel_Op;
 
 
@@ -87,6 +90,13 @@ inline void popScope() {
 Variable_Ref *lookupScalar(char *s);
 Declaration_Site * defined (char *);
 
+// prototypes for friend classes
+class Exp;
+Exp * multiply (int c, Exp * x);	
+Exp * multiply (Exp * x, Exp *y);	
+Exp * negate (Exp * x);
+Exp * add (Exp * x, Exp *y);	
+Exp * subtract (Exp * x, Exp *y);	
 
 class Exp {
 public:
@@ -324,5 +334,8 @@ public:
 };
 
 
+} // end of namespace omega
+
+
 #endif 
 	</diff>
      <filename>omega_lib/include/omega/AST.h</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,9 @@
 #include &lt;omega.h&gt;
 #include &lt;omega/AST.h&gt;
 
+
+namespace omega {
+
 template int max(int, int);
 template int min(int, int);
 template unsigned int min(unsigned int, unsigned int);
@@ -81,3 +84,5 @@ instantiate_Map(Variable_Ref *, Variable_Ref *);
 instantiate_Map(Const_String, Variable_Ref *);
 instantiate_Set(Free_Var_Decl *);
 instantiate_Tuple(Variable_Ref *);
+
+} // end of namespace omega</diff>
      <filename>omega_lib/include/omega/PT-omega.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 #if ! defined _RelBody_h
 #define _RelBody_h 1
 
-/* $Id: RelBody.h,v 1.2 2000/08/02 20:04:41 dwonnaco Exp $ */
+/* $Id: RelBody.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #include &lt;basic/bool.h&gt;
 
@@ -13,6 +13,9 @@
 #include &lt;omega/pres_dnf.h&gt;
 #endif
 
+
+namespace omega {
+
 typedef enum {under_construction, compressed, uncompressed} Rel_Body_Status;
 typedef unsigned char Rel_Unknown_Uses;
 const Rel_Unknown_Uses no_u = 1;
@@ -175,4 +178,7 @@ private:
     bool _is_set;
 };
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/RelBody.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 #if ! defined _Rel_map_h
 #define _Rel_map_h 1
 
-/* $Id: Rel_map.h,v 1.1.1.1 2000/06/29 19:24:00 dwonnaco Exp $ */
+/* $Id: Rel_map.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_gen_h
 #include &lt;omega/pres_gen.h&gt;
@@ -10,6 +10,9 @@
 #include &lt;omega/pres_var.h&gt;
 #endif
 
+
+namespace omega {
+
 //
 // Mapping for relations
 // When a relation operation needs to re-arrange the variables,
@@ -163,4 +166,7 @@ private:
   int      map_out_pos[maxVars];
 };
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/Rel_map.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 #if ! defined _Relation_h
 #define _Relation_h 1
 
-/* $Id: Relation.h,v 1.2 2000/08/02 20:04:42 dwonnaco Exp $ */
+/* $Id: Relation.h,v 1.2 2005/02/09 22:23:20 mstrout Exp $ */
 
 #include &lt;basic/bool.h&gt;
 
@@ -13,9 +13,12 @@
 #include &lt;omega/pres_cnstr.h&gt;
 #endif
 
-#include &lt;iostream.h&gt;
+//#include &lt;iostream.h&gt;
+#include &lt;iostream&gt;
 #include &lt;basic/NonCoercible.h&gt;
 
+namespace omega {
+
 //
 // Relation representative.
 // Body and representative are separated to do reference counting.
@@ -160,7 +163,7 @@ public:
       { return rel_body-&gt;is_satisfiable(); }
 
     inline bool is_tautology()
-      { return rel_body-&gt;is_obvious_tautology(); }  // for compatibility
+      { return rel_body-&gt;is_definite_tautology(); }  // for compatibility
     inline bool is_obvious_tautology()
       { return rel_body-&gt;is_obvious_tautology(); }
 
@@ -296,9 +299,13 @@ inline ostream &amp; operator&lt;&lt;(ostream &amp;o, Relation &amp;R)
     return o &lt;&lt; R.print_with_subs_to_string();
     }
 
+} // end of namespace omega
+
+
 
 #if ! defined _Relations_h
 #include &lt;omega/Relations.h&gt;
 #endif
 
+
 #endif</diff>
      <filename>omega_lib/include/omega/Relation.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,13 +4,15 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: Relations.h,v 1.1.1.1 2000/06/29 19:24:00 dwonnaco Exp $ */
+/* $Id: Relations.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 // Relational operations
 
 #if ! defined _Relation_h
 #include &lt;omega/Relation.h&gt;
 #endif
 
+namespace omega {
+
 // UPDATE friend_rel_ops IN pres_gen.h WHEN ADDING TO THIS LIST
 // REMEMBER TO TAKE OUT DEFAULT ARGUMENTS IN THAT FILE
 
@@ -99,4 +101,7 @@ void align(Rel_Body *originalr, Rel_Body *newr, F_Exists *fe,
 	   List&lt;int&gt; &amp;seen_exists,
 	   Variable_ID_Tuple &amp;seen_exists_ids);
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/Relations.h</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,8 @@
 #include &lt;omega/omega_core/debugging.h&gt;
 #include &lt;ctype.h&gt;
 
+namespace omega {
+
 extern int omega_calc_debug;
 extern int code_gen_debug;
 
@@ -66,4 +68,7 @@ inline int process_calc_debugging_flags(char *arg,int &amp;j) {
     return(1);
 }
 
+} // end of namespace omega
+
+
 #endif</diff>
      <filename>omega_lib/include/omega/calc_debug.h</filename>
    </modified>
    <modified>
      <diff>@@ -3,11 +3,17 @@
 
 #include &lt;omega/Relation.h&gt;
 
+namespace omega {
+
+
 void InvestigateClosure(Relation r, Relation r_closure, Relation bounds);
 void print_given_bounds(const Relation &amp; R1, NOT_CONST Relation&amp; input_Bounds);
 
 #define printConjunctClosure   (closure_presburger_debug &amp; 0x1) 
 #define detailedClosureDebug   (closure_presburger_debug &amp; 0x2)
 
+
+
+} // end of namespace omega
  
 #endif</diff>
      <filename>omega_lib/include/omega/closure.h</filename>
    </modified>
    <modified>
      <diff>@@ -9,8 +9,8 @@
 
 #if ! defined Relation
 
-#define Relation Omega_Relation
-#define Formula  Omega_Formula
+//#define Relation Omega_Relation
+//#define Formula  Omega_Formula
 #define LOWER_BOUND OMEGA_LOWER_BOUND
 #define UPPER_BOUND OMEGA_UPPER_BOUND
 #define EXACT_BOUND OMEGA_EXACT_BOUND</diff>
      <filename>omega_lib/include/omega/enter_omega.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,8 @@
 #if defined STUDY_EVACUATIONS
 
+
+namespace omega {
+
 // study the evacuation from one side of C to the other for UFS's of
 // arity up to max_arity
 extern void study_evacuation(Conjunct *C, which_way dir, int max_arity);
@@ -8,4 +11,7 @@ extern void study_evacuation(Conjunct *C, which_way dir, int max_arity);
 // either of the other possible tuples
 extern void study_evacuation(Conjunct *C1, Conjunct *C2, int max_arity);
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/evac.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
-/* $Id: farkas.h,v 1.1.1.1 2000/06/29 19:24:01 dwonnaco Exp $ */
+/* $Id: farkas.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 #ifndef Already_Included_Affine_Closure
 #define Already_Included_Affine_Closure
 
 #include &lt;omega/Relation.h&gt;
 
+namespace omega {
+
 typedef enum {Basic_Farkas, 
 		Decoupled_Farkas,
 		Linear_Combination_Farkas,
@@ -16,4 +18,7 @@ extern Relation Farkas(NOT_CONST Relation &amp;R, Farkas_Type op);
 extern coef_t farkasDifficulty;
 
 extern Global_Var_ID coefficient_of_constant_term;
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/farkas.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
-/* $Id: hull.h,v 1.1.1.1 2000/06/29 19:24:01 dwonnaco Exp $ */
+/* $Id: hull.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #ifndef Already_Included_Hull
 #define Already_Included_Hull
 #include &lt;omega/farkas.h&gt;
 
+namespace omega {
+
 // All of the following first call approximate on S to
 // eliminate any wildcards, strides the conjuncts of S
 
@@ -86,4 +88,7 @@ Relation VennDiagramForm(
 
 
 Relation CheckForConvexRepresentation(NOT_CONST Relation &amp;R_In);
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/hull.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,16 @@
-#undef Relation
-#undef Formula
+//#undef Relation
+//#undef Formula
 #undef LOWER_BOUND
 #undef UPPER_BOUND
 #undef EXACT_BOUND
 #undef UNSET_BOUND
+#undef assert
+
+#include &lt;basic/leave_Iterator.h&gt;
+
+namespace omega {
+
 
 typedef enum {AST_eq, AST_lt, AST_gt, AST_geq, AST_leq, AST_neq} Rel_Op;
+
+} // end of namespace omega</diff>
      <filename>omega_lib/include/omega/leave_omega.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,8 @@
 #include &lt;basic/bool.h&gt;
 
 
+namespace omega {
+
 bool lib_hack(Conjunct *c, DNF *d, Rel_Body *rb);
 extern bool WANT_SEGM_FAULT;
 
@@ -15,4 +17,8 @@ class grab_lib_hack {
 };
 
 static grab_lib_hack hack_hack;
+
+} // end of namespace omega
+
 #endif
+</diff>
      <filename>omega_lib/include/omega/lib_hack.h</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,9 @@
 #include &lt;stdio.h&gt;
 #include &lt;ctype.h&gt;
 
+
+namespace omega {
+
 extern FILE *DebugFile;
 
 extern int omega_core_debug;
@@ -80,4 +83,7 @@ inline int process_pres_debugging_flags(char *arg,int &amp;j) {
     return(1);
 }
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/omega_core/debugging.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,23 @@
-/* $Id: oc.h,v 1.5 2000/08/16 20:01:15 dwonnaco Exp $ */
+/* $Id: oc.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #ifndef Already_Included_OC
 #define Already_Included_OC 1
 
 #include &lt;basic/bool.h&gt;
+
 #include &lt;stdio.h&gt;
+//#include &lt;cstdio&gt;
+//using namespace std;
+
 #include &lt;basic/String.h&gt;
 #include &lt;basic/util.h&gt;
 #include &lt;omega/omega_core/debugging.h&gt;
 
 #define maxVars 56
 
+namespace omega {
+
+
 extern int maxGEQs;
 extern int maxEQs;
 
@@ -139,7 +146,7 @@ public:
     short     var[maxVars+2];
     short     forwardingAddress[maxVars+2];
     // int     variableColor[maxVars+2];
-    int  hashVersion;
+    int  mHashVersion;
     const char *(*get_var_name)(unsigned int var, void *args);
     void *getVarNameArgs;
     eqn *GEQs;
@@ -347,4 +354,7 @@ extern void check_number_EQs(int nEQs);
 extern void check_number_GEQs(int nGEQs);
 extern void checkVars(int nVars);
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/omega_core/oc.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-/* $Id: oc_i.h,v 1.1.1.1 2000/06/29 19:24:03 dwonnaco Exp $ */
+/* $Id: oc_i.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if !defined(Already_included_oc_i)
 #define Already_included_oc_i
@@ -21,6 +21,9 @@
 #define TRUE 1
 #define FALSE 0
 
+
+namespace omega {
+
 extern int findingImplicitEqualities;
 extern int firstCheckForRedundantEquations;
 extern int use_ugly_names;
@@ -79,4 +82,7 @@ static inline void free(const Problem *p)
     } \
 }
 #endif
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/omega_core/oc_i.h</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,9 @@
 #endif
 
 #define Assert(c,t) if(!(c)) PresErrAssert(t)
+
+namespace omega {
+
 void PresErrAssert(char *t);
 
 extern Rel_Body null_rel;
@@ -19,6 +22,9 @@ extern Global_Input_Output_Tuple input_vars;
 extern Global_Input_Output_Tuple output_vars;
 extern Global_Input_Output_Tuple &amp;set_vars;
 
+} // end of namespace omega
+
+
 #if ! defined DONT_INCLUDE_TEMPLATE_CODE
 // with g++258, everything will need to make Tuple&lt;Relation&gt;, as a
 // function taking it as an argument is a friend of lots of classes</diff>
      <filename>omega_lib/include/omega/omega_i.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,12 @@
 #if ! defined _pres_cmpr_h
 #define _pres_cmpr_h 1
 
-/* $Id: pres_cmpr.h,v 1.1.1.1 2000/06/29 19:24:02 dwonnaco Exp $ */
+/* $Id: pres_cmpr.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #include &lt;omega/omega_core/oc.h&gt;
 
+namespace omega {
+
 //
 // Compressed problem: rectangular non-0 cut from the big problem.
 //
@@ -44,4 +46,6 @@ private:
   Comp_Constraints geqs;
 };
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_cmpr.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,11 +4,13 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_cnstr.h,v 1.1.1.1 2000/06/29 19:24:02 dwonnaco Exp $ */
+/* $Id: pres_cnstr.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 #if ! defined _pres_var_h
 #include &lt;omega/pres_var.h&gt;
 #endif
 
+namespace omega {
+
 //
 // Constraint handles
 //
@@ -21,6 +23,7 @@ void copy_constraint(Constraint_Handle H, const Constraint_Handle initial);
 class Constraint_Handle {
 public:
   inline Constraint_Handle() {}
+  virtual ~Constraint_Handle() {}
   void   update_coef(Variable_ID, coef_t delta);
   void   update_const(coef_t delta);
   coef_t get_coef(Variable_ID v) const;
@@ -84,6 +87,7 @@ private:
 class GEQ_Handle : public Constraint_Handle {
 public:
     inline GEQ_Handle() {}
+    virtual ~GEQ_Handle() {}
 
     virtual String print_to_string() const;
     virtual String print_term_to_string() const;
@@ -101,6 +105,7 @@ private:
 class EQ_Handle : public Constraint_Handle {
 public:
     inline EQ_Handle() {}
+    virtual ~EQ_Handle() {}
 
     virtual String print_to_string() const;
     virtual String print_term_to_string() const;
@@ -192,4 +197,6 @@ private:
   int               current;
 };
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_cnstr.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_conj.h,v 1.2 2000/08/16 20:01:15 dwonnaco Exp $ */
+/* $Id: pres_conj.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_decl_h
 #include &lt;omega/pres_decl.h&gt;
@@ -16,6 +16,12 @@
 #include &lt;omega/pres_cnstr.h&gt;
 #endif
 
+
+namespace omega {
+
+// friend function for Conjunct
+const char* get_var_name(unsigned int col, void * void_conj);
+
 //
 // Conjunct
 //
@@ -302,4 +308,6 @@ void zero_column(Problem *tp,  int to_col,
 	         int no_EQs,   int no_GEQs);
 
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_conj.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_decl.h,v 1.1.1.1 2000/06/29 19:24:02 dwonnaco Exp $ */
+/* $Id: pres_decl.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_var_h
 #include &lt;omega/pres_var.h&gt;
@@ -14,6 +14,9 @@
 #endif
 #include &lt;basic/Section.h&gt;
 
+
+namespace omega {
+
 //
 // Base class for presburger formula nodes with variables
 //
@@ -58,4 +61,6 @@ private:
 
 };
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_decl.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,15 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_dnf.h,v 1.2 2000/08/16 20:01:15 dwonnaco Exp $ */
+/* $Id: pres_dnf.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_gen_h
 #include &lt;omega/pres_gen.h&gt;
 #endif
 
+
+namespace omega {
+
 //
 // Disjunctive Normal Form -- list of Conjuncts
 //
@@ -87,4 +90,6 @@ public:
     void curr_set(Conjunct *c) { *(*this) = c; }
 };
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_dnf.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,15 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_form.h,v 1.1.1.1 2000/06/29 19:24:02 dwonnaco Exp $ */
+/* $Id: pres_form.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_gen_h
 #include &lt;omega/pres_gen.h&gt;
 #endif
 
+
+namespace omega {
+
 typedef enum {Op_Relation, Op_Not, Op_And, Op_Or,
 	      Op_Conjunct, Op_Forall, Op_Exists}  Node_Type;
 
@@ -118,5 +121,7 @@ private:
 
 };
 
+} // end of namespace omega
+
 
 #endif</diff>
      <filename>omega_lib/include/omega/pres_form.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,8 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_gen.h,v 1.2 2000/08/02 18:43:08 dwonnaco Exp $ */
+/* $Id: pres_gen.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
+
 
 //
 // general presburger stuff thats needed everywhere
@@ -28,8 +29,7 @@
 #define NOT_CONST 
 #endif
 
-
-#include &lt;omega/enter_omega.h&gt;
+//#include &lt;omega/enter_omega.h&gt;
 #include &lt;basic/assert.h&gt;
 #include &lt;stdlib.h&gt;
 #include &lt;omega/omega_core/oc.h&gt;
@@ -39,6 +39,8 @@
 #include &lt;basic/List.h&gt;
 #include &lt;basic/Tuple.h&gt;
 
+namespace omega {
+
 //
 // I/O and error processing and control flags (also in omega_core/debugging.h)
 //
@@ -192,4 +194,7 @@ friend Relation  Upper_Bound(NOT_CONST Relation &amp;r)
 // REMEMBER - THE LAST LINE OF THE MACRO SHOULD NOT HAVE A ;
 /* TransitiveClosure doesn't need to be in friend_rel_ops */
 
+
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_gen.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,14 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_logic.h,v 1.1.1.1 2000/06/29 19:24:03 dwonnaco Exp $ */
+/* $Id: pres_logic.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_form_h
 #include &lt;omega/pres_form.h&gt;
 #endif
 
+namespace omega {
+
 //
 // Presburger formula classes for logical operations: and, or not
 //
@@ -91,4 +93,6 @@ private:
     void prefix_print(FILE *output_file, int debug = 1);
 };
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_logic.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,14 @@
 #if ! defined _pres_quant_h
 #define _pres_quant_h 1
 
-/* $Id: pres_quant.h,v 1.1.1.1 2000/06/29 19:24:03 dwonnaco Exp $ */
+/* $Id: pres_quant.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_decl_h
 #include &lt;omega/pres_decl.h&gt;
 #endif
 
+namespace omega {
+
 //
 // Presburger formula nodes for quantifiers
 //
@@ -60,4 +62,6 @@ private:
     DNF* DNFize();
 };
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_quant.h</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,8 @@
 #include &lt;omega/pres_conj.h&gt;
 #include &lt;omega/pres_cnstr.h&gt;
 
+namespace omega {
+
 
 class Sub_Handle;
 class Sub_Iterator;
@@ -82,4 +84,7 @@ private:
     int current, last;
 };
 
+} // end of namespace omega
+
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_subs.h</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,15 @@
 #include &lt;basic/bool.h&gt;
 
 
-/* $Id: pres_var.h,v 1.1.1.1 2000/06/29 19:24:03 dwonnaco Exp $ */
+/* $Id: pres_var.h,v 1.1.1.1 2004/09/13 21:07:48 mstrout Exp $ */
 
 #if ! defined _pres_gen_h
 #include &lt;omega/pres_gen.h&gt;
 #endif
 
+
+namespace omega {
+
 //
 // Variable declaration.
 // Variables are free or quantified.
@@ -115,7 +118,7 @@ void reset_remap_field(Variable_ID_Tuple &amp;S, int var_no);
 class Global_Input_Output_Tuple: public Tuple&lt;Variable_ID&gt; {
 public:
     Global_Input_Output_Tuple(Var_Kind in_my_kind, int init=-1);
-    ~Global_Input_Output_Tuple();
+    virtual ~Global_Input_Output_Tuple();
     virtual Variable_ID &amp;operator[](int index);
     virtual const Variable_ID &amp;operator[](int index) const;
 private:
@@ -147,6 +150,7 @@ Variable_ID set_var(int nth);
 class Global_Var_Decl {
 public:
     Global_Var_Decl(Const_String baseName);
+    virtual ~Global_Var_Decl() {}
 
     virtual Const_String base_name() const
 	{
@@ -198,6 +202,7 @@ private:
 class Coef_Var_Decl : public Global_Var_Decl {
 public:
   Coef_Var_Decl(int id, int var);
+  virtual ~Coef_Var_Decl() {}
   int stmt() const;
   int var() const;
   virtual Global_Kind kind() const;
@@ -230,4 +235,6 @@ void free_var_decls(Variable_ID_Tuple &amp;vl);
 
 extern int wildCardInstanceNumber;
 
+} // end of namespace omega
+
 #endif</diff>
      <filename>omega_lib/include/omega/pres_var.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,6 @@
+
+namespace omega {
+
 class reachable_information {
 public:
 	Tuple&lt;String&gt; node_names;
@@ -14,3 +17,4 @@ Dynamic_Array1&lt;Relation&gt; *
 I_Reachable_Nodes(reachable_information * reachable_info);
 
 
+} // end of namespace omega</diff>
      <filename>omega_lib/include/omega/reach.h</filename>
    </modified>
    <modified>
      <diff>@@ -32,7 +32,7 @@ OC_SRC = ../src/omega_core/oc.c ../src/omega_core/oc_solve.c \
          ../src/omega_core/oc_query.c ../src/omega_core/oc_util.c \
          ../src/omega_core/oc_global.c
 OC_OBJ = oc.o oc_solve.o oc_simple.o oc_eq.o oc_problems.o oc_print.o \
-         oc_query.o oc_quick_kill.o oc_exp_kill.o oc_util.o oc_global.o
+         oc_query.o oc_quick_kill.o oc_exp_kill.o oc_util.o oc_global.o Exit.o
 
 PRES_SRC = ../src/pres_print.c ../src/pres_rear.c ../src/pres_beaut.c \
            ../src/pres_dnf.c ../src/pres_conj.c ../src/pres_quant.c \</diff>
      <filename>omega_lib/obj/Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -0,0 +1,1376 @@
+# DO NOT DELETE
+
+../src/reach.o: ../include/omega.h ../include/omega/omega_core/debugging.h
+../src/reach.o: /usr/include/stdio.h /usr/include/_types.h
+../src/reach.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/reach.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/reach.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/reach.o: ../include/omega/pres_var.h ../../basic/include/basic/bool.h
+../src/reach.o: ../include/omega/pres_gen.h
+../src/reach.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/reach.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/reach.o: /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h
+../src/reach.o: /usr/include/i386/signal.h /usr/include/sys/resource.h
+../src/reach.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
+../src/reach.o: /usr/include/sys/_endian.h /usr/include/stdint.h
+../src/reach.o: /usr/include/libkern/OSByteOrder.h
+../src/reach.o: /usr/include/libkern/i386/OSByteOrder.h /usr/include/alloca.h
+../src/reach.o: /usr/include/machine/types.h /usr/include/i386/types.h
+../src/reach.o: ../include/omega/omega_core/oc.h
+../src/reach.o: ../../basic/include/basic/String.h
+../src/reach.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/reach.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/reach.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/reach.o: /usr/include/float.h /usr/include/string.h
+../src/reach.o: ../../basic/include/basic/ConstString.h
+../src/reach.o: ../../basic/include/basic/Iterator.h
+../src/reach.o: ../../basic/include/basic/Collection.h
+../src/reach.o: ../../basic/include/basic/List.h
+../src/reach.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/reach.o: ../../basic/include/basic/List.c
+../src/reach.o: ../../basic/include/basic/List.h
+../src/reach.o: ../../basic/include/basic/Tuple.h
+../src/reach.o: ../../basic/include/basic/Tuple.c
+../src/reach.o: ../include/omega/pres_cnstr.h ../include/omega/pres_subs.h
+../src/reach.o: ../include/omega/Relation.h ../include/omega/RelBody.h
+../src/reach.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/reach.o: ../../basic/include/basic/NonCoercible.h
+../src/reach.o: ../include/omega/Relations.h ../include/omega/pres_conj.h
+../src/reach.o: ../include/omega/pres_decl.h
+../src/reach.o: ../../basic/include/basic/Section.h
+../src/reach.o: ../../basic/include/basic/Section.c
+../src/reach.o: ../include/omega/pres_logic.h ../include/omega/pres_quant.h
+../src/reach.o: ../include/omega/pres_cmpr.h ../include/omega/Rel_map.h
+../src/reach.o: ../include/omega/farkas.h ../include/omega/hull.h
+../src/reach.o: ../include/omega/closure.h ../include/omega/lib_hack.h
+../src/reach.o: ../../basic/include/basic/Dynamic_Array.h
+../src/reach.o: ../../basic/include/basic/Dynamic_Array.c
+../src/reach.o: ../include/omega/reach.h
+../src/closure.o: ../../basic/include/basic/bool.h
+../src/closure.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/closure.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/closure.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/closure.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/closure.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/closure.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/closure.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/closure.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/closure.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/closure.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/closure.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/closure.o: /usr/include/i386/types.h /usr/include/stdio.h
+../src/closure.o: ../include/omega.h ../include/omega/omega_core/debugging.h
+../src/closure.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/closure.o: ../include/omega/pres_var.h ../include/omega/pres_gen.h
+../src/closure.o: ../include/omega/omega_core/oc.h
+../src/closure.o: ../../basic/include/basic/String.h
+../src/closure.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/closure.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/closure.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/closure.o: /usr/include/float.h /usr/include/string.h
+../src/closure.o: ../../basic/include/basic/ConstString.h
+../src/closure.o: ../../basic/include/basic/Iterator.h
+../src/closure.o: ../../basic/include/basic/Collection.h
+../src/closure.o: ../../basic/include/basic/List.h
+../src/closure.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/closure.o: ../../basic/include/basic/List.c
+../src/closure.o: ../../basic/include/basic/List.h
+../src/closure.o: ../../basic/include/basic/Tuple.h
+../src/closure.o: ../../basic/include/basic/Tuple.c
+../src/closure.o: ../include/omega/pres_cnstr.h ../include/omega/pres_subs.h
+../src/closure.o: ../include/omega/Relation.h ../include/omega/RelBody.h
+../src/closure.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/closure.o: ../../basic/include/basic/NonCoercible.h
+../src/closure.o: ../include/omega/Relations.h ../include/omega/pres_conj.h
+../src/closure.o: ../include/omega/pres_decl.h
+../src/closure.o: ../../basic/include/basic/Section.h
+../src/closure.o: ../../basic/include/basic/Section.c
+../src/closure.o: ../include/omega/pres_logic.h ../include/omega/pres_quant.h
+../src/closure.o: ../include/omega/pres_cmpr.h ../include/omega/Rel_map.h
+../src/closure.o: ../include/omega/farkas.h ../include/omega/hull.h
+../src/closure.o: ../include/omega/closure.h ../include/omega/lib_hack.h
+../src/closure.o: ../../basic/include/basic/Exit.h
+../src/closure.o: ../../basic/include/basic/SimpleList.h
+../src/closure.o: ../../basic/include/basic/SimpleList.c
+../src/lib_hack.o: ../../basic/include/basic/bool.h ../include/omega.h
+../src/lib_hack.o: ../include/omega/omega_core/debugging.h
+../src/lib_hack.o: /usr/include/stdio.h /usr/include/_types.h
+../src/lib_hack.o: /usr/include/sys/_types.h /usr/include/sys/cdefs.h
+../src/lib_hack.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/lib_hack.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/lib_hack.o: ../include/omega/pres_var.h ../include/omega/pres_gen.h
+../src/lib_hack.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/lib_hack.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/lib_hack.o: /usr/include/sys/appleapiopts.h
+../src/lib_hack.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/lib_hack.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/lib_hack.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/lib_hack.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/lib_hack.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/lib_hack.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/lib_hack.o: /usr/include/i386/types.h ../include/omega/omega_core/oc.h
+../src/lib_hack.o: ../../basic/include/basic/String.h
+../src/lib_hack.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/lib_hack.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/lib_hack.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/lib_hack.o: /usr/include/float.h /usr/include/string.h
+../src/lib_hack.o: ../../basic/include/basic/ConstString.h
+../src/lib_hack.o: ../../basic/include/basic/Iterator.h
+../src/lib_hack.o: ../../basic/include/basic/Collection.h
+../src/lib_hack.o: ../../basic/include/basic/List.h
+../src/lib_hack.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/lib_hack.o: ../../basic/include/basic/List.c
+../src/lib_hack.o: ../../basic/include/basic/List.h
+../src/lib_hack.o: ../../basic/include/basic/Tuple.h
+../src/lib_hack.o: ../../basic/include/basic/Tuple.c
+../src/lib_hack.o: ../include/omega/pres_cnstr.h ../include/omega/pres_subs.h
+../src/lib_hack.o: ../include/omega/Relation.h ../include/omega/RelBody.h
+../src/lib_hack.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/lib_hack.o: ../../basic/include/basic/NonCoercible.h
+../src/lib_hack.o: ../include/omega/Relations.h ../include/omega/pres_conj.h
+../src/lib_hack.o: ../include/omega/pres_decl.h
+../src/lib_hack.o: ../../basic/include/basic/Section.h
+../src/lib_hack.o: ../../basic/include/basic/Section.c
+../src/lib_hack.o: ../include/omega/pres_logic.h
+../src/lib_hack.o: ../include/omega/pres_quant.h ../include/omega/pres_cmpr.h
+../src/lib_hack.o: ../include/omega/Rel_map.h ../include/omega/farkas.h
+../src/lib_hack.o: ../include/omega/hull.h ../include/omega/closure.h
+../src/lib_hack.o: ../include/omega/lib_hack.h
+../src/AST.o: ../include/omega/AST.h ../../basic/include/basic/assert.h
+../src/AST.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h
+../src/AST.o: /usr/include/_types.h /usr/include/sys/_types.h
+../src/AST.o: /usr/include/machine/_types.h /usr/include/i386/_types.h
+../src/AST.o: /usr/include/sys/wait.h /usr/include/sys/signal.h
+../src/AST.o: /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h
+../src/AST.o: /usr/include/i386/signal.h /usr/include/sys/resource.h
+../src/AST.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
+../src/AST.o: /usr/include/sys/_endian.h /usr/include/stdint.h
+../src/AST.o: /usr/include/libkern/OSByteOrder.h
+../src/AST.o: /usr/include/libkern/i386/OSByteOrder.h /usr/include/alloca.h
+../src/AST.o: /usr/include/machine/types.h /usr/include/i386/types.h
+../src/AST.o: /usr/include/stdio.h ../../basic/include/basic/Collections.h
+../src/AST.o: ../../basic/include/basic/Collection.h
+../src/AST.o: ../../basic/include/basic/Iterator.h
+../src/AST.o: ../../basic/include/basic/bool.h
+../src/AST.o: ../../basic/include/basic/List.h
+../src/AST.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/AST.o: ../../basic/include/basic/List.c
+../src/AST.o: ../../basic/include/basic/List.h
+../src/AST.o: ../../basic/include/basic/Bag.h ../../basic/include/basic/Bag.c
+../src/AST.o: ../../basic/include/basic/Map.h ../../basic/include/basic/Map.c
+../src/AST.o: ../include/omega.h ../include/omega/omega_core/debugging.h
+../src/AST.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/AST.o: ../include/omega/pres_var.h ../include/omega/pres_gen.h
+../src/AST.o: ../include/omega/omega_core/oc.h
+../src/AST.o: ../../basic/include/basic/String.h
+../src/AST.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/AST.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/AST.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/AST.o: /usr/include/float.h /usr/include/string.h
+../src/AST.o: ../../basic/include/basic/ConstString.h
+../src/AST.o: ../../basic/include/basic/Tuple.h
+../src/AST.o: ../../basic/include/basic/Tuple.c ../include/omega/pres_cnstr.h
+../src/AST.o: ../include/omega/pres_subs.h ../include/omega/Relation.h
+../src/AST.o: ../include/omega/RelBody.h ../include/omega/pres_form.h
+../src/AST.o: ../include/omega/pres_dnf.h
+../src/AST.o: ../../basic/include/basic/NonCoercible.h
+../src/AST.o: ../include/omega/Relations.h ../include/omega/pres_conj.h
+../src/AST.o: ../include/omega/pres_decl.h
+../src/AST.o: ../../basic/include/basic/Section.h
+../src/AST.o: ../../basic/include/basic/Section.c
+../src/AST.o: ../include/omega/pres_logic.h ../include/omega/pres_quant.h
+../src/AST.o: ../include/omega/pres_cmpr.h ../include/omega/Rel_map.h
+../src/AST.o: ../include/omega/farkas.h ../include/omega/hull.h
+../src/AST.o: ../include/omega/closure.h ../include/omega/lib_hack.h
+../src/AST.o: ../include/omega/enter_AST.h
+../src/Relations.o: ../../basic/include/basic/bool.h
+../src/Relations.o: ../include/omega/Relation.h ../include/omega/RelBody.h
+../src/Relations.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/Relations.o: ../../basic/include/basic/NonCoercible.h
+../src/Relations.o: ../include/omega/Relations.h ../include/omega/Rel_map.h
+../src/Relations.o: ../include/omega/pres_tree.h ../include/omega/pres_var.h
+../src/Relations.o: ../include/omega/pres_gen.h
+../src/Relations.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/Relations.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/Relations.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/Relations.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/Relations.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/Relations.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/Relations.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/Relations.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/Relations.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/Relations.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/Relations.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/Relations.o: /usr/include/i386/types.h /usr/include/stdio.h
+../src/Relations.o: ../include/omega/omega_core/oc.h
+../src/Relations.o: ../../basic/include/basic/String.h
+../src/Relations.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/Relations.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/Relations.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/Relations.o: /usr/include/float.h /usr/include/string.h
+../src/Relations.o: ../include/omega/omega_core/debugging.h
+../src/Relations.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/Relations.o: ../../basic/include/basic/ConstString.h
+../src/Relations.o: ../../basic/include/basic/Iterator.h
+../src/Relations.o: ../../basic/include/basic/Collection.h
+../src/Relations.o: ../../basic/include/basic/List.h
+../src/Relations.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/Relations.o: ../../basic/include/basic/List.c
+../src/Relations.o: ../../basic/include/basic/List.h
+../src/Relations.o: ../../basic/include/basic/Tuple.h
+../src/Relations.o: ../../basic/include/basic/Tuple.c
+../src/Relations.o: ../include/omega/pres_cnstr.h
+../src/Relations.o: ../include/omega/pres_logic.h
+../src/Relations.o: ../include/omega/pres_quant.h
+../src/Relations.o: ../include/omega/pres_conj.h ../include/omega/pres_decl.h
+../src/Relations.o: ../../basic/include/basic/Section.h
+../src/Relations.o: ../../basic/include/basic/Section.c
+../src/Relations.o: ../include/omega/hull.h ../include/omega/farkas.h
+../src/Relations.o: ../../basic/include/basic/Exit.h
+../src/Relations.o: ../../basic/include/basic/Map.h
+../src/Relations.o: ../../basic/include/basic/Map.c
+../src/Relations.o: ../include/omega/omega_i.h
+../src/Relation.o: ../../basic/include/basic/bool.h
+../src/Relation.o: ../include/omega/Relation.h ../include/omega/RelBody.h
+../src/Relation.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/Relation.o: ../../basic/include/basic/NonCoercible.h
+../src/Relation.o: ../include/omega/Relations.h ../include/omega/pres_conj.h
+../src/Relation.o: ../include/omega/pres_decl.h
+../src/Relation.o: ../../basic/include/basic/Section.h
+../src/Relation.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/Relation.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/Relation.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/Relation.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/Relation.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/Relation.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/Relation.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/Relation.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/Relation.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/Relation.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/Relation.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/Relation.o: /usr/include/i386/types.h /usr/include/stdio.h
+../src/Relation.o: ../../basic/include/basic/Collection.h
+../src/Relation.o: ../../basic/include/basic/Section.c
+../src/Relation.o: ../include/omega/pres_logic.h ../include/omega/Rel_map.h
+../src/Relation.o: ../include/omega/omega_i.h
+../src/Relation.o: ../include/omega/omega_core/debugging.h
+../src/Relation.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/RelBody.o: ../../basic/include/basic/bool.h
+../src/RelBody.o: ../../basic/include/basic/assert.h /usr/include/stdlib.h
+../src/RelBody.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/RelBody.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/RelBody.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/RelBody.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/RelBody.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/RelBody.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/RelBody.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/RelBody.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/RelBody.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/RelBody.o: /usr/include/alloca.h /usr/include/machine/types.h
+../src/RelBody.o: /usr/include/i386/types.h /usr/include/stdio.h
+../src/RelBody.o: ../../basic/include/basic/util.h /usr/include/limits.h
+../src/RelBody.o: /usr/include/machine/limits.h /usr/include/i386/limits.h
+../src/RelBody.o: /usr/include/i386/_limits.h /usr/include/sys/syslimits.h
+../src/RelBody.o: /usr/include/float.h ../include/omega/RelBody.h
+../src/RelBody.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/RelBody.o: ../include/omega/Relation.h
+../src/RelBody.o: ../../basic/include/basic/NonCoercible.h
+../src/RelBody.o: ../include/omega/Relations.h ../include/omega/pres_tree.h
+../src/RelBody.o: ../include/omega/pres_var.h ../include/omega/pres_gen.h
+../src/RelBody.o: ../include/omega/omega_core/oc.h
+../src/RelBody.o: ../../basic/include/basic/String.h /usr/include/string.h
+../src/RelBody.o: ../include/omega/omega_core/debugging.h
+../src/RelBody.o: /usr/include/ctype.h /usr/include/runetype.h
+../src/RelBody.o: ../../basic/include/basic/ConstString.h
+../src/RelBody.o: ../../basic/include/basic/Iterator.h
+../src/RelBody.o: ../../basic/include/basic/Collection.h
+../src/RelBody.o: ../../basic/include/basic/List.h
+../src/RelBody.o: ../../basic/include/basic/Link.h /usr/include/stddef.h
+../src/RelBody.o: ../../basic/include/basic/List.c
+../src/RelBody.o: ../../basic/include/basic/List.h
+../src/RelBody.o: ../../basic/include/basic/Tuple.h
+../src/RelBody.o: ../../basic/include/basic/Tuple.c
+../src/RelBody.o: ../include/omega/pres_cnstr.h ../include/omega/pres_logic.h
+../src/RelBody.o: ../include/omega/pres_quant.h ../include/omega/pres_conj.h
+../src/RelBody.o: ../include/omega/pres_decl.h
+../src/RelBody.o: ../../basic/include/basic/Section.h
+../src/RelBody.o: ../../basic/include/basic/Section.c
+../src/RelBody.o: ../include/omega/omega_i.h
+../src/RelVar.o: ../../basic/include/basic/bool.h ../include/omega/RelBody.h
+../src/RelVar.o: ../include/omega/pres_form.h ../include/omega/pres_dnf.h
+../src/RelVar.o: ../include/omega/omega_i.h ../include/omega/Relation.h
+../src/RelVar.o: ../../basic/include/basic/NonCoercible.h
+../src/RelVar.o: ../include/omega/Relations.h /usr/include/stdlib.h
+../src/RelVar.o: /usr/include/sys/cdefs.h /usr/include/_types.h
+../src/RelVar.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
+../src/RelVar.o: /usr/include/i386/_types.h /usr/include/sys/wait.h
+../src/RelVar.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
+../src/RelVar.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
+../src/RelVar.o: /usr/include/sys/resource.h /usr/include/machine/endian.h
+../src/RelVar.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
+../src/RelVar.o: /usr/include/stdint.h /usr/include/libkern/OSByteOrder.h
+../src/RelVar.o: /usr/include/libkern/i386/OSByteOrder.h
+../src/RelVar.o: /usr/include/