Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Математическая логика и теория алгоритмов. Логика предикатов

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
3.59 Mб
Скачать

П ример 3.3. Рассмотрим формальные выражения из примера 3.2. Докажем, что

Vx(R(x) -> Q{x)) = -T3X(-*Q(X) Л R(X)),

независимо от того, что означают предикаты Q и R.

Действительно, последовательно используя: 1) выражение имплика­ ции через отрицание и дизъюнкцию, 2) обобщенный закон де Моргана, 3) закон де Моргана для высказываний — получаем:

Vx(R{x)

(?(я)) = Уя(-гК(:г) V Q(x)) =

 

= -cfo-i(-iR(x) V Q(x)) = x(-*Q(x) A R(x)).

П ример

3.4. Запишем утверждение «Если число делится на 2 и

на 3, то оно делится на 6» на формальном языке. Для этого переформу­ лируем его так: «Для всех х имеет место свойство: если х делится на 2 и х делится на 3, то х делится на 6». Положим:

Р(х) ^ х делится на 2\ Q(x) х делится на 3, R(x) т=± х делится на 6.

На формальном языке получаем:

Vx((P(x)AQ(x))-> R(x)).

Теперь, пользуясь выражением импликации через другие связки и законами де Моргана, получим несколько различных равносильных утверждений:

У х((Р (х)Л < ?(х))^Я (х)) =

Vx(-i(P(х) Л Q(x)) V R{x)) =

=Vx((->P(x) V -HQ(S )) V Я(х)) =

=Vx(-iP(x) V (-nQ(x) V Я(х))) = —Vx(P(x) -» (Q(x) -> Я(х))) =

=-i3x->(P(x)(Q(x) R(x))) = —-i3x->(-iP(x) V (-iQ(x) V Я(х))) =

=->3x-«((->P(a:) V Я(х)) V ->Q(x)) =

=-i3x(Q{x) A -i(P(x) -)• Я(х))) =

= ~’3x-i(Q(x) -»• (P(x) -> Я(х))) = . . .

У праж нение 3.1. Докажите, что

-A/x(Q(x) R(x)) = 3x(Q(x) Л ->R(x)).

У праж нение 3.2. Получите еще несколько выражений, равносиль­ ных полученным в примере 3.4, но не приведённых в нём, и переведите их на русский язык.

Отметим ещё одно важное свойство: возможность перестановки оди­ наковых кванторов. Если F — формальное выражение, а х и у — про­ извольные переменные, то смысл выражений VxVt/F и 4ÿixF одина­ ков: действительно, он совпадает со смыслом выражения V(x,2/)F, где (х>у) упорядоченная пара (кортеж длины 2). Аналогичное утвержде­ ние справедливо для квантора существования.

Менять местами разные кванторы, вообще говоря, нельзя. Иначе говоря, смысл выражений

Vy3xF, 3xVyF, Vx3yF, 3ÿs/xF

может быть различным. Чтобы лучше разобраться в причинах такого явления, предлагается решить задачу 3.8, приведённую в конце главы.

3.2. Рассуждения с кванторами

Мы ввели логические связки для высказываний как аналоги выра­ жений естественного языка, затем убедились в недостаточной строгости таких определений в силу неоднозначности смысла соответствующих вы­ ражений естественного языка и пришли к определениям с помощью таб­ лицы истинности. Тем не менее кванторы мы ввели опять же как аналоги выражений естественного языка. Не является ли такой подход недоста­ точно адекватным законам логики?

Ответить на этот вопрос совсем не просто. Более того, ответить на него однозначно невозможно. Дело в том, что наше понимание логиче­ ских законов опирается в конечном счёте на наш жизненный опыт, и на­ деяться найти для них совершенные, «окончательные» формулировки так же наивно, как и для законов, например, физических. Допустимость применения того или иного логического правила в одних ситуациях мо­ жет быть очевидна, в других — сомнительна. Например, заметим, что правило modus ponens мы впервые использовали в примере 2.3, то есть

