Specialized common sense adjacency without contact; based on implicit scale and distance less than the diameter of the smaller object; alternatively, based on the smallest distance among the higher granularity objects. Eg, in cell C near object P, P is the less distant object of a higher granularity than C. Another possibility is reusing the function topology:neighborhood: (x NEAR y) implies ((REGION-OF (NEIGHBORHOOD x)) loc:OVERLAPS (REGION-OF (NEIGHBORHOOD y)))
(see 'topologically-near).
Still another: (x NEAR y) implies (x INTERMEDIATE-CONTACT y).
(=> (Near ?A ?B)
(Or (Exists (?C ?D ?E)
(And (The-Smaller ?A ?B ?E)
(Diameter ?E ?D)
(Distance ?A ?B ?C)
(< ?C ?D)))
(Not (Exists (?Z)
(Or (And (Exists (?F)
(And (The-Finer-Granularity ?A
?Z
?F)
(Identity ?F ?A)))
(Same-Granularity ?B ?Z)
(Exists (?G ?H)
(And (Distance ?B ?A ?H)
(Distance ?Z ?A ?G)
(< ?G ?H)))
(Different ?B ?Z))
(And (Exists (?I)
(And (The-Finer-Granularity ?B
?Z
?I)
(Identity ?I ?B)))
(Same-Granularity ?A ?Z)
(Exists (?J ?K)
(And (Distance ?A ?B ?K)
(Distance ?Z ?B ?J)
(< ?J ?K)))
(Different ?A ?Z)))))))