Similarity
Similarity is a relation denoting the degree to which two entities share common properties.
Discussion
It’s often important to express the idea that, while two entities are distinct, they share enough properties in common that they should be treated approximately the same, namely, that they are similar. The precise nature of similarity can be philosophically debated1See Wikipedia’s Similarity (Philosophy) page for some additional discussion.: one can examine the quantitative degree of common properties among two entities or look at their distance in a metric space as denoting how dissimilar they are. This leads to the use of similarity measures, which, while useful, do not seem to capture the ontological nature of similarity. The notion of respective similarity captures the fact that two entities may be similar with regard to certain properties but not similar overall.
I made the choice to define similarity subjectively: entity 1 is similar to entity 2 to agent A if A is likely to make similar judgments about 1 and 2. This definition could be with a situation class parameter to allow for context-specific similarity. A good similarity measure should satisfy the criteria of this ontological notion of similarity. The definition is recursive2One way to break the recursion would be to show that the agent will likely make the same judgments about each entity..
SUMO
(documentation similar EnglishLanguage "The predicate similar attempts to capture the ontologic notion of similarity
from a subjective point of view. (similar ?A ?E1 ?E2) means that ?E1 and ?E2 are similar to cognitive agent ?A.")
(instance similar TernaryPredicate)
(domain similar 1 CognitiveAgent)
(domain similar 2 Entity)
(domain similar 3 Entity)
(=>
(equal ?E1 ?E2)
(forall (?A)
(similar ?A ?E1 ?E2)))
(<=>
(similar ?A ?E1 ?E2)
(similar ?A ?E2 ?E1))
Similar is a ternary predicate among a cognitive agent and two entities. If two entities are equal, then they are similar for all agents3Philosophically, should any agent be able to discern two equal entities as being distinct in any regard?. Similarity is symmetric.
Entity E1 is similar to entity E2 to cognitive agent A if for all judgments of E1 and E2, the results of the judgments, formulas O1 and O2, are likely to be simililar to A. A weaker alternative is to say that this only holds in the case that every patient of the judgments is the same except for E1, E2, O1, and O24In practice, the more similar the objects of judgment are, the more likely this rule should be to hold..
(=>
(similar ?A ?E1 ?E2)
(forall (?J1 ?J2 ?O1 ?O2)
(=>
(and
(instance ?J1 Judging)
(instance ?O1 Formula)
(agent ?J1 ?A)
(patient ?J1 ?E1)
(result ?J1 ?O1)
(instance ?J2 Judging)
(instance ?O2 Formula)
(agent ?J2 ?A)
(patient ?J2 ?E2)
(result ?J2 ?O2))
(modalAttribute
(similar ?A ?O1 ?O2) Likely))))
(=>
(similar ?A ?E1 ?E2)
(forall (?J1 ?J2 ?O1 ?O2)
(=>
(and
(instance ?J1 Judging)
(instance ?O1 Formula)
(agent ?J1 ?A)
(patient ?J1 ?E1)
(result ?J1 ?O1)
(instance ?J2 Judging)
(instance ?O2 Formula)
(agent ?J2 ?A)
(patient ?J2 ?E2)
(result ?J2 ?O2)
(forall (?O)
(=>
(and
(not (equal ?O ?O1))
(not (equal ?O ?O2))
(not (equal ?O ?E1))
(not (equal ?O ?E2)))
(<=>
(patient ?J1 ?O)
(patient ?J2 ?O)))))
(modalAttribute
(similar ?A ?O1 ?O2) Likely))))