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

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

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