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.
|