*SUPPORT*
IN: dax lug wif zup OUT: RED RED YELLOW YELLOW
IN: gazzer wif gazzer OUT: GREEN GREEN GREEN
IN: dax lug OUT: YELLOW YELLOW
IN: dax wif dax OUT: YELLOW YELLOW YELLOW
IN: dax fep OUT: YELLOW YELLOW YELLOW
IN: zup fep wif kiki OUT: PURPLE PURPLE RED RED RED
IN: gazzer lug wif zup OUT: RED RED GREEN GREEN
IN: kiki fep OUT: PURPLE PURPLE PURPLE
IN: gazzer OUT: GREEN
IN: dax OUT: YELLOW
IN: zup OUT: RED
IN: gazzer lug OUT: GREEN GREEN
IN: dax lug wif dax OUT: YELLOW YELLOW YELLOW YELLOW
IN: dax dax wif zup wif dax OUT: YELLOW YELLOW RED RED YELLOW YELLOW

*QUERY*
IN: zup gazzer fep wif kiki OUT: PURPLE PURPLE RED GREEN GREEN GREEN
IN: zup lug OUT: RED RED
IN: kiki zup gazzer lug OUT: PURPLE RED GREEN GREEN
IN: kiki lug OUT: PURPLE PURPLE
IN: zup gazzer wif gazzer OUT: GREEN GREEN RED GREEN
IN: gazzer fep OUT: GREEN GREEN GREEN
IN: kiki zup wif gazzer wif gazzer wif zup OUT: RED RED GREEN GREEN GREEN GREEN PURPLE RED
IN: gazzer lug wif gazzer OUT: GREEN GREEN GREEN GREEN
IN: kiki OUT: PURPLE
IN: gazzer zup OUT: GREEN RED

*GRAMMAR*
dax -> YELLOW 
 gazzer -> GREEN 
 zup -> RED 
 kiki -> PURPLE 
 u1 lug -> [u1] [u1] 
 u1 fep -> [u1] [u1] [u1] 
 x1 wif u1 -> [u1] [u1] [x1] 
 u1 x1 -> [u1] [x1] 
 