Much of the time we don't know the value for a slot for all instances of a class. Instead, we may want to give a reasonable default value to be used in the absence of other information. In the Generic Frame Protocol, one can specify a default value for a template slot on a class. Instances of a class inherit a default value for the own slot corresponding to the class's template slot. For example, if we want to make the default assumption that all politicians like money, we could assert the value money as a default value for the template slot likes on the class politician. Then when we come across an instance of politician, its value for the own slot likes will include the value money. We say that the value of the own slot is known by default inheritance from the class politician. If, later, we discover a politician that doesn't like money, we could retract the default assumption. That is because default inheritance is a kind of nonmonotonic inference.
There are many possible ways that a representation system might react when new assertions change the status of default assumptions. The Generic Frame Protocol defines a simple scheme that can be supported across a variety of FRSs. In the protocol, an own slot can have values known by default inheritance or monotonic inheritance, but not both. When monotonically inherited and default inherited values are in competition, monotonically inherited values take precedence. In other words, if a slot has any values that are known by monotonic inheritance, then the same slot on the same frame cannot have any values known by default inheritance. An own slot may also have values that were asserted directly, rather than inferred by inheritance. We call these values local values. When there is a conflict between inherited and local values, local values take precedence. Such a conflict may arise when a slot constraint (defined in the next section) restricts the number of possible values for a slot. The protocol is silent on the behavior of a FRS when both local values and inherited values are possible for a given own slot (i.e., there are no slot constraints that would force a choice between them). The protocol is also agnostic on the result of inheriting competing values for the same slot from multiple parents.