## Hypothesize Help

E-Mail Comments to: opencyc-doc@cyc.com
Copyright© 1997-2002 Cycorp. All rights reserved.

### Hypothesized Formulas

When doing knowledge-entry, it is sometimes desireable to hypothesize a formula to the KB. This is sort of like saying, "What if proposition P were true?"

When a formula is hypothesized to CYC® in a particular #$Microtheory, CYC® creates constants for any variables, and treats the resulting assertion(s) as true. For example, if the following formula were hypothesized in the #$BiologyMt:

        (#$and
          (#$isa ?DOG #$Dog)
          (#$isa ?CAT #$Cat)
          (#$enemies ?DOG ?CAT))

two things would happen:

1. New constants would be dynamically created for the variables, in this case ?DOG and ?CAT. These variables would have names along the lines of:

           #$HYP-DOG-42375192581
           #$HYP-CAT-8479329834

   The "HYP" shows that the constant was created through hypothesizing (as opposed to being created by a user, or through skolemizing). The number at the end is used to uniquely identify the new constant. Remember that an #$Individual dog and an individual cat are being hypothesized here, not a #$Collection, and CYC® may hypothesize many over time. So the number is needed to set each new instance apart from prior ones.
2. The assertions involving these new constants would be asserted to the KB in the microtheory chosen for the hypothesizing. For the example above, the following assertions would appear in the #$BiologyMt:

           (#$isa #$HYP-DOG-42375192581 #$Dog)
           (#$isa #$HYP-CAT-8479329834 #$Cat)
           (#$enemies #$HYP-DOG-42375192581 #$HYP-CAT-8479329834))

   In other words, the two new individual animals created are enemies of each other. Note that we have NOT said that all cats and dogs are enemies, only that these two particular ones are.

### Entering a Formula

Enter the formula to be hypothesized in the "Formula" input window, as in the example above. Note that conjunctions and atomic formulas make the best hypothesized formulas. Use the [Complete] button on any partial constant being entered in the window.

In the "Mt" input window, enter the #$Microtheory (Mt) where the results of the hypothesizing should go (minus the "#$"), using the [Complete] button if necessary. The default Mt is the #$BaseKB.

Press the [Hypothesize] button to hypothesize the formula in the desired microtheory.

The [Reset Values] button will return both input windows to their initial settings.

Go to Top