ещё до того, как дали определение логических связок таблицей истинно­ сти, из которой это правило следует. Это оправдывается тем, что правило modus ponens и само по себе, безо всяких таблиц, хорошо соответствует нашему интуитивному пониманию логического следования, и даже фи­ лософы не склонны сомневаться в его применимости в любых практи­ ческих логических рассуждениях18. А определение логических связок с помощью таблицы истинности не столь безупречно, что видно хотя бы из того, что оно влечёт справедливость для любого высказывания р закона исключенного третьего рУ-^р = И, который подвергается жёсткой кри­ тике со стороны многих исследователей оснований математики. Таким образом, строго говоря, даже такую простую теорию, как логика выска­ зываний, нельзя назвать однозначно соответствующей общечеловеческо­ му опыту. Тем более тонок вопрос об адекватности логики предикатов, предполагающей использование кванторов. Ведь предикаты, как прави­ ло, определяются на бесконечном множестве, а это значит, что никаким перечислением всех возможных случаев значения высказываний, содер­ жащих кванторы, не определить. Выходит, что без ссылок на понятия, выражаемые на естественном языке словами -«все» и «существовать», всё-таки не обойтись.

Чтобы получить лучшее представление о границах применимости изучаемых законов, рассмотрим несколько примеров верных и неверных логических построений.

Пример 3.5. Пусть известно, что 1) Si = {* | * (* )};

2)S2 = {x | Р2(*)};

3)Чх(Р2(х) -> А (*));

4)а € S2.

Докажем, что а е Si. Условия 1 и 2 означают, что

Рг(х) х Su P2(;r) ^ х G S2-

1вМатематики даже используют его как правило вывода в основных логических ис­ числениях, которые служат формальными реализациями наиболее мощного орудия построения математических теорий — аксиоматического метода. С теорией логиче­ ских исчислений можно познакомиться по более полным руководствам по математи­ ческой логике — см. список литературы.

Следовательно, условие 3 означает, что £2 Q £ i. В частности, высказы­ вание а 6 £2 а е Si истинно. Отсюда и из условия 4 применение правила modus ponens даёт искомое: а € Si.

Пример 3.6. Заметим, что рассуждение Аристотеля о том, что Со­ крат смертен, является частным случаем рассуждения из предыдущего примера19. Действительно, пусть универсальным множеством U явля­ ется множество всех живых существ, S\ — множество всех смертных существ20, £2 — множество всех людей и а = Сократ. Тогда условие 3 означает (с учётом условий 1 и 2), что все люди смертны, условие 4 — что Сократ — человек, а вывод a £ £1 — что Сократ смертен.

Даже на правило modus ponens можно уверенно полагаться толь­ ко пока оно применяется к истинным высказываниям, верно записан­ ным на формальном языке. К высказываниям, записанным на естествен­ ном языке, правило может оказаться принципиально неприменимо. По­ нять, почему Петя неверно интерпретировал поведение своего кота (при­ мер 2.4), нам помогло уточнение синтаксисической структуры русского предложения, но этого может оказаться недостаточно.

Пример 3.7. Какой вывод можно сделать из следующих посылок:

редкая птица долетит до середины Днепра; пингвин — птица редкая?

Ни одна из посылок не вызывает резкого неприятия. Будем счи­ тать их верными высказываниями. В написании на русском языке их логическая структура вроде бы вполне аналогична структуре посылок неоднократно рассмотренного примера о Сократе. Тем не менее, если рассуждать аналогично, то получится, что пингвин долетит до середи­ ны Днепра, что звучит довольно странно. В чём дело?

19Это рассуждение представляет собой силлогизм одного из самых простых моду­ сов (видов). Аристотель, проведший полное изучение силлогизмов, выделял 19 вер­ ных модусов. Поскольку современные математики, в отличие от античных, считают пустое множество достойным внимания объектом, им приходится уменьшить коли­ чество верных модусов до 15. Это опять говорит о том, что наши представления о логических законах условны. С точки зрения современной математической логики теория Аристотеля верна, но неудобна.

