hasTopping CheeseTopping
hasTopping некоторые VegetableTopping
Пересечение этих выражений непротиворечиво. У человека может быть более одной начинки. Например, у пиццы может быть одна начинка из сыра, а также одна овощная начинка. Тогда это будет экземпляр обоих типов и, следовательно, экземпляр их пересечения.
(свойство некоторого класса1) и (свойство некоторого класса2)
не эквивалентен
(свойство какое-то (Class1 и Class2))
Это можно увидеть на другом примере (если приведенного выше недостаточно).
Человек hasBodyPart.Ear
Человек hasBodyPart.Hand
У каждого человека (по модулю травм, врожденных дефектов и т. д.) есть хотя бы одно ухо и хотя бы одна рука. Это не значит, что рука — это ухо или что ухо — это рука.
Итак, резюмируя, вы правы, что
p.C p.D p.(C D)
но обычно это не так
p.C p.D p.(C D)
Однако, если что-то имеет значение, которое является как C, так и D, то оно имеет значение, которое является C, и значение, которое является D, поэтому у нас есть это отношение подкласса:
п.(C D) п.C p.D
В качестве другого примера рассмотрим непересекающиеся классы Mother и Father. Выражение класса
(имеет Родителя какую-то Мать)
это класс вещей, которые имеют мать. Выражение класса
(hasParent какой-то Отец)
это класс вещей, которые имеют отца. Очевидно, что это непустое пересечение, поскольку есть вещи, у которых есть и отец, и мать. Выражение пересечения — это то, что вы получите, соединив эти выражения с и:
(имеет Родителя какую-то Мать) и (имеет Родителя какого-то Отца)
Это отличается и не эквивалентно выражению класса:
(имеетРодителя некоторые (Мать и Отец))
Все логические операции описания на самом деле являются просто удобным синтаксисом для логики и теории множеств. Выражение класса (p only C), или в нотации DL, p.C, обозначает множество индивидуумов, которые связаны только свойством p с элементами C. Т.е.
(p только C) {x : y [p(x,y) y C]}
Точно так же (p some C) — это множество индивидуумов, которые связаны с некоторым элементом C свойством p. то есть,
(p некоторые C) {x : y [p(x,y) y &in C]}
Теперь можно рассмотреть пересечения.
(p только C) и (p только D)
{x : y [p(x,y) y C]} {x : y [p(x,y) y D]]}
{x : y [p(x,y) y C] y [p(x,y) y D]}
{x : y [p(x,y) (y C y D)]}
{x : y [p(x,y) y (CD)]}
(только p (CD))
Однако вы не получите такого же сокращения для экзистенциальных ограничений:
(p некоторых C) и (p некоторых D)
{x : y [p(x,y) y C]} {x : y [p(x,y) y C]}
Вы не можете уменьшить это дальше, потому что y в первом экзистенциале не обязательно равно y во втором.
person
Joshua Taylor
schedule
17.06.2015