Can you follow this story?

A man leans out the window and calls to a man in the street.  The man in the street is a friend of the man in the building.  The man in the building is hungry.  He wants to eat.  The man in the street is not hungry. He walks away.

The story makes sense because you can tell the actors, actions and recipients of the actions apart. You know that the man leaning out the window is not the same as the man in the street. You know that the man who is hungry is not also the man who is not hungry.

Orthogonalities are attributes or roles that, if simultaneously ascribed to the same person, place or thing, would form a contradiction. A cat is not a dog. A brown dog is not the white dog. A tall man is not a short man. A cat in the house is not also a cat in the yard. The food on the table at Thanksgiving is not the food on the table at Christmas. Orthogonalities provide relief in a story that makes it possible to make sense of a narrative

Orthogonalities can be explicit or implicit. Explicit orthogonality is defined in the vocabulary. Here are possible definitions for dog and brown; in the "dog-n1" and "brown-a1" definitions, we see explicit "orthogonal" directives:

define  dog-n1
        label           dogs
        label           dog
        child-of        pet-n1
        child-of        mammal-n1
        orthogonal      pet-n1
        orthogonal      mammal-n1

define  brown-a1
        label           brown
        orthogonal      color-a1
        child-of        color-a1

The definition for "dog-n1," declares the dog to be orthogonal to other mammals and to other kinds of pets. "brown-a1" is orthogonal to other colors. These "orthogonal" directives prevent the consideration of dogs that are both white  and brown and creatures that are both dog and cat.

Orthogonality is declared for prepositions and locations, too. This prevents having someone be in the restaurant and in the school at the same time, or in the library and outside the library at the same time. "Inside" and "outside" are orthogonal; "restaurant" and "school" are orthogonal, for instance.

Orthogonalities in tense and time

Tense and time play roles in determining orthogonality, too. Consider that a dog cannot be both happy and sad in the present tense. But it can be both happy and sad in past or future tenses. This is permitted because "past" or "future" can capture the dog in many different states at many different pasts or futures. When we cannot tell the immediate past from the distant past, we have to let orthogonal attributes coexist. 

But, this is sloppy, and sometimes we can improve upon the past or future. When possible, based on clues within input, Brainhat will attempt to groups CCs temporally so that there may be multiple distinct "pasts" and "futures." A phrase like "when the dog was in the house" is a temporal clue, for instance. It allows Brainhat to place other colocated knowledge in the same temporal time-frame. Attribute assignments like "the dog was happy", propositions, etc., that occur within the time-frame marked by "when the dog was in the house" can be treated as being orthogonal to other CCs that took place in different time frames. This is called Orthogonal Time. Unlike orthogonality declared explicity via directive in the definition, orthogonal time is implicit.

Semantic orthogonality

The final form of orthogonality is semantically-derived orthogonality, and it appears in situations where Brainhat can ask itself whether something can be true, given its meaning. Such an orthogonality may apply to whole clauses playing the part of subject
or object. For instance "the party at the beach" may be orthogonal to "the funeral for my uncle." Tests for orthogonality of more complex CCs like these may take place by semantic evaluation.

Orthogonalities in input

Brainhat attempts to minimize the number of instances of dogs, etc. Whenever attributes can coexist, they will: a brown dog can be small. The same brown dog can be happy now and sad in the past. It's all the same dog. However, there are circumstances that will create a new instance of dog, or modify an attribute of an existing dog. Consider this first example where dog is described with orthogonal attributes:

The dog is happy. The dog is sad.

The sequence will first record a dog as being happy, and then push "happy" into the past tense and record the dog as being sad.  Brainhat will record that the dog is sad, was happy.

In contrast, if we preceed the "dog" with orthogonal qualifying attributes, we will create two dogs--one brown and one white, and one happy and one sad in the present tense, respectively.

The brown dog is happy. The white dog is sad.

Orthogonalities in memory recall

Brainhat has multiple features for storing and recalling memories from local storage and from across the network. Memories are triggered when circumstances in the context are similar to those under which a memory was stored. When a memory is recalled, its contents are merged with the existing context on a permanent or temporary basis. 

However, if a memory contains a CC that would force an orthogonality, it will not be restored. For instance, if a memory contained "the dog is sad" and context says "the dog is happy", the memory and all of its contents will be rejected--not merged or restored. This allows for an interesting situation where two copies of Brainhat, starting with different contexts but sharing the same store of memories, may use those memories differently--accepting some and rejecting others. This will make the contexts further divergent. It provides an opportunity for a study in world views and in "you believe what you want to believe."

Visit the Brainhat hands-on section   

Examples excercising orthogonality appear in the hands-on exercises.