Fruit Answer
   - Working Memory;
 
   - 
   
A series of features
      - HasSkin
 
      - HasSeeds 
 
      - Colour 
 
      - Squishy 
 
      - IsFruit 
 
      - Type 
 
   
    
   -   
   
      - if (Feature ?X Skin Has) and (Feature ?X Seed Has) then 
             (Feature ?X type Fruit) 
 
      - if (Feature ?X Skin HasNot) then (Feature ?X type notFruit ) 
 
      - if (Feature X Seed HasNot ) then (Feature ?X type notFruit ) 
 
      - if (Feature ?X colour green) and (Feature ?X type fruit) then 
             (Feature ?X subtype Watermelon) 
 
      - if (Feature ?X colour red) and (Feature ?X type fruit) and
             (Feature X squishy isnot) then  (Feature ?X subtype Apple) 
 
      - if (Feature ?X colour orange) and (Feature ?X type fruit) then 
             (Feature ?X subtype Orange) 
 
      - if (Feature ?X colour green) and (Feature ?X type notFruit) then 
             (Feature ?X subtype Lettuce) 
 
      - if (Feature ?X colour red) and (Feature ?X type fruit) and
             (Feature X squishy is) then  (Feature ?X subtype Tomato) 
 
      - In Clips: 
          If (or(Feature ?X colour red) (Feature ?X colour orange)) 
             (Feature ?X squishy is ) 
          Then (assert (Feature ?X subtype Tomato))  
   
    
   - Write out UI including assertions for HasSkin, HasSeed, Squishy, and
       colour
 
   - explicitly state (run) and (reset)