20Вопрос о том, верно ли, что Si = U, нас в данный момент интересовать не дол­ жен.

Попробуем разобраться. За универсальное множество в нашем слу­ чае естественно принять множество всех птиц. Ввёдем предикаты Р и Q:

Р(х) ч=± Птица х редкая;

Q(x) ^ Птица х долетит до середины Днепра.

Перевод на формальный язык второй из посылок очевиден: Р(пингвин). Если же переводить первую посылку, не вдумываясь в смысл предложе­ ния, то скорее всего получится высказывание Vx(P(x) Q(x)). Сделаем обратный перевод на русский язык: «Если птица редка, то она долетит до середины Днепра». Стоп! Разве это утверждение мы посчитали выше верным высказыванием?

Здесь мы имеем дело с неоднозначностью истолкования утвержде­ ний, сформулированных на русском языке. Смысл утверждений, внешне одинаковых, может оказаться различным. Например, что имеет в виду человек, утверждающий: «Я вижу цель»? Возможно, что утверждение о том, что он не видит цели, неверно. Возможно, что то, что он видит, — цель, а не что-нибудь иное. Возможно, что именно он, а не кто-нибудь иной, видит цель. Возможно, что-нибудь ещё. Кроме того, человек мо­ жет сам плохо понимать, что именно он хочет сказать. Таким образом, с точки зрения русского синтаксиса нельзя утверждать, что перевод пер­ вой посылки высказыванием Уж(Р(ж) -»■ Q(Æ)) является ошибкой, но он неверен в данном конкретном случае.

Так что же имел в виду Н. В. Гоголь, когда писал о редкой пти­ це над Днепром? Очевидно, следующее: только редкая птица способ­ на долететь до середины Днепра. Иначе говоря, если птица долетела до середины Днепра, то она редка. На формальном языке получаем: Vx(Q(x) Р(я)). Отсюда следует, что

Q(пингвин) Р(пингвин) = И,

но о значении высказывания Р(пингвин) >Q{numeun) никакой инфор­ мации не следует. Таким образом, правило modus ponens к посылкам неприменимо, и никакой вывод из них не следует.

Пример 3.8. Рассмотрим следующее рассуждение из книги [6]: «Некоторые машины дребезжат на ходу. Моя машина — это, безусловно, некоторая машина. Неудивительно, что она дребезжит на ходу». Выгля­ дит забавно, не правда ли? Но, может быть, всё вполне логично?

Действительно, рассуждение становится вполне логичным, если вме­ сто слова «некоторый» подставить описание какого-нибудь естественно­ го для машины качества. Например: «Синие машины дребезжат на ходу. Моя машина синяя. Значит, она дребезжит на ходу». Если считать уни­ версальным множеством множество машин, свойство «быть синим» на­ звать предикатом Р, а свойство «дребезжать на ходу» — предикатом Q, то рассуждение запишется аналогично рассуждению о смертном Сокра­ те: Vx(P(x) -»• Q{x)) и Р{моя машина), следовательно, С^(моя машина).

Теперь посмотрим, можно ли заменить слово «синий» словом «неко­ торый». Слово «некоторый» в первой посылке используется как синоним слова «существовать». Если считать существование свойством машины (а почему нет?) и обозначить его специальным предикатным символом:

Е(х) ^ х существует,

то посылки можно перевести на формальный язык так: Vx(E(x) Q{x)) и Е(моя машина). Опять же получаем вывод Q(моя машина). Всё хоро­ шо, кроме одного: первая посылка означает, что все машины дребезжат на ходу, а этого мы совсем не подразумевали. Значит, перевод с русского языка на формальный нужно пересмотреть.

