2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Привести к ПНФ заданную формулу логики предикатов
Сообщение20.08.2016, 13:18 


20/08/16
3
Здравствуйте!
Помогите пожалуйста разобраться в одной задаче по матлогике.
Буду рад, если кто проверит мое решение и поможет разобраться до конца.

Нужно привести к предваренной нормальной форме заданную формулу логики предикатов.

$$
\forall x \big(P(x) \wedge \forall y \exists x (Q(x,y) \vee \forall z R(a,x,y))\big)
$$
Предваренная нормальная форма - это форма, в которой все кванторы стоят сначала, а за ними следует выражение в конъюнктивной нормальной форме (конъюнкция элементарных дизъюнкций).

То есть, по сути надо вытащить все кванторы наружу и представить оставшееся выражение в КНФ.
Есть такая эквивалентность, которая справедлива при условии что $u$ не входит в $\Phi$:

$$\Phi \vee \forall u \Psi \equiv \forall u (\Phi \vee \Psi)$$
По идее, я могу вынести $\forall z$, так как $z$ не входит в $Q(x,y)$.
Но меня беспокоит то, что $z$ и в $R(a,x,y)$ не входит. Я не знаю как поступать в таком случае. Возможно $\forall z$ следовало просто исключить, можно ли так делать? Но я все же вынес. Вот это та проблемная ситуация, в которой я не уверен.

В общем, вынес:

$$
\forall x \big(P(x) \wedge \forall y \exists x \forall z (Q(x,y) \vee R(a,x,y))\big)
$$
Теперь, согласно этим эквивалентностям:

$$\Phi \wedge \forall u \Psi \equiv \forall u (\Phi \wedge \Psi)$$
$$\Phi \wedge \exists u \Psi \equiv \exists u (\Phi \wedge \Psi)$$

Я могу все кванторы вынести влево. Но стоит ли тут делать подобную замену, я не знаю:

$$
\forall x \big(P(x) \wedge \forall y \exists t \forall z (Q(t,y) \vee R(a,t,y))\big)
$$
Насколько мне известно, замена делалась бы только в случае, если перед $P(x)$ стояло бы $\exists x$, так как:

$$
(\exists x P(x)) \wedge (\exists x Q(x)) \equiv \exists x \exists t (P(x) \wedge Q(x))
$$
А в моем случае этого квантора перед $P(x)$ нету. Получается, делать замену не надо? Просто выношу?

$$
\forall x \forall y \exists x \forall z \big(P(x) \wedge (Q(x,y) \vee R(a,x,y))\big)
$$
Выражение после кванторов и так в КНФ, значит это все.
Но вот все равно чувствую что что-то не так, не до конца понимаю.
Помогите пожалуйста разобраться, в чем косяки.

 Профиль  
                  
 
 Re: Привести к ПНФ заданную формулу логики предикатов
Сообщение20.08.2016, 20:38 
Заслуженный участник


08/04/08
8556
convert в сообщении #1145439 писал(а):
Но меня беспокоит то, что $z$ и в $R(a,x,y)$ не входит. Я не знаю как поступать в таком случае. Возможно $\forall z$ следовало просто исключить, можно ли так делать?
Можно. А на практике даже нужно.

convert в сообщении #1145439 писал(а):
Я могу все кванторы вынести влево. Но стоит ли тут делать подобную замену, я не знаю:
$$ \forall x \big(P(x) \wedge \forall y \exists t \forall z (Q(t,y) \vee R(a,t,y))\big) $$
Замену $x$ на $t$ делать не только стоит, но и обязательно, иначе будет неэквивалентное преобразование и т.н. коллизия переменных.

convert в сообщении #1145439 писал(а):
Насколько мне известно, замена делалась бы только в случае, если перед $P(x)$ стояло бы $\exists x$
Она делается для любого квантора (хотя бы из двойственности это следует)

convert в сообщении #1145439 писал(а):
$$
(\exists x P(x)) \wedge (\exists x Q(x)) \equiv \exists x \exists t (P(x) \wedge Q(x))
$$
Опечатались?

 Профиль  
                  
 
 Re: Привести к ПНФ заданную формулу логики предикатов
