Истинностные значения формул


 

Истинность или ложность элементарных высказываний оставляется на совести той области знания, к которой они относятся. Логика позволяет по заданным истинностным значениям элементарных высказываний вычислять истинностные значения построенных из них сложных высказываний.

Прежде, чем переходить к формальным рассуждениям, введём следующие соглашения: вместо значения истина будем писать 1, а вместо значения ложь – 0. Интерпретацией формулыA(x1 , … , xn) назовём любой набор e = (e1 ; … ; en) значений переменных x1 = e1 , … , xn = en (ei Î {0, 1}, 1 £ i £ n).

Теперь любой формуле исчисления высказываний A(x1 , … , xn) от пропозициональных переменных x1 , … , xn можно присвоить истинностное значение A(e) = A(e1 , … , en ) Î {0, 1} при данной интерпретации e = (e1 ; … ; en) по следующим правилам:

(И1): если A(x1 , … , xn) – одна из пропозициональных переменных x1 , … , xn , то её истинностное значение уже определено: в случае A(x1 , … , xn) = xi полагаем A(e) = ei ;

(И2): если A(x1 , … , xn) = (B(x1 , … , xn) w C(x1 , … , xn)) или A(x1 , … , xn) = = , где w – одна из логических связок Ù , Ú , ® , « (т.е. формула A(x1 , … , xn) получена из более простых формул B(x1 , … , xn) и C(x1 , … , xn) с помощью одной из конструкций правила образования формул (Ф2)), а значения B(e) = B(e1 , … , en ) и C(e) = С(e1 , … , en ) уже вычислены, то истинностное значение A(e) = A(e1 , … , en ) приписывается с помощью следующих аксиом логических связок:

B(e) C(e) (e) (B(e) Ù C(e)) (B(e) Ú C(e)) (B(e) ® C(e)) (B(e) « C(e))
0 0 1 0 0 1 1
0 1 1 0 1 1 0
1 0 0 0 1 0 0
1 1 0 1 1 1 1

Следует подчеркнуть, что законы вычисления этих логических связок являются именно аксиомами – они принимаются на веру. Часть из них согласуется со здравым смыслом и интуитивными описаниями значения логических связок. Некоторые значения менее очевидны, и осознание необходимости их использования нуждается в дополнительных аргументах, которые рождаются только в результате работы мысли.

Наиболее трудна для понимания аксиома вычисления импликации, в частности, нуждается в дополнительных аргументах тот факт, что при ложной посылке B(e) значение импликации всегда истинно. По смыслу логическая связка импликация ® означает следование, выводимость. Таким образом, нужно понять, почему из ложного утверждения выводится любое другое. В связи с этим невозможно не упомянуть случай, произошедший с Бертраном Расселом – известным специалистом по математической логике XX в. Он читал лекцию для философов, когда один из них попросил объяснить, почему из ложного утверждения можно вывести всё, что угодно ? Тогда Рассел для примера доказал, что из утверждения 2´2 = 5 следует, что он – Папа Римский. Вот это остроумное доказательство:

2´2 = 5, 2+2 = 2+3, 2 = 3, 1+1 = 2+1, 1 = 2,

Рассел и Папа Римский – их двое, но 2 = 1, так что они – одно лицо, ч.т.д.

Отметим ещё, что значение импликации огромно: любое научное утверждение формулируется в импликативном виде, т.е. в виде импликации A ® B. Например, теорема Пифагора “сумма квадратов катетов равна квадрату гипотенузы” на самом деле означает следующее: если ABC – треугольник с прямым углом C, то AB2 = AC2 + BC2. Точно так же формулируются и утверждения других наук: в них всегда должна присутствовать посылка А и заключение В, а само утверждение означает истинность импликации A ® B. Если посылка А истинна, то истинность импликации означает истинность заключения В. Если же посылка ложна, то импликация всё равно истинна. Поэтому, если вдруг выяснилось, что В ложно, это ещё не значит, что нарушен закон той или иной науки, просто, возможно, посылка А стала ложной, а импликация всё равно истинна.

Как с помощью сформулированных аксиом вычислить значение любой формулы при заданных значениях её пропозициональных переменных ? Значение формулы вычисляется последовательно, начиная со значений пропозициональных переменных в соответствии с построением самой формулы по правилу (Ф2) с применением на каждом шаге описанных выше аксиом.

