В логике первого порядка, как мы обычно представляем утверждение?

cs.stackexchange https://cs.stackexchange.com/questions/121555

  •  29-09-2020
  •  | 
  •  

Вопрос

Я хотел привести такой пример, как:

У каждого есть мать.

Я видел, что это представлено в FOL как: $\для всего x \существует y:$ Мать (x, y)

Я вижу это следующим образом: для каждого x существует y, такой, что y является матерью x .

Я хочу знать, почему не подходит следующее:

$\для всех x:$ Имеет мать (x)

Что, я чувствую, можно сказать как:Для каждого x у x есть мать.

Это было полезно?

Решение

Это хороший вопрос, и он сводится к тому, чего вы хотите достичь с помощью Mother сущность.

В вашем первом примере, Mother(x, y) является (двоичный) отношение.Это означает, что у вас может быть столько же ys так, как вы хотели бы за xMother в качестве отношения вы также можете создать формулу, которая проверяет, есть ли у вас два yто, что удовлетворяет материнству для x.

В вашем другом примере, hasMother(x) является предикат это может быть только верно или ложь.Сколько матерей делают x иметь?Невозможно сказать.Кто такой xмать?Мы не можем сказать.

Вы также могли бы представить себе mother(x) → y функция это отображает x к своей матери y, но тогда у вас может быть только одна мать, и каждый x должна быть мать (в модели).

Все сводится к (а) тому, что является естественным представлением "мира" (все, что вы хотите смоделировать), и (б) тому, чего вы хотите достичь (все, что вы хотите извлечь из своей модели).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top