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

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

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