Примеры: 1. Вычислить значение формулы ( Ú b) при a = 1, b = 0.

Формула ( Ú b) построена из формул и b путём применением конструкции (A Ú B) правила (Ф2).Поэтому вначале нужно вычислить значения формул и b, а затем применить аксиому вычисления дизъюнкции. Значение b = 0 дано, а значение формулы вычисляется из заданного значения формулы a по аксиоме значения отрицания: = 0. Таким образом, по аксиоме значения дизъюнкции получаем в итоге ( Ú b) = (0 Ú 0) = 0.

Следует отметить, что при других наборах значений переменных значение этой же формулы может быть другим. Например, если a = 0 = b, то = 1 и ( Ú b) = (1 Ú 0) = 1.

2. Вычислить значение формулы ( ® c) при a = 1, b = 1, c = 0 .

Опишем процесс построения формулы по правилу (Ф2), одновременно вычисляя на каждом шаге истинностные значения получаемых формул при заданных значениях пропозициональных переменных: a = 1, b = 1, c = 0, (a Ù b) = 1, =0, ( ® c) = (0 ® 0) = 1. Таким образом, искомое значение равно 1.

Для a = 0, b = 0, с = 0 получим (a Ù b) = (0 Ù 0) = 0, =1, ( ® c) = (1® 0) = 0.

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

x1 xn A(x1 , … , xn )
e1 en A(e1 , … , en )

На практике обычно заранее неизвестно, какие именно значения принимают пропозициональные переменные. Поэтому для нахождения всех истинностных значений формулы A(x1 , … , xn ) строят её таблицу истинности, т.е. таблицу указанного слева вида, которая имеет (как будет показано ниже) 2n строк, каждая из которых в первых n столбцах содержит конкретные значения e1 , … , en пропозициональных переменных x1 , … , xn , в последующих столбцах – вычисленные промежуточные значения более простых формул, из которых строится рассматриваемая формула, а в последнем столбце – значение формулы A(x1 , … , xn ) при интерпретации e = (e1 ; … ; en) . При этом в первых n столбцах таблицы истинности должны быть ровно по одному разу перечислены все возможные наборы значений пропозицииональных переменных x1 , … , xn .

Примеры: 1. Строим таблицы истинности формул Ú b и .

a b Ú b   a b a ® b b ® a Ù
0 0 1 1 0 0 1 0 1 0 0
0 1 1 1 0 1 1 0 0 1 0
1 0 0 0 1 0 0 1 1 0 0
1 1 0 1 1 1 1 0 1 0 0

 

a b c 2
0 0 0 0 0 0 0 0 1
0 0 1 0 1 1 1 1 1
0 1 0 0 0 0 1 0 1
0 1 1 0 1 1 1 1 1
1 0 0 0 0 1 0 0 1
1 0 1 0 1 1 1 1 1
1 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1

2. Построим таблицу истинности для формулы ((a Ù b) Ú c) « ((a Ú c) Ù (b Ú c)).

В ней цифрами обозначены формулы: 1 = (a Ù b), 2 = (1Ú c), 3 = (a Ú c), 4= (b Ú c), 5= (3Ù 4), 6 = 2« 5. Такие сокращения удобны для построения таблиц истинности громоздких формул. Использованные в обозначениях числа определяют и порядок вычислений.

Для того чтобы успешно строить таблицы истинности формул, нужно иметь алгоритм перечисления всех возможных наборов значений n её пропозициональных переменных x1 , … , xn . Можно воспользоваться, например, двоичной системой счисления: каждая интерпретация e = (e1 ; … ; en ) отождествляется с двоичным числом из n двоичных цифр e1 , … , en Î {0, 1}, которое в десятичном виде выглядит как e1×2n–1 + … + en×20. Наименьшее число 0 = 0 … 02 = = 0×2n–1+…+0×20 соответствует интерпретации e = (0 ; … ; 0 ), а наибольшее 1 … 12 = 1×2n–1+…+1×20 = 2n–1+2n–2+…+2+1 = = 2n – 1 (по формуле суммирования геометрической прогрессии) – интерпретации e = (1 ; … ; 1). Поэтому для перечисления всех интер­претаций достаточно исполь­зовать двоичные

0 00000 8 01000 16 10000 24 11000
1 00001 9 01001 17 10001 25 11001
2 00010 10 01010 18 10010 26 11010
3 00011 11 01011 19 10011 27 11011
4 00100 12 01100 20 10100 28 11100
5 00101 13 01101 21 10101 29 11101
6 00110 14 01110 22 10110 30 11110
7 00111 15 01111 23 10111 31 11111

