| 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
| Record of rvar * vvar
| 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