_Tail ==> [id('b')|_Tail]. [T|_Tail] ==> [[T]|_Tail]. _Tail ==> [id('a')|_Tail]. [H,T|_Tail] ==> [[H|T]|_Tail]. [I|_Tail] ==> [decl_list(I, formal, T)|_Tail]. _Tail ==> [int|_Tail]. _Tail ==> [int|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail]. _Tail ==> [id('b')|_Tail]. _Tail ==> [id('a')|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail]. [E|_Tail] ==> [return(E)|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [S,TR,F|_Tail] ==> [lit(map(TF,TR), map(F,S,Symbols))|_Tail]. [V|_Tail] ==> [decl(id('swap'), const(V), T)|_Tail]. _Tail ==> [[]|_Tail]. _Tail ==> [bool|_Tail]. _Tail ==> [id('i')|_Tail]. _Tail ==> [id('j')|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail]. _Tail ==> [id('swap')|_Tail]. _Tail ==> [lit(int, 1)|_Tail]. _Tail ==> [lit(int, 2)|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail]. [B,A|_Tail] ==> [map(A,B)|_Tail]. [B,A|_Tail] ==> [assign(A,B)|_Tail]. _Tail ==> [id('writeInt')|_Tail]. _Tail ==> [id('i')|_Tail]. [B,A|_Tail] ==> [map(A,B)|_Tail]. _Tail ==> [id('writeInt')|_Tail]. _Tail ==> [id('j')|_Tail]. [B,A|_Tail] ==> [map(A,B)|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail]. [S,TR,F|_Tail] ==> [lit(map(TF,TR), map(F,S,Symbols))|_Tail]. [V|_Tail] ==> [decl(id('program'), const(V), T)|_Tail]. [T|_Tail] ==> [[T]|_Tail]. [T,H|_Tail] ==> [[H|T]|_Tail].