Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |

# Basic MCF Slots

Jump to navigation
Jump to search

Here is a list of slots that are assumed to exist in MCF. Since the definition of a slot has to preceed its first use, we need a basic set of slots and terms to get the bootstrapping process started.

### Conventions

We will use the following conventions for ease of readability.

- Predicate names/identifiers start with lower case alphabets.
- Category names will start with upper case alphabets.
- The names of
**builtin**categories will be the same as their identifiers. This is only by convention. The names of predicates have to be the same as their identifiers by definition.

### Builtin Predicates

- typeOf

The first argument is any object and the second object is a category. This is the relation we use to say that a certain object is a Person or an HTML document. - superType

Both arguments are categories. This is the relation we use to say that cats are animals. - argumentOneType

The first argument is a predicate and second argument is a category. argumentOneType(p, A) means that if we have p(g, ...), then elementOf(g, A). - argumentTwoType

Same as argumentOneType, except it applies to the second argument. - argumentThreeType

Same as argumentOneType, except it applies to the third argument. - argumentFourType

Same as argumentOneType, except it applies to the fourth argument. - genlSlots:

genlSlots(p1, p2) and p1(a, b) implies p2(a, b). So, if we have genlSlots(subTopic, parent) and subTopic(Yahoo-Architecture, Yahoo-Arts), then this implies parent(Yahoo-Architecture, Yahoo-Arts). - parent

parent(A, B) means that there a directed arc/relation from A to B. The inverse of parent is child so that parent(A, B) is semantically equivalent to child(B, A). - name

The first argument is any object and the second argument is a string. Each object can have only one name. - superLayer

Both the arguments are Layers. The second argument is the layer which inherits everything from the first argument. superLayer(A, B) means that everything in A goes into B as a default.

### Builtin Categories

- Category - #"Category" refers to the object whose elements are what are what are typically refered to as types or categories or sets or collections. Examples include people, slots, web pages, etc. As a convention, Categories (aka sets, types, classes) have identifiers that end with "Category".
- Slot - The category of binary relations.
- SingleEntrySlot - The category of binary relations that has at most one value. e.g., age, height, name.
- TernaryPredicate - The category of ternary relations, i.e. predicates which take 3 arguments.
- QuaternaryPredicate - The category of quaternary relations, i.e. predicates which take 4 arguments.
- Layer - The categories of layers.

### Other Reserved Terms

- BaseLayer

The BaseLayer is the bottom most layer and also the layer which holds the assertions about layers (specifically, the superLayer assertions).