Сообщение20.08.2016, 21:09 


20/08/16
3
Sonic86 в сообщении #1145563 писал(а):
Опечатались?

Нет, это формула из видео: https://youtu.be/n0ViBuKcbKk?t=5m41s
В тех примерах в принципе понятно, почему делалась замена.
Это для случаев, когда перед каждым выражением (или правильно сказать предикатом?) стоял бы квантор и нужно было бы их вынести.
Однако в моем примере квантор был только у одного.

$$ \forall x \big(P(x) \wedge \forall y \exists x (Q(x,y) \vee R(a,x,y))\big) $$
Кажется я начинаю понимать.
Обозначим за $P(x)$ за $\Phi$, а остальную часть за $\Psi$.
По идее, можно воспользоваться эквивалентностями ниже, чтобы вынести $\forall y \exists x$.

$$\Phi \wedge \forall u \Psi \equiv \forall u (\Phi \wedge \Psi)$$
$$\Phi \wedge \exists u \Psi \equiv \exists u (\Phi \wedge \Psi)$$
Но как я уже писал, они справедливы при условии что $u$ не входит в $\Phi$.

Но ведь тогда в моем случае $x$ будет входить и в $\Phi$, и в $\Psi$. И поэтому я не могу использовать эти эквивалентности.
Или же могу, но только если сделаю замену? То есть эти эквивалентности все равно справедливы, главное лишь переименовать переменные?

$$\forall x \forall y \exists t \big(P(x) \wedge  (Q(t,y) \vee R(a,t,y))\big)$$
Если я все понял верно, это правильное решение?

 Профиль  
                  
 
 Re: Привести к ПНФ заданную формулу логики предикатов
Сообщение21.08.2016, 12:27 
Заслуженный участник


08/04/08
8556
convert в сообщении #1145575 писал(а):
Нет, это формула из видео: https://youtu.be/n0ViBuKcbKk?t=5m41s
Значит у него там тоже опечатка.

convert в сообщении #1145575 писал(а):
Или же могу, но только если сделаю замену? То есть эти эквивалентности все равно справедливы, главное лишь переименовать переменные?
Да, да, именно так.
Скачайте Верещагина, Шеня, Матлогику 4-е издание. В главе 4 про исчисление предикатов есть целая подглавка про переименование переменных.
А в Бурбаках связанные переменные вообще выкидывали и заменяли на квадратики, связанные палочками. Тогда вообще вопросов не возникало. Связанные переменные безымянны - их наименование неважно, потому их можно менять произвольно.

convert в сообщении #1145575 писал(а):
Если я все понял верно, это правильное решение?
Да.

 Профиль  
                  
 
 Re: Привести к ПНФ заданную формулу логики предикатов
Сообщение21.08.2016, 16:46 


20/08/16
3
Спасибо огромное за помощь! :-)

Sonic86 в сообщении #1145704 писал(а):
Значит у него там тоже опечатка.

А все же опечатка была моя.
Вместо:
$$ (\exists x P(x)) \wedge (\exists x Q(x)) \equiv \exists x \exists t (P(x) \wedge Q(x)) $$
Должно быть:
$$ (\exists x P(x)) \wedge (\exists x Q(x)) \equiv \exists x \exists t (P(x) \wedge Q(t)) $$

Хотя в видео опечатка возможно тоже есть, в последнем пункте:

$$ (\forall x P(x)) \vee (\forall x Q(x)) \equiv \forall x \forall y (P(x) \vee Q(x)) $$
Должно быть:
$$ (\forall x P(x)) \vee (\forall x Q(x)) \equiv \forall x \forall y (P(x) \vee Q(y)) $$
Верно?

 Профиль  
                  
 
 Re: Привести к ПНФ заданную формулу логики предикатов
Сообщение21.08.2016, 21:15 
Заслуженный участник


08/04/08
8556
convert в сообщении #1145729 писал(а):
Верно?
Угу

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group