1. Testing just the module EXPRESSIONS:

(mod TEST is 
 including EXPRESSIONS .

 endm)

 (rew < 4 sum 8 ::: 'Exp, { } > .)

---------------------------------------------------------

2. Testing the working version of MINI-LANGUAGE:
		 
(mod TEST is 
 including MINI-LANGUAGE .
 
 ops x y z : -> Id .
 endm)

 (rew < (let x = 5 in 
         let y = 6 in
         let z = 8 in
           x sub (y sum z)
         end
         end
         end ) ::: 'Exp, { env = void } > .)

 (rew < (let x = 5 in 
         let y = 6 in
         let z = 8 in
           11 sub y sum z
         end
         end
         end ) ::: 'Exp, { env = void } > .)

----------------------------------------------------------------

3. Testing the complicated not working version of MINI-LANGUAGE

(mod TEST is 
 including MINI-LANGUAGE .
 ops a1 a2 a3 : -> Loc .
 ops s q r x y z : -> Id .
 endm)

(rew < ( var a1 s = 7 sum 8;
	       var a2 q =  
		   let x = 5 in          
	            let y = 6 in         
                   x sub (y sum s)         
		     end         
		    end; 
        	s = s sub q;
		) ::: Cmd, { env = void, st = void, st = void}  > .)
		 
----------------------------------------------------------------

4. Testing the new simplified version of MINI-LANGUAGE

(rew < (y = let x = 5 in x sum x end;
        z = 6;
	x = 10 sub 4
        ) ::: 'Cmd, { env = void } > .)
		
(The TEST module is the same as in point 2.)