]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql/mathQL.ml
new semantics for relation and attribute
[helm.git] / helm / ocaml / mathql / mathQL.ml
index 5ccdf79d77440f0e30f91c3c239f8903bf53b462..60b19297aa2e8581e0171e10f013cc5aa9b6a2d7 100644 (file)
@@ -47,13 +47,15 @@ type refine_op = ExactOp
                | SubOp
               | SuperOp
 
+type path = string list
+
 type vvar_list = vvar list
 
 type set_exp = SVar of svar
             | RVar of rvar
              | Ref of val_exp
              | Pattern of val_exp
-            | Relation of refine_op * string * set_exp * vvar_list
+            | Relation of refine_op * path * set_exp * vvar_list
              | Select of rvar * set_exp * boole_exp
             | Union of set_exp * set_exp
             | Intersect of set_exp * set_exp
@@ -74,9 +76,9 @@ and boole_exp = False
 and val_exp = Const of string list 
             | RefOf of set_exp 
            | Record of rvar * vvar
-           | VVar of string
+           | VVar of vvar
            | Fun of string * val_exp
-           | Attribute of refine_op * string * val_exp
+           | Attribute of refine_op * path * val_exp
 
 type query = set_exp