Можно, как в примере 3.7 о птице над Днепром, поменять в пе­ реводе первой посылки предикатные символы местами. Тогда получим Wx(Q(x) Е(х)), то есть если машина дребезжит на ходу, то она суще­ ствует. Истинность высказывания сомнений не вызывает. И тем не менее его смысл нас не должен устраивать. Ведь высказывание «Некоторые машины дребезжат на ходу» означает не то, что если машина дребез­ жит на ходу, то она существует, а то, что существуют машины, которые дребезжат на ходу, что имеет совсем другой смысл.

Дело в том, что слово существовать здесь всё-таки не является описанием свойства. Это квантор. На формальном языке первая посылка должна быть записана так: 3xQ(x) (или так: ->Væ-»Q(:r)).

Теперь перейдем ко второй посылке: «Моя машина является неко­ торой машиной». Это высказывание истинно, и очевидно, что если вме­ сто «моей» машины подставить в него любую другую, то есть любой другой элемент универсального множества, то оно останется истинным. Единственное, что сообщает нам это высказывание — что «моя» машина существует.

Итак, получаем: «Существуют машины, которые дребезжат на ходу. Моя машина существует». Из этих посылок никакой вывод не следует21.

У праж нение 3.3. Пусть универсальным множеством является множество всех машин. Определив используемые предикаты, переведи­ те на формальный язык высказывания: «Существуют машины, которые дребезжат на ходу», «Моя машина существует» и «Моя машина дребез­ жит на ходу», считая, что «моя» машина может быть не единственной.

3.3. Логико-математические формулы

Когда, записывая выражение на формальном языке, мы ведём речь о конкретных свойствах математических объектов, в качестве предикат­ ных символов удобнее использовать не буквы латинского алфавита, а об­ щепринятую математическую символику. Например, вместо того, чтобы писать: рассмотрим утверждениеР(х, у), где предикат Р означает равен­ ство чисел х и у, естественней писать просто х = у. Здесь знак равен­ ства «=» используется как предикатный символ, а переменные х и у в со­ ответствии с общепринятой системой обозначений располагаются слева и справа. Такие обозначения предикатов мы будем называть индивиду­ альными предикатными символами. В отличие от заглавных латинских букв, они обозначают не некоторые, а определённые предикаты.

Пусть рассматривается некоторая математическая формула. Утвер­ ждая, что эта формула верна (или справедлива), мы имеем в виду, что она выражает некое свойство набора неких математических объектов (чисел, функций и др.), и мы считаем, что это свойство имеет место. Ино­ гда говорится о справедливости формулы при определённых условиях: некоторые из объектов, о которых идёт речь, обозначены переменными, и утверждается, что при одних наборах значений переменных формула верна, при других — нет. Такие переменные называются параметрами формулы. Из сказанного должно быть ясно, что такие формулы можно рассматривать как определения предикатов, при этом число парамет­ ров формулы равно местности определяемого предиката. Если формула верна при данных значениях параметров, то предикат принимает значе­ ние И, иначе — значение Л. При этом не обязательно все использован­ ные при записи формулы переменные являются её параметрами. Напри-

21Они не вписываются ни в какой из верных модусов Аристотелевых силлогизмов.

мер, неравенство х > у определяет двуместный предикат, а равенство у = /о За;2 dx — одноместный* Действительно, параметрами первой из этих формул являются обе переменные х и у: верна ли формула, зави­ сит от значений обеих из них. А истинность или ложность второй фор­ мулы определяется значением только переменной у, переменная х пара­ метром формулы не является: она используется лишь для того, чтобы определить конкретное число. Тот же самый предикат можно определить равенством у = 1. Таким образом, математические формулы являются индивидуальными предикатными символами.

Определение предиката подразумевает, что задано универсальное множество. В приведённых выше определениях оно должно быть множе­ ством чисел, но другие формулы могут подразумевать нечисловое уни­

версальное множество. Так, формула lim f(x) = 1 определяет одномест-

х—fO

ный предикат, параметр которого — функция /, а формула det X ^ 0 предикат с матричным параметром X,

