*SUPPORT*
IN: kiki blicket dax OUT: YELLOW GREEN
IN: kiki blicket zup OUT: BLUE GREEN
IN: zup gazzer zup blicket zup OUT: BLUE BLUE BLUE BLUE BLUE
IN: fep blicket zup OUT: BLUE RED
IN: zup OUT: BLUE
IN: kiki wif zup OUT: BLUE GREEN
IN: zup dax blicket fep OUT: RED BLUE YELLOW
IN: zup wif fep blicket zup OUT: BLUE RED BLUE
IN: dax wif dax OUT: YELLOW YELLOW
IN: zup zup OUT: BLUE BLUE
IN: zup fep gazzer kiki OUT: BLUE RED BLUE RED BLUE RED GREEN
IN: dax wif dax blicket zup OUT: BLUE YELLOW YELLOW
IN: fep zup dax wif fep blicket dax OUT: YELLOW RED BLUE RED YELLOW
IN: zup wif fep OUT: RED BLUE

*QUERY*
IN: fep wif dax OUT: YELLOW RED
IN: dax kiki gazzer kiki OUT: YELLOW GREEN YELLOW GREEN YELLOW GREEN GREEN
IN: fep gazzer zup OUT: RED RED RED BLUE
IN: kiki zup OUT: GREEN BLUE
IN: fep dax dax OUT: RED YELLOW YELLOW
IN: fep wif fep OUT: RED RED
IN: dax wif zup OUT: BLUE YELLOW
IN: fep zup dax dax wif fep blicket kiki OUT: GREEN RED BLUE YELLOW RED YELLOW
IN: fep blicket fep blicket fep OUT: RED RED RED
IN: dax wif fep blicket zup OUT: BLUE RED YELLOW

*GRAMMAR*
dax -> YELLOW 
 kiki -> GREEN 
 zup -> BLUE 
 fep -> RED 
 u1 wif u2 -> [u2] [u1] 
 x1 gazzer u1 -> [x1] [x1] [x1] [u1] 
 x1 blicket u1 -> [u1] [x1] 
 u1 x1 -> [u1] [x1] 
 