| "toString (V := e) = Aux.concat [toString V, STR '' := ('', toString e, STR '')'']"
| "toString (AAcc a i) = Aux.concat [STR ''('', toString a, STR '')['', toString i, STR '']'']"
| "toString (AAss a i e) = Aux.concat [STR ''('', toString a, STR '')['', toString i, STR ''] := ('', toString e, STR '')'']"
| "toString (ALen a) = Aux.concat [STR ''('', toString a, STR '').length'']"
| "toString (FAcc e F D) = Aux.concat [STR ''('', toString e, STR '').'', F, STR ''{'', D, STR ''}'']"
| "toString (FAss e F D e') = Aux.concat [STR ''('', toString e, STR '').'', F, STR ''{'', D, STR ''} := ('', toString e', STR '')'']"
| "toString (Call e M es) = Aux.concat ([STR ''('', toString e, STR '').'', M, STR ''(''] @ map toString es @ [STR '')''])"
| "toString (Block V T vo e) = Aux.concat ([STR ''{'', toString V, STR '':'', toString T] @ (case vo of None \<Rightarrow> [] | Some v \<Rightarrow> [STR ''='', toString v]) @ [STR ''; '', toString e, STR ''}''])"
| "toString (Synchronized V e e') = Aux.concat [STR ''synchronized_'', toString V, STR ''_('', toString e, STR '') {'', toString e', STR ''}'']"
| "toString (InSynchronized V ad e) = Aux.concat [STR ''insynchronized_'', toString V, STR ''_('', toString ad, STR '') {'', toString e, STR ''}'']"
| "toString (V := e) = Auxiliary.concat [toString V, STR '' := ('', toString e, STR '')'']"
| "toString (AAcc a i) = Auxiliary.concat [STR ''('', toString a, STR '')['', toString i, STR '']'']"
| "toString (AAss a i e) = Auxiliary.concat [STR ''('', toString a, STR '')['', toString i, STR ''] := ('', toString e, STR '')'']"
| "toString (ALen a) = Auxiliary.concat [STR ''('', toString a, STR '').length'']"
| "toString (FAcc e F D) = Auxiliary.concat [STR ''('', toString e, STR '').'', F, STR ''{'', D, STR ''}'']"
| "toString (FAss e F D e') = Auxiliary.concat [STR ''('', toString e, STR '').'', F, STR ''{'', D, STR ''} := ('', toString e', STR '')'']"
| "toString (Call e M es) = Auxiliary.concat ([STR ''('', toString e, STR '').'', M, STR ''(''] @ map toString es @ [STR '')''])"
| "toString (Block V T vo e) = Auxiliary.concat ([STR ''{'', toString V, STR '':'', toString T] @ (case vo of None \<Rightarrow> [] | Some v \<Rightarrow> [STR ''='', toString v]) @ [STR ''; '', toString e, STR ''}''])"
| "toString (Synchronized V e e') = Auxiliary.concat [STR ''synchronized_'', toString V, STR ''_('', toString e, STR '') {'', toString e', STR ''}'']"
| "toString (InSynchronized V ad e) = Auxiliary.concat [STR ''insynchronized_'', toString V, STR ''_('', toString ad, STR '') {'', toString e, STR ''}'']"