Перейдём от математических формул к формулировкам математи­ ческих утверждений: теорем, предложений, аксиом, постулатов и т. п. В простейших случаях они записываются в виде математических фор­ мул: например, утверждение о том, что разность квадратов двух чисел равна произведению суммы и разности этих чисел, выражается форму­ лой а22 = (а—Ь)(а+Ь). В более сложных случаях утверждения выра­ жаются несколькими формулами, логически связанными друг с другом. Изученные выше логические операции составляют арсенал средств, за­ мечательный тем, что он позволяет выражать на формальном языке лю­ бые логические конструкции, применяемые в формулировках математи­ ческих утверждений. А это позволяет записывать их, пользуясь исклю­ чительно специальной математической символикой в сочетании с логи­ ческими связками и кванторами. Такие формулировки математических утверждений называются логико-математическими формулами.

Пример 3.9. Пусть U = R. Запишем некоторые математические утверждения в виде логико-математических формул.

• Если два числа неравны, то одно из них больше другого:

(* Ф у) -» ((я > у) V (х < у)).

• Для любого числа найдется большее число:

Vx3y(y > х).

-i(3х\/у(х > у)).

Многочлен х2 + 1 не имеет действительных корней:

Vx(-ix2 + 1 = 0).

• Многочлен х2 1 имеет действительные корни:

Зх(х2 - 1 = 0).

• Многочлен х2 —1 имеет два различных действительных корня:

ЗхЗу((х2- 1 = 0) Л 2- 1 = 0) Л (х ф у)).

Все приведённые логико-математические формулы являются переводами на формальный язык истинных высказываний.

Обратим внимание на первую из приведённых выше формул. В от­ личие от остальных она содержит переменные, но не содержит при­ менённых к ним кванторов. Здесь использован естественный, а потому, как правило, явно не оговариваемый принцип: если не указано, какой именно предмет обозначает переменная, то следует понимать, что она моэгсет обозначать любой элемент универсального множества

Иными словами, кванторы всеобщности, применяемые ко всей формуле целиком, часто не указываются, хотя подразумеваются. Если в рассмат­ риваемой формуле указать эти кванторы явно, она принимает вид

УхУу(х т£у)-> ((я > у) V {х < у)).

3.4. Совершенствование обозначений

Изученных выше логических средств достаточно для изложения лю­ бых классических математических теорий. Но чтобы содержательно рас­ суждать, нужно также уметь формулировать утверждения достаточно точно и ясно, а значит, по возможности наиболее лаконично. В связи с этим рассмотрим несколько способов упрощения записи логико-мате­ матических формул.

Основной способ «сворачивания» мысли — совершенствование по­ нятийного аппарата, разумный подбор используемых понятий и их обо­ значений. На выборе понятий мы останавливаться не будем, поскольку он определяется талантом исследователя и состоянием развиваемой им теории, а формулировку определений проиллюстрируем.

П ример 3.10. Пусть изучаются свойства целых неотрицательных чисел. Таким образом, универсальное множество U = {х € Z \ х ^ 0}. Введём следующие обозначения.

Число х является делителем числа у:

 

X I у ^

3z(zx - у).

Число х — простое:

 

 

Р(х) ^ Vy(y \ х

{у = IV у = я)).

Числа pmq взаимно просты:

 

 

М(р, q) ^ Vd([d | р Л d | q) d = 1).

Пример 3.11. Пользуясь данными в предыдущем примере опреде­ лениями, сформулируем несколько простых теорем теории чисел.

• Не существуют наибольшего простого числа:

Ух(Р(х) 3у(у > х Л Р{у)).

Число, делящееся на взаимно простые числа, делится и на их про­ изведение:

VxVÿiz{{x | z Л у | z Л М (я, у)) - ï x y \ z ) .

• Числа, различающиеся на 1, взаимно просты:

VxVy(\x - у\ = 1 -* М(х}у)),

Можно определять не только новые понятия, но и новые логические связки. Они вводятся выражением сложной логической операции через простые.

Соседние файлы в папке книги