Ruby Quiz schrieb:
> This week's Ruby Quiz is to build an inference engine that is capable of
> answering questions based on the provided truths.
> 
> ...

Just out of curiosity, after entering

   > All Foos are Bars
   OK.

what should be the response to

   > No Foos are Bars

If the answer is "OK." it would mean that the set of "Foos" is empty, 
because no Foo can be a Bar and not be a Bar. Questions like

   > Are all Foos <whatever>?

should then be answered with Yes.

The other alternative would be to assume that when speaking of "Foos" 
the set of "Foos" isn't empty and there exists at least one Foo?

Regards,
Pit