Home  Download  Install  Demo  Programming VoiceXML Speech Interfaces Technical

Brainhat - Propositions


Contact Us
Kevin Dowd
111 Founders Plaza
13th Floor
East Hartford, CT 06108
(860) 291-0851

Brainhat can evaluate simple propositions to arrive at simple conclusions. I might say, for instance:
if the ball is in the water then the ball is wet

Because every concept that Brainhat knows about is descended from another, broader observations can be applied to specific objects. For example, here is a more general statement about being in the water:

if a thing is in the water then a thing is wet

In either case, I can tell Brainhat that a ball is in the water, the program will be able to infer that it is wet. The difference is that with the second proposition, I can throw a block, the princess and spiders into the water, and they'll be wet too.

The program can also chain propositions together to draw more complex conclusions. For example, the propositions and statements below allow Brainhat to answer the question "is mario happy?"


if a man has a girlfriend then a man is happy

if a man likes a woman and a woman likes a man then the man has a girlfriend and the woman has a boyfriend

if a man sees a beautiful woman then a man likes the woman

if a person is near a thing then a person can see a thing

if a man is handsome then the princess likes the man 

the princess is beautiful

mario is near the princess

mario is handsome

is mario happy?

Brainhat works its way through the propositions to discover that mario is indeed happy because the princess is his girlfriend. Some other facts are unearthed along the way. Particularly, Brainhat learns that the princess has a boyfriend. (Note, however, there's no proposition to suggest that she is happy about it.)

The concepts definitions include some special words that make propositions easier to understand--both for you and for Brainhat. Examples are concepts the "thing1" and "thing2;". I might use these in a proposition such as:


if thing1 is near thing2 then thing2 is near thing1

Concepts "thing1" and "thing2" are the same as other concepts except that they have one child tag called x-template, just one other parent ("things" in this case), and no children of their own. They behave differently than other placeholders in a proposition in that they need not be placeholders for children of their own, but instead represent children of their (only) parent. You may add x-template concepts as you like.

Note that Brainhat won't understand every kind of proposition you might want to pose. Some of the current limitations are:


  • A proposition can have at most two conditions and two consequences, logically anded together.


  • Brainhat cannot evaluate through unconstrained objects in a proposition: An example of a proposition that will fail is "if thing1 is near thing2 and thing2 is near thing3 then thing1 is near thing3." In this case, thing2 is unconstrained; it could be anything in the Universe.

The Brainhat Scenarios section discusses how propositions can be strung together to form a scenario.

©2001 Brainhat, Inc. All rights reserved.