Testing, editing, and contributing to research cyc

David P
  • David P
    David P

    I've been through the documentation and web interface, but haven't been
    able to find answers to these...

    1) How would one assert something like "Fred sees a bear running toward
    him" and trace any forward inferences that are made from that?

    2) If one wanted to edit some of the rules or premises in the trace, and
    then re-run the test, how could one do that?

    3) If one wanted to contribute an edit, how would one do that? (The '89
    book says there was a hope "everyone would pitch in"; how does that work?)

    If there's a better place to ask these questions, please point me there.


    1. First you would create a microtheory encapsulating the world of Fred and the bear at the instant we are concerned with (including time makes it more complicated). Then you would create a constant named Fred, and assert that he is a man, and Bear1 and assert that it is a bear. (There are tools to do this in the API, or you can do it directly in CycL.) Then you would assert the fact about Fred seeing the bear: (sees Fred Bear1), and the fact that the bear is running toward Fred. I'm not sure what facts have been asserted about the fact that bears are dangerous, or that perceiving dangerous things causes a person to feel scared, etc...
      To find out how Fred feels, you would then perform a query: (feelsEmotion Fred ?X). ?X would then be assigned the value (MediumToVeryHighAmountFn Fear) by Cyc, performing the inference.

    2.The CycL command is FI-UNASSERT, or you can use the API. After you unassert the assertion, you can perform the query again.

    1. No one is doing that right now, as far as I can tell. There is the ability to save your microtheories in a transcript file (which basically redoes all your assertions in the order you did them) and send that to someone else, who then loads it.