| Union of set_exp * set_exp
| Intersect of set_exp * set_exp
| Diff of set_exp * set_exp
- | Let of svar * set_exp * set_exp
+ | LetSVar of svar * set_exp * set_exp
+ | LetVVar of vvar * val_exp * set_exp
and boole_exp = False
| True
and val_exp = Const of string list
| RefOf of set_exp
| Record of rvar * vvar
+ | VVar of vvar
| Fun of string * val_exp
| Attribute of refine_op * string * val_exp