Please consider a donation to the Higher Intellect project. See or the Donate to Higher Intellect page for more info.

Basic MCF Slots

From Higher Intellect Vintage Wiki
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.


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

  1. 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.
  2. superType
    Both arguments are categories. This is the relation we use to say that cats are animals.
  3. 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).
  4. argumentTwoType
    Same as argumentOneType, except it applies to the second argument.
  5. argumentThreeType
    Same as argumentOneType, except it applies to the third argument.
  6. argumentFourType
    Same as argumentOneType, except it applies to the fourth argument.
  7. 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).
  8. 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).
  9. name
    The first argument is any object and the second argument is a string. Each object can have only one name.
  10. 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

  1. 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".
  2. Slot - The category of binary relations.
  3. SingleEntrySlot - The category of binary relations that has at most one value. e.g., age, height, name.
  4. TernaryPredicate - The category of ternary relations, i.e. predicates which take 3 arguments.
  5. QuaternaryPredicate - The category of quaternary relations, i.e. predicates which take 4 arguments.
  6. Layer - The categories of layers.

Other Reserved Terms

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

See Also