Средства, предоставляемые логикой высказываний, оказываются недостаточными для анализа многих математических рассуждений. Например, средствами логики высказываний нельзя установить правильность такого рассуждения: «Всякое целое число является рациональным числом; 25 —целое число, следовательно, 25 —рациональное число». Это объясняется тем, что в логике высказываний простые высказывания, из которых с помощью логических операций строятся сложные, рассматриваются как нерасчленяемые. Поэтому возникает необходимость в построении такой логической системы, средствами которой можно исследовать строение тех высказываний, которые в логике высказываний рассматриваются как элементарные. Такой логической системой является логика предикатов, содержащая как часть логику высказываний.
Вматематике широко используются буквенные обозначения. Различные буквы могут обозначать как один и тот же объект, так и различные объекты. Используемые таким образом буквы называются свободными переменными.
Допустимыми значениямисвободной переменной называются те объекты определенного вида, для обозначения которых употребляется эта переменная. Так, допустимыми значениями свободной переменной могут быть высказывания.
Рассмотрим предложение
1) х+у = 3, содержащее натуральные переменные хну. Это предложение не является высказыванием, так как о нем нельзя сказать, истинно оно или ложно. Оно называется предикатомили условием(на х и у). Приведем другие примеры предложений с переменными:
2) х есть простое число;
3) х есть четное число;
4) х меньше у;
5) х есть общий делитель у, z.
Будем считать, что допустимыми значениями переменных х, у и z являются натуральные числа. Если в предложениях 1)—5) заменить переменные их допустимыми значениями, то получатся высказывания, которые могут быть как истинными, так и ложными. Например,
0 + 1=3;
2 есть простое число;
3 есть четное число;
5 меньше 7;
3 есть общий делитель 6 и 12.
Предложения с переменными, дающие высказывания в результате замены свободных переменных их допустимыми значениями, называются предикатами.
Предложения 1)—5) могут служить примерами предикатов.
По числу входящих свободных переменных различают предикаты одноместные, двухместные, трехместныеи т. д. Предикаты 2) и 3) — одноместные, предикаты 1) и 4) — двухместные, предикат 5) — трехместный. Высказывания будем считать нульместными предикатами.
Заменяя в одноместном предикате {2) переменную натуральными числами, будем получать высказывания:
0 есть простое число;
1 есть простое число;
2 есть простое число;
3 есть простое число и т. д.
Некоторые из них являются истинными. Таким образом, данный одноместный предикат выделяет среди натуральных чисел те, при подстановке которых вместо переменной получается истинное высказывание, и его можно рассматривать как условие на значения свободной переменной, входящей в предикат. В данном случае числа, удовлетворяющие этому условию, — простые.
Одноместный предикат можно рассматривать как условие на объекты данного вида; двухместный — как условие на пары объектов данного вида и т. д.
Предикаты можно задавать различными способами. В алгебре часто рассматривают предикаты, заданные с помощью уравнений, неравенств, а также систем уравнений или неравенств. Например, неравенство х + х-1>0задает одноместный предикат, уравнение х2+у = 0 — двухместный, а система уравнений х + у = 0, х — у + z = 0 — трехместный (х, у, z— рациональные переменные).
Обозначать предикаты будем большими буквами латинского алфавита (возможно, с нижними индексами) с указанием в скобках всех свободных переменных, входящих в этот предикат. Например, А (х,y) —обозначение двухместного предиката, R(х, у, z) — трехместного и Q(х1 ..., хп) — обозначение n-местного предиката.
В дальнейшем мы будем говорить об истинностном значении произвольного предиката на том или ином наборе входящих в него свободных переменных, понимая под этим истинностное значение высказывания, которое получается в результате замены свободных переменных соответствующими им значениями из рассматриваемого набора.
Высказывание, которое получается при подстановке в предикат R(x1..., хп) набора допустимых значений (a1..., ап) вместо его переменных, будем обозначать R(a1..., ап). Если это высказывание истинное (ложное), говорят, что набор значений (a1..., ап) удовлетворяет (не удовлетворяет) предикату R(x1..., хп).
Отметим, что следует различать предикаты, выражающие одно и то же условие, но имеющие переменные с различными допустимыми значениями. Например, предикат, заданный уравнением 2х — 3 = 0, где х — целочисленная переменная, следует отличать от предиката, заданного тем же уравнением, если при этом х рассматривается как рациональная переменная. Первый предикат не принимает значений «истина» ни при каких допустимых значениях х> а второй принимает значение «истина» при допустимом значении переменной х=3/2- Таким образом, при задании предиката нужно указывать область допустимых значений переменных этого предиката.
Предикаты, как и высказывания, принимают значения 1 и 0, поэтому над ними можно производить логические операции, аналогичные операциям логики высказываний.
Начнем с простого частного случая — одноместных предикатов, у которых области допустимых значений переменных совпадают. Образуем из двух предикатов Р (х) и Q (у) новый предикат Р(х) /\Q(y). Это предикат от двух свободных переменных х и у, и истинностное значение его на любом наборе (а, b) допустимых значений переменных определяется как истинностное значение высказывания Р(а)/\Р(b). Аналогично определяются предикаты
Следует различать предикаты: двухместный P(x)/\Q(y) и одноместный P(x)/\Q(x); в первый допустимые значения подставляют вместо свободных переменных х и у независимо друг от друга, а во второй — вместо единственной свободной переменной х.
Над многоместными предикатами аналогично определяются операции: конъюнкция, дизъюнкция, отрицание, импликация и эквиваленция. Рассмотрим, например, случай двухместных предикатов. Пусть Р(х,у), Q(y, z) — два предиката, у которых совпадают области допустимых значений переменных. Тогда Р(х,y)/\Q(y,z) есть трехместный предикат от х, у, z, истинностное значение которого на любом наборе (a, b, с) допустимых значений свободных переменных определяется как значение высказывания P(at b)/\Q(b> с). Заметим, что при рассмотрении операций над предикатами нужно следить, какие переменные обозначены различными буквами, а какие —одинаковыми.
Рассмотрим еще несколько примеров:
Предикат A(x)VB(x, у) принимает значение 1 на наборе значений (a, b), если хотя бы одно из высказываний А (а) и В (а, b) будет истинно, и принимает значение 0, если оба эти высказывания ложны. Аналогично можно установить истинностные значения остальных предикатов на том или ином наборе значений свободных переменных.
Логическое следствие. Равносильные предикаты.
Предикат А(х1, ..., хп) называется тождественно истинным, если для любого набора допустимых значений входящих в него свободных переменных его истинностным значением является 1.
Примером тождественно истинного предиката может служить трехместный предикат, заданный неравенством (x + y)2+Z2≥0 где х, у, z — рациональные переменные.
Пусть A (х1,..., хт) и В (y1 ,..., уп) — предикаты, имеющие одинаковые области допустимых значений свободных переменных.
Предикат В(у1,..., уп) называется логическим следствием предиката А (х1,..., хт), если предикат А(х1,..., хт)→В (у1 ,..., уп) является тождественно истинным.
Запись А(х1,.., xm)|=B(yl ,..., уп) означает, что предикат В(у1,..., уп) есть логическое следствие предиката А(х1,.., xm).
Например, если х — целочисленная переменная, R (х) — обозначение предиката «х — четное число», Р (х) — обозначение предиката «х кратно 4», то R(x) логически следует из Р(х), т. е. P(x)|=R(x). Здесь предикат Р(х) не следует логически из предиката R(x).
Предикат B(zl, ..., zn) называется логическим следствиемпредикатов А1(х1 ,..., хт),…, Ak(y1,..., yl) если предикат
является тождественно истинным. (При этом предполагается, что все свободные переменные рассматриваемых предикатов имеют одни и те же допустимые значения.) Пример. Пусть P(х) — предикат «x— четное число», Q (х) — предикат «х кратно трем», R (х) — предикат «х кратно шести». Тогда Р(х) /\Q(x)|=R(x).
Предикаты A(xl,..., хт) и В(y1,…,yп) называются равносильными (логически эквивалентными), если предикат A(xl,..., хт) ↔В(y1,…,yп) является тождественно истинным. Запись А(х1,..., хт) ≡ В(y1,…,yп)означает, что предикаты A(xl,..., хт) и В(y1,…,yп) равносильны.
Легко видеть, что предикаты A(xl,..., хn) и В(y1,…,yп) равносильны тогда и только тогда, когда A(xl,...,хт) |=B(y1,…,yп) и B(y1,…,yп) |= A(xl,...,хт)
Нетрудно доказать, что предикаты A(xl,..., хт) и В(xl,..., хn) равносильны тогда и только тогда, когда их истинностные значения совпадают на любом наборе допустимых значений переменных х19..., хп. Примером равносильных предикатов могут служить предикаты, заданные уравнениями х3 — у3=0 и 2(x— у)(х2+ ху+y2)=0, где х, у—рациональные переменные.
Предикат А(х1,..., хп) называется тождественно ложным, если его истинностным значением является 0 для любого набора допустимых значений входящих в него свободных переменных. Например, тождественно ложным является предикат х+1=х, где x— целочисленная переменная.
Предикат А(х1,..., хп) называется выполнимым, если существует хотя бы один набор допустимых значений входящих в него свободных переменных, на котором его истинностным значением является 1. Например, выполнимыми являются предикаты «а —простое число», «x делится на у».
Из данных определений вытекает, что тождественно истинный предикат логически следует из любого предиката, а из тождественно ложного предиката логически следует любой предикат.
Любой предикат либо тождественно истинен, либо выполним, либо тождественно ложен.