коды чисел от 0 до 2n – 1, которые приве­дены в таблице (n = 5).

Здесь использована пя­тиразрядная двоичная запись чисел, но незначащие нули по мере необходимости можно отбросить так же, как это сделано в приводимых ниже примерах перечисления интерпретаций для n = 1, 2, 3, 4.

Примеры:n = 1: , n =2: , n = 3: , n = 4:

Теорема (о правиле перечисления интерпретаций).В таблице, построенной путём выписывания n-значных двоичных кодов всех чисел от 0 до 2n – 1, перечисляются ровно по одному разу всевозможные наборы значений n пропозициональных переменных.

Доказательство. Как было отмечено, каждой интерпретации e = (e1 ; … ; en ) соответствует двоичное число из n двоичных цифр e1 , … , en , которое находится в диапазоне от 0 до 2n – 1. При этом разным интерпретациям будут отвечать и разные числа: если e = (e1 ; … ; en ) ¹ (d1 ; … ; dn) = d, то . Кроме того, в результате такого сопоставления будут перечислены без пропусков все двоичные числа от 0 до 2n – 1 : число появится при рассмотрении интерпретации e = (e1 ; … ; en ).

Теорема доказана.

Следствие (о количественаборов из нулей и единиц длины n).Количество всевозможных наборов длины n из нулей и единиц равно 2n . Столько же и строк в любой таблице истинности формулы от n переменных.

Доказательство очевидно, т.к. количество всевозможных наборов длины n из нулей и единиц равно количеству всевозможных интерпретаций для n пропозициональных переменных, которое (ввиду доказанной теоремы) равно количеству чисел от 0 до 2n – 1, т.е. 2n. Следствие доказано.

Следствие (о количестве подмножеств n-элементного множества).Любое n-эле­ментное множество содержит 2n подмножеств.

Доказательство. Пусть дано множество A = {a1 , … , an }. Каждому его подмножеству X Í A сопоставим набор (e1 ; … ; en ) из нулей и единиц длины n, полностью определяющий это подмножество. Для этого положим ei = 1, если ai Î X, и ei = 0, если ai Ï X (1 £ i £ n). Кстати, именно такой способ интерпретации множеств реализуется в некоторых языках программирования.

Примеры:Для множества A = {a1 , a2 , a3 } подмножеству Х = {a1 , a3} будет соответствовать набор (1; 0; 1), а подмножеству Х = {a2 } – набор (0; 1; 0). Пустому подмножеству (не содержащему элементов) будет сопоставлен набор (0; 0; 0), а всему множеству А – набор (1; 1; 1).

Легко понять, что по любому набору (e1 ; … ; en ) из нулей и единиц длины n однозначно восстанавливается соответствующее ему подмножество: именно в множестве X нужно собрать все те элементы ai , для которых ei = 1 (1 £ i £ n). Поэтому подмножеств в n-элементном множестве будет столько, сколько существует наборов из нулей и единиц длины n, т.е. 2n. Следствие доказано.

Пример. Перечислим все подмножества 4-элементного множества.

Будем перечислять подмножества, выписывая соответствующие им наборы нулей и единиц, построенные по двоичным числам из диапазона от 0 до 24 = 16:

 

набор подмножество набор подмножество
(0; 0; 0; 0) Æ (1; 0; 0; 0) {a1 }
(0; 0; 0; 1) {a4 } (1; 0; 0; 1) {a1 , a4 }
(0; 0; 1; 0) {a3 } (1; 0; 1; 0) {a1 , a3 }
(0; 0; 1; 1) {a3 , a4 } (1; 0; 1; 1) {a1 , a3 , a4 }
(0; 1; 0; 0) {a2 } (1; 1; 0; 0) {a1 , a2 }
(0; 1; 0; 1) {a2 , a4 } (1; 1; 0; 1) {a1 , a2 , a4 }
(0; 1; 1; 0) {a2 , a3 } (1; 1; 1; 0) {a1 , a2 , a3 }
(0; 1; 1; 1) {a2 , a3 , a4 } (1; 1; 1; 1) {a1 , a2 , a3 , a4 }


Дата добавления: 2021-12-14; просмотров: 281;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.019 сек.