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

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

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