В логике первого порядка, как мы обычно представляем утверждение?
-
29-09-2020 - |
Вопрос
Я хотел привести такой пример, как:
У каждого есть мать.
Я видел, что это представлено в FOL как: $\для всего x \существует y:$ Мать (x, y)
Я вижу это следующим образом: для каждого x существует y, такой, что y является матерью x .
Я хочу знать, почему не подходит следующее:
$\для всех x:$ Имеет мать (x)
Что, я чувствую, можно сказать как:Для каждого x у x есть мать.
Решение
Это хороший вопрос, и он сводится к тому, чего вы хотите достичь с помощью Mother
сущность.
В вашем первом примере, Mother(x, y)
является (двоичный) отношение.Это означает, что у вас может быть столько же y
s так, как вы хотели бы за x
.С Mother
в качестве отношения вы также можете создать формулу, которая проверяет, есть ли у вас два y
то, что удовлетворяет материнству для x
.
В вашем другом примере, hasMother(x)
является предикат это может быть только верно или ложь.Сколько матерей делают x
иметь?Невозможно сказать.Кто такой x
мать?Мы не можем сказать.
Вы также могли бы представить себе mother(x) → y
функция это отображает x
к своей матери y
, но тогда у вас может быть только одна мать, и каждый x
должна быть мать (в модели).
Все сводится к (а) тому, что является естественным представлением "мира" (все, что вы хотите смоделировать), и (б) тому, чего вы хотите достичь (все, что вы хотите извлечь из своей модели).