InheritanceLink

From OpenCog
(Redirected from IntensionalInheritanceLink)
Jump to: navigation, search

A basic concept of probabilistic term logic, InheritanceLinks specify is-a relationships. In the OpenCog system, basic InheritanceLinks are used to specify both intensional (is-a) relationships, and also extensional (is-an-instance-of) relationships.

Example usage:

InheritanceLink   monkey animal

specifies that a monkey is an animal.

Because InheritanceLinks mix both extensional and intensional relations, they are useful only for heuristic reasoning. InheritenceLinks will typically appear during natural language processing, as normal human discourse tends to mix up intensional and extensional characteristics, making proper interpretation somewhat ambiguous.

InheritanceLink is a subtype of OrderedLink.

Extensional vs Intensional

Philosophers of logic have extensively debated the relationship between extensional inheritance (inheritance between sets based on their members) and intensional inheritance (inheritance between entity-types based on their properties). We will often use the short notion ExtInhLink and IntInhLink, for example:

ExtInhLink <0.0>
   ConceptNode "whale"
   ConceptNode "fish"
IntInhLink <0.6>
   ConceptNode "whale"
   ConceptNode "fish"

indicating that the fish and whale sets have common properties but no common members.

As an EvaluationLink

The InheritanceLink can be understood to be equivalent to an EvaluationLink for the predicate "be" (or is-a"). So, for example:

 EvaluationLink
    PredicateNode "be"
    ListLink
       ConceptNode "Socrates"
       ConceptNode "man"

is equivalent to:

 InheritanceLink 
    ConceptNode "Socrates"
    ConceptNode "man"

They are no PLN rules that perform this equivalence transformation (maybe it should be taken care of at the language processing level?).

As syntactic sugar

InheritanceLinks can also be used to express the un-sugared equivalent of a convenience node definition. Thus, for example, in linguistics, words, sentences and parses are the natural types used in discussing natural language. Thus, it is convenient to define new atoms types for this purpose: the WordNode, SentenceNode and ParseNode. These convenience types help keep natural-language hypergraphs smaller and simpler. The have an equivalent form in terms of an InheritanceLink.

So, for example

WordNode "disestablishmentarianism"

should be taken as being equivalent to

InheritanceLink
    ConceptNode "disestablishmentarianism"
    ConceptNode "DefinedLinguisticConcept-Word"

This can be, in turn, understood as

EvaluationLink
   PredicadeNode "be"
   ListLink
       ConceptNode "disestablishmentarianism"
       ConceptNode "DefinedLinguisticConcept-Word"

which just says that "disestablishmentarianism" is a "DefinedLinguisticConcept-Word"; that is, its just a word.

Similarly, custom-defined link types have non-sugared equivalents in terms of EvaluationLinks and PredicateNodes.

There are, at this time, no PLN rules that convert these various forms into one-another.

PLN Semantics

PLN will interpret

  InheritanceLink
     X
     Y

as

  OrLink
     ExtensionalInheritanceLink
        X 
        Y
     IntensionalInheritanceLink
        X 
        Y

Note that extensional inheritance is the same thing as subset, viz, extensional inheritance is equivalent to

  SubsetLink
     X
     Y

Meanwhile, intensional inheritance

  IntensionalInheritanceLink <TV>
     X
     Y

is equivalent to:

 SubsetLink <TV>
    SatisfyingSetLink
       LambdaLink
          $Z
          EvaluationLink
             GroundedPredicateNode "property-of"
             ListLink
                $Z
                X
    SatisfyingSetLink
       LambdaLink
          $Z
          EvaluationLink
             GroundedPredicateNode "property-of"
             ListLink
                $Z
                Y

where the property-of predicate is a GroundedPredicateNode defined so that

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): {\displaystyle \operatorname{property-of}(Z,X) = P(Z|X) - P(Z)}

See also

SubsetLink and PartOfLink, used for holonym (part-of, e.g. `brim' is a holonym of `hat') and meronym (is-composed-of, e.g. 'hat' is a meronym of 'brim') relations.