What's wrong with making a collection called #$Brother?

Suppose Billy and Peter are brothers, and we want to tell Cyc this by asserting the following two facts:

``

    (isa Billy Brother)
    (isa Peter Brother)

Later, we learn of two other brothers, Jack and Bobby. We tell Cyc about them in the same way:

``

    (isa Jack Brother)
    (isa Bobby Brother)

Now, to ask Cyc for instances of #$Brother, we ASK:

``

    (isa ?WHO Brother)

And we get the answer:

``

    4 Answers     ?WHO

    -------------------

    [Explain #1]  Billy
    [Explain #2]  Peter
    [Explain #3]  Jack
    [Explain #4]  Bobby

So, Cyc thinks that they are all brothers, because there is no relation that distinguishes which of them are related to which others.

Why the '#$' symbols? Because within the Cyc program, these symbols act as a "reader macro" to indicate to the program that the string of characters that follow them should be interpreted as a Cyc concept term. When programming with Cyc, and when doing ASKs and ASSERTs, it is necessary to precede Cyc terms with '#$'. Note: There is a plan to eliminate the need for '#$' in ASKs and ASSERTs, but they will continue to be needed in SubL programming. And they will continue to be useful in documentation.