Преобразование предложений в логику первого порядка

в логике первого порядка я знаю правила. Однако всякий раз, когда я конвертирую некоторые предложения в FOL, я получаю ошибки, я читаю много книг и руководств, есть ли у вас какие-нибудь уловки, которые могут мне помочь,

несколько примеров, когда я делаю ошибки

Некоторые дети будут есть любую еду

C(x) means “x is a child.”
F(x) means “x is food.”
Eat(x,y) x eats y
I would have written like this:

(∃x)(∀y) C(x) ∧ Eat(x,y)

edit:  (∃x)(∀y) C(x) ∧  F(y) ∧ Eat(x,y)

But the book write it like this

(∃x)(C(x) ∧ (∀y)(F(y)→Eat(x,y)))

Редактировать №2: 2-й тип ошибки, которую я делаю: черепахи пережили кроликов.

i'm writing it like this: ∀x,y Turtle(x)  ∧  Rabbit(y)  ∧ Outlast(x,y)

 but according to the book  ∀x,y Turtle(x)  ∧  Rabbit(y)  --> Outlast(x,y)

Я, конечно, согласен с книгой, но есть ли проблемы с моей версией !!


person Noor    schedule 12.03.2011    source источник
comment
Вы должны описать ошибки ...   -  person gary    schedule 12.03.2011
comment
@gary comtois, Привет, я изменил вопрос с одной ошибкой, которую я делаю   -  person Noor    schedule 12.03.2011


Ответы (3)


Из

xy [C (x) ∧ F (y) ∧ Ешьте (x < / em>, г)]

отсюда следует, что ∀ y F (y), т.е. все есть еда. («Существует дочерний элемент x такой, что для всех y, y - еда» и множество других утверждений.) Это также следует что ребенок ест себя: если мы обозначим ребенка произвольной константой c и заполним ее, мы получим

y [C (c) ∧ F (y) ∧ Ешьте (c, y < / em>)]

и поскольку y универсально определяется количественно, мы можем создать его экземпляр, заменив его на c, чтобы получить

C (c) ∧ F (c) ∧ Ешьте (c, c)

что является нежелательным положением вещей.

Из вашего второго примера

xy [Turtle (x) ∧ Rabbit (y) ∧ Outlasts (x < / em>, г)]

следует, что

x Черепаха (x) ∧ ∀ y Кролик (y) ∧ ∀ x y Продолжается (x, y)

То есть все - черепаха, все - кролик, и все переживает все, в том числе и самого себя.

Версия в вашей книге использует →, чтобы указать, что для каждого объекта y, если это еда, тогда его съедает x . Вам нужно условное выражение для выражения предложений формы «все X есть Y» или «каждый X делает Y».

person Fred Foo    schedule 12.03.2011
comment
Можете ли вы указать на ошибку во втором примере, который я поместил в редактирование Num2 - person Noor; 13.03.2011
comment
Вы всегда делаете одну и ту же ошибку: в ваших примерах нет условных операторов. - person Clément; 13.03.2011
comment
но если я скажу, что одна черепаха пережила кролика, то могу ли я написать это как thiy ∃x ∃y Turtle (x) ∧ Rabbit (y) ∧ Outlast (x, y) - person Noor; 13.03.2011

Всякий раз, когда у вас есть определитель каждый (или any или no) в английском предложении, соответствующее предложение FOL должно иметь как универсальный квантор, так и импликацию в Это. Например. шаблон перевода существительной фразы каждый мужчина будет выглядеть так:

∀ x (man(x) ⇒ ...)

Если ваше предложение на английском языке не содержит определителей, переформулируйте его так, чтобы каждое существительное в нем имело определитель. Таким образом становится понятным отображение FOL. Например. двусмысленное / расплывчатое предложение

Turtles outlast Rabbits.

можно переформулировать несколькими семантически разными способами:

  • Каждая черепаха переживает каждого кролика.
  • Есть черепахи, которые переживают каждого кролика.
  • Есть черепахи, которые переживают некоторых кроликов.
  • Большинство черепах переживают большинство кроликов.
  • ...

Кстати, существует онлайн-инструмент APE, который преобразует английские предложения в FOL при условии, что вы сначала переформулируете свои предложения так, чтобы они попадали во фрагмент английского языка, который поддерживает этот инструмент. Однако обратите внимание, что этот инструмент возвращает одно показание FOL, то есть не перечисляет всю неоднозначность, которую может содержать ввод.

person Kaarel    schedule 14.03.2011

Вы сначала не проверили, y была ли еда. Учитывая ваше утверждение, пусть a будет детьми, т.е. C(a) верно. Тогда (∃x)(∀y) C(x) ∧ Eat(x,y) означает (∃x) C(x) ∧ Eat(x,a). Другими словами, вы утверждаете, что некоторые дети будут есть что угодно, а не только еду.

person Clément    schedule 12.03.2011
comment
Нет, вы сейчас говорите, что все y - еда. - person Clément; 12.03.2011
comment
Можете ли вы указать на ошибку во втором примере, который я поместил в редактирование Num2 - person Noor; 13.03.2011
comment
Да, проблема со второй версией. Там написано: все черепаха, все кролики, и все переживает все. - person Clément; 13.03.2011