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