Автор работы: Пользователь скрыл имя, 11 Февраля 2013 в 19:29, лабораторная работа
Лабораторная работа № 1. Логика высказываний
Цель работы – научиться переводить выражения на естественном языке на язык логики высказываний. Научиться проверять логическое следствие.
Порядок выполнения
Ознакомиться с методическими указаниями
Решить цикл задач для самостоятельной работы.
Формализовать и решить задачу (номер задачи соответствует номеру бригады).
Придумать и решить аналогичную п.3 задачу. Задача должна содержать не менее 1-й импликации и хотя бы одну конъюнкцию или дизъюнкцию, и не менее 3-х логических переменных.
Проверить правильность решения задач из п.3 и 4 на ЭВМ (программа tautology.rb).
Оформить отчет.
В примерах, приведенных выше, мы видели, что для записи предикатов использовались арифметические выражения: 2x, x+y, – x2. Аналогом арифметического выражения в логике служит понятие терма.
Определение. Термом называется
1) переменная и константа;
2) выражение вида f(t1,…,tn), где t1,…,tn – термы, а f – n-местный функциональный символ.
Можно сказать, что терм – выражение, полученное из переменных и констант с помощью символов функций.
Определение. Атомарной формулой называется выражение вида r(t1,…,tn), где t1,…,tn – термы, r – символ n-местного предиката.
Примерами атомарных формул являются выражения x£y2+1, |x-y|<z, x делит нацело y-3.
Определение. Формулой логики первого порядка называется
1) атомарная формула,
2) выражения вида (F)&(G), (F1)Ú(G), Ø(F), (F)®(G),(F)«(G), ("v)(F), ($v)(F), где F и G – формулы логики предикатов, v – переменная.
Формула F в двух последних выражениях называется областью действия квантора по переменной n.
К соглашениям о приоритете операций, принятом в логике высказываний, добавим следующее: кванторы имеют одинаковый приоритет, который больше приоритета всех связок.
Определение. Вхождение переменной в формулу называется связанным, если переменная стоит непосредственно за квантором или входит в область действия квантора по этой переменной. В противном случае вхождение называется свободным.
Например, в формуле
F=t(x)&("y)[s(x,y)®($x)(r(x,y)
Первое и второе вхождение переменной x свободны, третье и четвертое связаны. Все вхождения переменной y связаны.
Определение. Переменная называется свободной в формуле, если существует хотя бы одно свободное вхождение переменной в формулу.
Формула F из предыдущего примера имеет одну свободную переменную x.
Если x1,…,xn – все свободные переменные формулы F, то эту формулу будем обозначать через F(x1,…,xn). Это обозначение будем применять и в том случае, когда не все переменные из x1,…,xn являются свободными в F.
Интерпретация в логике первого порядка
Необходимо соотнести формулы логики предикатов первого порядка и предикаты. Как и в логике высказываний подобное соотнесение осуществляет функция, называемая интерпретацией.
Определение. Интерпретацией на непустом множестве М называется функция, заданная на сигнатуре FÈR, которая
1) константе ставит в соответствие элемент из М;
2) символу n-местной
функции ставит в соответствие
некоторую n-местную функцию,
3) символу n-местного
предиката ставит в
В результате любая формула F получает в соответствие предикат, местность которого равна числу свободных переменных формулы F.
Приведем примеры. Пусть сигнатура состоит из символа одноместного предиката P и двухместного предиката D, M={2,3,6,9,12,15} и
F=(P(x)&("y)(P(y)®D(x,y))
Поставим в соответствие (проинтерпретируем) P(x) предикат «x – простое число», D(x,y) – предикат «x меньше или равно y». Тогда формула F получит в соответствие предикат «x=2». На этом же множестве можно рассмотреть и другую интерпретацию: P(x) ставится в соответствие «x – нечетное число», D(x,y) – предикат «x делит y». В таком случае, формула F получает в соответствие предикат «x=3». Если j – интерпретация, то предикат, соответствующий формуле F будем обозначать через j(F).
Одним из основных типов задач этой темы являются задачи, связанные с использованием выразительных возможностей языка логики предикатов. В качестве примера рассмотрим задачу перевода на язык логики предикатов следующего рассуждения. «Каждый первокурсник знаком с кем-либо из спортсменов. Никакой первокурсник не знаком ни с одном любителем подледного лова. Следовательно, никто из спортсменов не является любителем подледного лова». Для удобства ссылок это рассуждение условимся называть рассуждением о первокурсниках. Выберем следующую сигнатуру:
П(х): «х – первокурсник»,
С(х): «х – спортсмен»,
Л(х): «х – любитель подледного лова»,
З(x,y): «х знаком с y».
Тогда рассуждение запишется в виде следующей последовательности формул.
Н1=("x)[П(х)®($y)(C(y)&З(x,y))
H2=("x)("y)[П(x)&Л(y)®ØЗ(x,y)]
H3=("x)(C(x)®ØЛ(x))
Равносильность, законы логики первого порядка
Определение. Формулы F(x1,…,xn) и G(x1,…,xn) называются равносильными, если для любой интерпретации j с областью М высказывания (jF)(a1,…,an) и (jG)(a1,…,an) при любых a1,…,an из М одновременно истинны или одновременно ложны.
Пусть F(x)=Ø("y)P(x,y), G(x)=($y)ØP(x,y), где Р – символ двухместного предиката. Докажем, что формулы F(x) и G(x) равносильны. Возьмем интерпретацию j с областью М. Пусть высказывание (jF)(a) истинно для aÎM. Истинность этого высказывания означает, что не для всякого yÎM высказывание (jP)(a,y) истинно. Следовательно, найдется bÎM, для которого высказывание (jP)(a,b) ложно. Если высказывание (jP)(a,b), ложно, то высказывание Ø(jP)(a,b) истинно. Отсюда следует, что найдется yÎM такой, для которого высказывание Ø(jP)(a,y) истинно. Это означает истинность высказывания (jG)(a). Итак, мы доказали, что если высказывание (jF)(a) истинно, то высказывание (jG)(a) тоже истинно. Обратная импликация доказывается аналогично. Значения истинности высказываний (jF)(a) и (jG)(a) при любом aÎM совпадают. Следовательно, формулы F(x) и G(x) равносильны.
Определение. Формула F(x1,…,xn) называется тождественно истинной, если для любой интерпретации j с областью М высказывание (jF)(a1,…,an) при любых a1,…,an из М является истинным.
Приведем список основных
равносильностей – законов
22) ("x)(F(x)&G(x) равносильна ("x)(F(x)&("x)G(x),
23) ($x)(F(x)ÚG(x) равносильна ($x)F(x)Ú($x)G(x),
24) ("x)("y)F(x,y) равносильна ("y)("x)F(x,y),
25) ($x)($y)F(x,y) равносильна ($y)($x)F(x,y),
26) Ø("x)F(x) равносильна ($x)ØF(x),
27) Ø($x)F(x) равносильна ("x)ØF(x).
Законы 22, 23 утверждают, что квантор общности можно переносить через конъюнкцию, а квантор существования через – дизъюнкцию. Естественно поставить вопрос, можно ли квантор существования переносить через конъюнкцию, а квантор общности – через дизъюнкцию. Другими словами, будут ли равносильны следующие пары формул
("x)(F(x)ÚG(x) и ("x)(F(x)Ú("x)G(x)
($x)(F(x)&G(x) и ($x)(F(x)& ($x )G(x) ?
Оказывается нет. Докажем это для случая, когда F(x) и G(x) – атомарные формулы. Пусть основное множество – множество натуральных чисел N, F(x) – предикат «x – четное число» , G(x) – предикат «x – нечетное число». Обозначим эту интерпретацию буквой j. Тогда j("x)(F(x)ÚG(x))]=1, но j[("x)F(x)Ú("x)G(x)=0. Аналогично, j($x)(F(x)&G(x))]=0 и j($x)F(x)&($x)G(x)]=1.
Рассмотрим законы 24 и 25. Они утверждают, что одноименные кванторы можно менять местами. Можно ли переставлять местами разноименные кванторы, сохраняя равносильность. Другими словами, равносильны ли формулы
("x)($y)(F(x,y) и ($y)("x)F(x,y)?
Оказывается, тоже нет. В качестве основного множеств возьмем опять множество натуральных чисел, F(x,y) будем считать атомарной формулой и поставим ей в соответствие предикат «x меньше y». Тогда левая формула будет истинной, правая – ложной.
Вернемся к законам 22 и 23. Мы отмечали, что квантор существования – через конъюнкцию. Тем не менее, если одна из формул F или G не содержит переменной x, то это делать можно. Запишем соответствующие законы:
28) ("x)(F(x)ÚG) равносильна ("x)(F(x)ÚG,
29) ($x)(F(x)&G) равносильна ($x)(F(x)&G, где G не содержит x.
Законы 22, 23, 28, 29 можно записать в общем виде:
30) (Q1x)(Q2z)(F(x)ÚG(z)) равносильна (Q1x)F(x)Ú(Q2z)G(z)
31) (Q1x)(Q2u)(F(x)&G(u)) равносильна (Q1x)F(x)&(Q2u)G(u),
где Q1, Q2 кванторы V или Э, u не входит в F(x), а x не входит в G(u). Для доказательства равносильности двух формул могут оказаться полезными следующие законы:
Рассмотрим формулу F(x)=("y)P(x,y)®P(x,c), где P – символ двухместного отношения, с – константа. Докажем, что формула F(x) тождественно истинна. Возьмем интерпретацию j с областью М и элемент а из М. Высказывание (jF)(a) равно ("y)(jP)(a,y)®(jP)(a,j(c)). Если посылка ("y)(jP)(a,y) ложна, то вся импликация (jF)(a) истинна. Предположим, что посылка ("y)(jP)(a,y) истинна. Это означает, что для всякого yÎM высказывание (jP)(a,y) истинно, в том числе истинно это высказывание и для y=j(c). Следовательно, истинно заключение (jP)(a,j(c)) и вся импликация (jF)(a). Мы доказали, что высказывание (jF)(a) истинно для любого aÎM. Это означает, что формула F(x) является тождественно истинной.
Понятия равносильности и тождественной истинности в логике первого порядка связаны точно так же, как и в логике высказываний.
Теорема 3.1 Формулы F(x1,…,xn) и G(x1,…,xn) равносильны тогда и только тогда, когда формулы F(x1,…,xn)«G(x1,…,xn) тождественно истинны.
Законы замены переменных:
32) ("x)F(x) равносильна ("z)F(z),
33) ($x)F(x) равносильна ($z)F(z).
В законах 32 и 33 переменная z не входит в F(x), а переменная x не входит в F(z).
В логике высказываний мы применяли два способа доказательства равносильности формул: построение совместной таблицы истинности и переход от одной формулы к другой с помощью законов. В случае логики первого порядка остается только второй способ.
Проиллюстрируем его на примере следующей задачи: доказать равносильность формул:
F=Ø("x)($y)[S(x)&P(x,y)®($z)(
G=($x)("y)[S(x)&P(x,y)&("z)(T(
Применим к формуле F последовательно законы логики предикатов, получим, что формула F равносильна формуле
F1=($x)("y)Ø[Ø(S(x)&P(x,y))Ú($
Далее, используя законы логики предикатов из F1, получим формулу
F2=($x)("y)[S(x)&P(x,y)&("z)Ø(
Осталось заметить, что в формуле F2 подформулу Ø(T(z)&P(x,z)) можно заменить на T(z)®ØP(x,z).
Доказательство равносильности двух формул будем проводить с помощью законов логики первого порядка. Доказательство того, что формулы неравносильны, будем осуществлять построением интерпретации, при которой одна формула истинна, другая ложна. Например, так, как это было сделано выше для доказательства неравносильности формул ("x)(F(x)ÚG(x)) и ("x)F(x)Ú("x)G(x). Разумеется, до построения интерпретации формулы можно предварительно преобразовывать с помощью законов.
Логическое следствие
Определение. Формула G(x1,…,xn)
называется логическим следствием формул
F1(x1,…,xn),…,Fk(x1,…,xn),
если для любой интерпретации j с областью М и любых a1,…,anÎM из истинности высказываний
(jF1)(a1,…,an),…,(jFk)(a1,…,an
Приведем примеры. Пусть F1=("x)(P(x)®Q(x)&R(x)), F2=P(c), G=Q(c). Покажем, что формула G является логическим следствием формул F1 и F2. Возьмем интерпретацию j с областью М такую, что высказывания jF1 и jF2 истинны. Элемент j(c) обозначим буквой b. Истинность jF2 означает, что высказывание (jP)(b) истинно. А истинность высказывания jF1 означает, что для любого элемента xÎM истинно высказывание (jP)(x)®(jQ)(x)&(jR)(x). Поскольку это высказывание истинно для любого х, то, в частности, истинно для x=b. Мы видим, что истинна импликация (jP)(b)®(jQ)(b)&(jR)(b) и ее посылка (jP)(b). Из таблицы истинности импликации следует истинность заключения (jQ)(b)&(jR)(b). Следовательно, истинно высказывание (jQ)(b). А это и есть jG. Мы доказали, что если истинны высказывания jF1 и jF2, то истинно высказывание jG, т.е. что G –логическое следствие F1 и F2.
В качестве второго примера докажем нелогичность рассуждения о первокурсниках. Мы записали это рассуждение в виде последовательности формул Н1,Н2, и Н3. Для доказательства нелогичности рассуждения надо найти интерпретацию j, при которой формулы Н1 и Н2 истинны, а формула Н3 ложна. Пусть множество М состоит из трех элементов 2,3,4. Символы С, Л и П проинтерпретируем следующим образом:
(jС)(х)=«х – простое число»,
(jЛ)(х)=«х – четное число»,
(jП)(х)=’’х>4»,
т.е. П интерпретируется как тождественно ложный предикат. Тогда формулы Н1 и Н2 истинны, поскольку посылки импликаций этих формул ложны при любом х. А формула Н3 ложна. Чтобы убедиться в этом достаточно взять х=2. Следовательно, рассуждение о первокурсниках нелогично.
Определение. Множество формул
K={F1(x1,…,xl),…,Fm(x1,…,xl)}
называется выполнимым, если существует интерпретация j с областью М и элементы a1,…,alÎM такие, что все высказывания
(jF1)(a1,…,al),…,(jFm)(a1,…,al
Множество формул K = { F1=("x)($y)(P(y)&Q(x,y)), F2=("y)Q(c,y), F3=ØP(c) } выполнимо. Возьмем в качестве области интерпретации множество натуральных чисел N. Символы P,Q и C проинтерпретируем следующим образом:
(jP)(u)=«u – простое число»,
(jQ)(u,v)=«u меньше или равно v»,
j(C)=1.
Тогда высказывание jF1 означает, что для любого натурального числа х найдется простое число y, которое не меньше х, высказывание jF2 означает, что 1 –наименьшее натуральное число, а высказывание jF3 означает, что 1 – непростое число. Ясно, что все эти высказывания истинны, и поэтому множество формул K выполнимо.
Понятия логического следствия и выполнимости в логике первого порядка связаны точно так же, как и в логике высказываний.
Теорема
3.2. Формула G(x1,…,xn)
является логическим следствием формул
F1(x1,…,xn),…,Fk(x1,…,xn)
тогда и только тогда, когда множество
формул {F1(x1,…,xn),…,Fk(x1,…,xn),ØG(
Нормальные формы
Как и в логике высказываний, в логике первого порядка вводятся нормальные формы. Мы рассмотрим две из них: предваренную нормальную и сколемовскую нормальную формы.
Определение. Формула G имеет предваренную нормальную форму (сокращенно: ПНФ), если
G(Q1,x1)…(Qn,xn)H,
где Q1,…,Qn кванторы, а формула H не содержит кванторов.
Например, формула ("x)($y)(P(x,y)&ØQ(y)) имеет предваренную нормальную форму, а формула Ø("x)(T(x)&S(x,y)) не имеет.
Теорема 3.3. Для всякой формулы F существует формула G, равносильная F и имеющая предваренную нормальную форму.
Информация о работе Математическая логика и теория алгоритмов