A®B; B®C; C 6 страница
Упростить формулу. 1) удалить логическую связку “®”: F=ù("x(ùP1(х)ÚùP2(х)))Úù($x(P1(х)) &"x(P2(х))); 2) выполнить операцию отрицания формулы: F=$x(ù(ùP1(х)ÚùP2(х))))Ú "x(ùP1(х))Ú$x(ùP2(х))); 3) выполнить операцию отрицания формулы: F=$x(P1(х)&P2(х))Ú"x(ùP1(х))Ú$x(ùP2(х))); 4) применить закон дистрибутивности по квантору $x: F=$x(P1(х)&P2(х)ÚùP2(х))Ú"x(ùP1(х)); 5)применить закон дистрибутивности к формуле: F=$x((P1(х)ÚùP2(х))&(P2(х)ÚùP2(х)))Ú"x(ùP1(х)); 6) применить закон исключенного третьего и свойство констант для логической связки “&”: F=$x((P1(х)ÚùP2(х)))Ú"x(ùP1(х)); 7) применить закон де Моргана: F=$x((P1(х)ÚùP2(х)))Úù$x(P1(х)); 8) применить закон дистрибутивности по квантору $x: F=$x(P1(х))Ú$x(ùP2(х))Úù$x(P1(х)); 9) применить закон исключенного третьего: F=$x(ùP2(х))Úи; 10) применить свойство констант для логической связки “Ú”: F=и, т.е. формула F="x(P1(х)®ùP2(х))®ù($x(P1(х))&"x(P2(х))) является тождественно истиной.
2.1.4 Предваренная нормальная форма Для облегчения анализа сложных суждений формулы алгебры предикатов рекомендуется приводить к нормальной форме. Если в алгебре высказываний приняты две нормальные формы (ДНФ - дизъюнктивная и КНФ -конъюнктивная), то в алгебре предикатов - одна предваренная нормальная форма (ПНФ), суть которой сводится к разделению формулы на две части: кванторную и безкванторную. Для этого все кванторы формулы выносят влево, используя законы и правила алгебры предикатов. В результате этих алгебраических преобразований может быть получена формула вида: Âx1 Âx2 ¼Âxn(M), где ÂÎ{"; $}, а М – матрица формулы. Кванторную часть формулы Âx1 Âx2 ¼Âxnиногда называют префиксом ПНФ. В последующем матрицу формулы преобразуют к виду КНФ, что облегчает механизм по принципу резолюции. Пример: F=$x"y((P21.(х; y)ÚùP2.(х))&P3(y)) формула, приведенная к ПНФ; F="x(P21.(х; y)Ú$x(P2 (х))&$y(P3 (y)) формула, неприведенная к ПНФ. "x(P1.(х)) &"x(P2(x))="x(P1.(х) &P2(x)) слева от знака равенства формула, неприведенная к ПНФ, а справа, равносильная ей формула, но приведенная к ПНФ.
2.1.4.1 Алгоритм приведения формулы к виду ПНФ Шаг 1. Исключить всюду логические связки «и ® по правилам: (F1«F2)=(F1®F2)& (F2®F1)=(ùF1ÚF2)&(ùF2ÚF1); (F1®F2)=(ù F1ÚF2); Шаг 2. Продвинуть отрицание до элементарной формулы по правилам: ù"x(F)=$x(ùF); ù(F1ÚF2)=(ùF1&ùF2); ù$x(F)="x(ùF);. ù(F1&F2)=(ùF1ÚùF2); Шаг 3. Переименовать связанные переменные по правилу: “ найти самое левое вхождение предметной переменной такое, что это вхождение связано некоторым квантором, но существует еще одно вхождение этой же переменной; затем сделать замену связанного вхождения на вхождение новой переменной “, операцию повторять пока возможна замена связанных переменных; Шаг 4. Вынести кванторы влево по законам алгебры логики. Шаг 5. Преобразовать бескванторную матрицу к виду КНФ. Алгоритм приведения матрицы формулы к виду КНФ приведен в алгебре высказываний.
Пример: F=("x(P1 (х)®"y(P2 (y)®P3 (z))))&(ù"y(P24 (x; y)®P5.(z))). Привести формулу к виду ПНФ. l) удалить логические связки “®”: F=("x(ùP1 (х)Ú"y(ù P2 (y)ÚP3 (z))))&(ù"y(ù P24 (x; y)ÚP5.(z))); 2) применить закон де Моргана ù "x(F(x))=$x ù F(x)): F=("x(ùP1.(х)Ú"y(ù P2 (y)ÚP3 (z))))&($y(ù(ù P24 (x; y)ÚP5.(z))); 3) применить закон де Моргана ù(F1ÚF2)=(ùF1&ùF2): F="x(ùP1.(х)Ú"y(ù P2 (y)ÚP3 (z)))&($y(P24 (x; y)&(ùP5.(z)))); 4) переименовать связанную переменную x=w: F="w(ùP1 (w)Ú"y(ù P2 (y)ÚP3 (z)))&($y(P24 (x; y)&(ù P5.(z)))); 5) переименовать связанную переменную y=v: F="w(ùP1 (w)Ú"v(ùP2 (v)ÚP3 (z)))&($y(P24 (x; y)&(ùP5.(z)))); 6) вынести квантор "v влево: F="w"v(ùP1 (w)ÚùP2 (v)ÚP3 (z))&($y(P24 (x; y)&(ùP5.(z)))); 7) вынести квантор $y влево: F="w"v$y(ùP1 (w)ÚùP2 (v)ÚP3 (z))&P24 (x; y)&ùP5.(z). Матрица ПНФ содержит три элементарных дизъюнкта: K={(ùP1 (w)ÚùP2 (v)ÚP3 (z)); P4 (x; y); ùP5.(z)}. Пример: F = "x(P1 (х)«$x(P2 (x)))®"y(P3.(y)). Привести формулу к виду ПНФ. 1) удалить логические связки “«”: F="x((P1 (х)®$x(P2 (x)))&($x(P2 (х))®P1 (x)))®"y(P3.(y)); 2) удалить логические связки “®”: F=ù("x((ùP1.(х)Ú$x(P2 (x)))&(ù$x(P2.(х))ÚP1 (x)))Ú"y(P3.(y)); 3) применить закон ù"x(F(x))=$x(ùF(x)): F=$x(ù((ùP1.(х)Ú$x(P2 (x)))&(ù$x(P2 (х))ÚP1 (x))))Ú"y(P3.(y)); 4) применить закон де Моргана ù(F1&F2)=(ùF1ÚùF2): F=$x((ù(ùP1 (х)Ú$x(P2 (x)))Ú(ù(ù$x(P2.(х))ÚP1 (x))))Ú"y(P3.(y)); 5) применить закон де Моргана ù(F1ÚF2)=(ùF1&ùF2): F=$x((P1 (х)&(ù$x(P2 (x))))Ú($x(P2 (х))&(ùP1 (x))))Ú"y(P3.(y)); 6) применить закон ù$x(F(x))= "x (ùF(x)): F=$x((P1 (х)&"x(ùP2.(x)))Ú($x(P2 (х))&(ùP1 (x))))Ú"y(P3.(y)); 7) переименовать связанную переменную x=z: F=$z((P1.(z)&"x(ù P2 (x)))Ú($x(P2.(х))&(ùP1.(z))))Ú"y(P3.(y)); 8) переименовать связанную переменную x=w: F=$z(P1 (z)&"w(ùP2 (w))Ú$x(P2 (х)&ùP1 (z)))Ú"y(P3.(y)); 9) вынести квантор "w, $x и "y влево: F=$z"w$x"y(P1 (z)&ùP2 (w)ÚP2 (х)&ùP1 (z)ÚP3.(y)); 10) преобразовать матрицу к виду КНФ: F=$z"w$x"y((P1 (z)ÚP2 (х)ÚP3.(y))&(ùP2 (w)ÚP2 (х)ÚP3.(y))& (ùP2 (w)ÚùP1 (z)ÚP3.(y))). Матрица ПНФ содержит три элементарных дизъюнкта: K={(P1 (z)ÚP2 (х)ÚP3.(y)); (ùP2 (w)ÚP2 (х)ÚP3.(y)); (ùP2 (w)ÚùP1 (z)ÚP3.(y))}. Пример: F="x$y(P21 (х; y))&ù($x"y(P22(x; y))). Привести формулу к виду ПНФ. 1) применить закон ù$x(F(x))="x(ùF(x)): F="x$y(P21(х; y))&("xù("y(P22(x; y)))); 2) применить закон ù"x(F(x))= $x(ùF(x)): F="x$y(P21(х; y))&("x$y(ù(P22(x; y)))); 3) вынести квантор "x по закону дистрибутивности: F="x($y(P21(х; y))&$y(ù(P22(x; y)))); 4) переименовать связанную переменную y=v: F="x($z(P21(х; z))&$y(ù(P22(x; y)))); 5) вынести кванторs $z и $y влево: "x$z$y(P21(х; z)&ùP22(x; y)). Матрица ПНФ содержит два элементарных дизъюнкта: K={P21(х; z); ùP22(x; y)}.
Пример: M=P1(z)&ùP2(w)ÚP2(х)&ùP1.(z)ÚP3.(y); 1) по закону дистрибутивности: M=P1.(z)&ùP2 (w)Ú(P2 (х)ÚP3.(y))&(ù P1 (z)Ú(P3.(y)); 2) по закону дистрибутивности: M=(P1.(z)&ùP2.(w)ÚP2.(х)ÚP3.(y))&(P1.(z)&ùP2.(w)ÚùP1.(z)Ú P3.(y)); 3) по закону дистрибутивности: M =(P1.(z)ÚP2.(x)ÚP3.(y))&(ù P2.(w)ÚP2.(x)ÚP3.(y))& (P1.(z)ÚùP1.(z)ÚP3.(y))&(ùP2.(w)ÚùP1.(z)ÚP3.(y)); 4) по закону исключенного третьего: M=(P1.(z)ÚP2.(x)ÚP3.(y))&(ùP2.(w)ÚP2.(x)ÚP3.(y))& &(ù P2.(w)ÚùP1.(z)ÚP3.(y)). Матрица содержит три элементарных дизъюнкта: K={(P1.(z)ÚP2.(x)ÚP3.(y)); (ùP2.(w)ÚP2.(x)ÚP3.(y)); (ù P2.(w)ÚùP1.(z)ÚP3.(y))}. Дизъюнкты матрицы содержат контрарные атомы P1.(z) и ùP1.(z), P2.(x) и ùP2.(w), свободные переменные которых могут быть одинаковыми или разными.
2.1.5 С колемовская стандартная форма Наличие разноименных кванторов усложняет вывод заключения. Поэтому рассмотрим класс формул, содержащих только кванторы всеобщности. Формула F называется " - формулой, если она представлена в ПНФ и содержит только кванторы всеобщности, т.е. F = "x1 "x2 ¼ "xn (M). Для устранения кванторов существования из префикса формулы разработан алгоритм Сколема, вводящий сколемовскую функцию для связывания предметной переменной квантора существования с другими предметными переменными.
2.1.5.1 Алгоритм Сколема Шаг 1. Представить формулу F в виде ПНФ, т.е. F =Âx1Âx2¼Âxn(M), где ÂiÎ{"; $}Шаг 2. Найти в префиксе самый левый квантор существования: a) если квантор находится на первом месте префикса, то вместо переменной, связанной квантором существования, подставить всюду предметную постоянную a, отличную от встречающихся предметных постоянных в матрице формулы, а квантор существования удалить; б) если квантор находится не на первом месте префикса, т.е. "x1 "x2¼"xi-1 $ xi.., то выбрать (i-1)-местный функциональный символ, отличный от функциональных символов матрицы М и выполнить замену предметной переменной xi, связанной квантором существования, на функцию f(x1;x2;¼ xi-1) и квантор существования удалить. Шаг 3. Найти следующий справа квантор существования и перейти к исполнению шага 2, иначе конец. Формулу ПНФ, полученную в результате введения сколемовской функции называют сколемовской стандартной формой формулы (ССФ). Пример: F=$x1"x2"x3$x4"x5$x6 ((P21 (x1; x2) ÚùP32(x3; x4; x5))&P 23(x4; x6)). 1) заменить предметную переменную x1 на постоянную a: F="x2"x3$x4"x5$x6 ((P21. (a; x2)ÚùP32.(x3; x4; x5))&P23 (x4; x6)); 2) заменить предметную переменную x4 на функцию f2 1.(x2;x3): F="x2"x3"x5$x6 ((P21.(a; x2)ÚùP32 (x3; f 21(x2; x3); x5))&P23 (f21(x2; x3); x6)); 4) заменить предметную переменную x6 на функцию f32(x2; x3; x5): F="x2"x3"x5((P21(a; x2)ÚùP32(x3; f21(x2; x3); x5))& &P23(f21(x2; x3);f32(x2; x3; x5))). К={(P21(a; x2)ÚùP32(x3; f21(x2; x3); x5)); P23(f21(x2; x3);f32(x2; x3; x5))}.
2.2. Исчисление предикатов Все методы и результаты исчисления высказываний можно перенести на исчисление предикатов, т. е. каждая теорема и любой вывод исчисления высказываний становятся теоремой и выводом исчисления предикатов, если пропозициональные переменные заменить формулами языка предикатов, причем все вхождения одной и той же переменной везде заменить одной и той же формулой. Каждая схема теоремы и каждая схема вывода также сохраняются, если под знаками пропозициональных переменных принимать формулы языка предикатов. Для того, чтобы формализовать процесс рассуждения в исчислении предикатов, необходимо выделить класс формул, определяющих их эквивалентные преобразования при наличии кванторов, и класс отношений между формулами формирующих последовательную цепь формул от посылок до заключения. Следует отметить, что правила, аксиомы и законы исчисления высказываний есть подмножество правил, аксиом и законов исчисления предикатов. Дополнительные правила, аксиомы и законы определяют возможности введения и удаления кванторов, подстановки и cмeны кванторов.
2.2.1 Интерпретация формул Под интерпретацией следует понимать систему, состоящую из непустого множества V, называемом универсумом, и однозначного отображения на двухэлементное множество {и; л}, которое каждому предикатному символу Pn (t1; t2;¼ tn) ставит в соответствие n - местное отношение на множестве V, каждому функциональному символу f ni (t1; t2;¼ tn) - n-местную операцию на множестве V, каждой предметной постоянной - элемент множества V. При заданной интерпретации предметные переменные рассматриваются как переменные, пробегающие область универсума V, а символам логических и кванторных операций придается их обычный смысл. Например, если универсум задан множеством целых чисел, то для $x $y $z (P2(+(x, y); z)):= “существуют числа x, y, z, для которых z больше суммы чисел х и у", то при х=2, у=3, z=10 имеем двухместную операцию =5 и двухместное отношение между целым числом 10 и значением операции +(2,3)=5. Отображение P2(5;10) на двухэлементное множество дает значение “и”. При х=2, у=3, z=4 имеем +(2,3)=5 и P2(5; 4)=л. На рис. 10 приведена графическая интерпретация этой задачи.
Рис.10 Интерпретация $x $y $z (P2(+(x, y); z)) для x=2, y=3, z=10 или z=4.
Другими словами, интерпретация функциональных символов определяется по значениям функции на универсуме, заданном на множестве термов, входящих аргументами в эту функцию, а интерпретация предикатных символов по отображению на двухэлементное множество {и; л}. Особо следует рассмотреть влияние свободных переменных на интерпретацию формул исчисления предикатов. Формула, не содержащая свободных переменных, называется замкнутой и представляет собой высказывание об элементах, функциях и отношениях, которое принимает значение и или л. На рис. 10 рассмотрен случай замкнутой формулы. Формула, содержащая свободные переменные, называется открытой и представляет собой отношений, заданное на множестве V, Это отношение может быть истинным для одних значений из области интепретации и ложным для других. При такой интерпретации выделяют три класса формул, тождественно истинные, тождественно ложные и выполнимые. Тождественно истинные формулы (или тавтологии) -это особый класс формул исчисления предикатов, которые принимают значение “истины” для всех интерпретаций входящих в нее предметных постоянных, функциональных и предикатных символов; эти формулы играют роль законов и аксиом исчисления предикатов; любые подстановки и замещения в тождественно истинной формуле не изменяют ее значения. Например, для предиката P2(x, y):=”число x меньше числа y” формула "x$y(P2(x, y)):=”для любого целого числа x найдется число y, большее числа x” является тождественно истинной; для любой F(x) формула $x(F(x))«ù"x(ùF(x)):=“формула ”существуют x, для которых F(x)=и”, эквивалентна формуле “не для всех x F(x)=л”” является тождественно истинной. Тождественно ложные формулы (или противоречие)-это особый класс формул исчисления предикатов, которые принимают значение “ложь” для всех интерпретаций входящих в нее предметных постоянных, функциональных и предикатных символов; любые подстановки и замещения в тождественно ложной формуле не изменяют ее значения. Например, для предиката P2(x, y):=”число x меньше числа y” формула $x"y(P2(x, y)):=”существует целое число x, которое меньше любого целого числа y” является тождественно ложной; для любой F(x) формула $x(F(x))&"x(ùF(x)):=”“существует x, для которой F(x)=и”, и “для всех x F(x)=л ”” является тождественно ложной. Выполнимые формулы - это особый класс формул исчисления предикатов, которые принимают значение “истина”в некоторой области, т.е. не для всех интерпретаций входящих в нее предметных постоянных, функциональных и предикатных символов. Например, формула $x(F(x))®ù"x(F(x)) является истинной для одного элемента множества V и ложной для всех элементов этого множества, т.к. $x(F(x))®ù"x(F(x)):=” если существует x, для которого F(x)=и, то не для всех х универсума F(x)=и”.
2.2.2 Правила вывода Вывод заключения из множества посылок записывается так же, как в исчислении высказываний F1;F2;¼Fn|¾ B, где слева от знака “|¾” записывают множество формул посылок и необходимые аксиомы F1;F2;¼Fn, а справа – формулу заключения B. Тогда знак “|¾” означает “верно, что B выводима из F1;F2;¼Fn. Отношение логического вывода эквивалентно теореме |¾F1;F2;¼Fn®B. Другая форма записи: F1; F2;¼Fn B, где над чертой записывают множество посылок и аксиом F1;F2;¼Fn, а под чертой заключение B. Для организации вывода заключения из множества посылок используют правила подстановки и правила заключения.
2.2.2.1 Правила подстановки Если в формулу F(х), содержащей свободную переменную x, выполнить всюду подстановку вместо x терма t, то получим формулу F(t). Этот факт записывают так:
xòtF(x) F(t).
Подстановка некоторого терма t в формулу F(x) вместо ее свободной переменной x состоит в замещении всех свободных вхождений этой переменной данным термом t. Такая подстановка называется правильной. Подстановка будет неправильной если в результате подстановки сколемовской функции свободная переменная окажется в области действия квантора. Например, 1. x1òx2$x3(P21(x1, x3)® P2 (x2)) $x3(P21(x2, x3)® P2 (x2)). Это правильная подстановка, т.к. x1 –свободная переменная.
2. x1òf(x2, t) $x3(P21(x1, x3)® P2 (x2)) $x3(P21(f(x2, t), x3)® P2 (x2)). Это - правильная подстановка, т.к. x1 –свободная переменная. 3. x3òx2$x3(P21(x1, x3)® P2 (x2)) $x3(P21(x1, x2)® P2 (x2)). Это - неправильная подстановка, т.к. x3 –связанная квантором $. 4. x2òx3$x3(P1(x1, x3)® P2 (x2)) $x3(P1(x1, x3)® P2 (x3)). Это - неправильная подстановка, т.к. предикат P2 (x3) попадает в область действия квантора $. Понятие правильной подстановки необходимо, например, для формулировки законов снятия квантора общности "x F(x) F(t)
и введения квантора существования F(t) $xF(x).
2.2.2.2 Правила введения и удаления кванторов Наиболее распространенными правилами являются: 1) Введение квантора общности: “если F1(t)® F2(x) выводимая формула и F1(t) не содержит свободной переменной x, то F1(t)® "x(F2(x)) также выводима”, т.е. (F1(t)® F2(x)) (F1(t)® "x(F2(x))). 2) Удаление квантора общности: "если "x(F(x)) выводимая формула, то вместо x можно выполнить подстановку терма t, свободного от x, и получить также выводимую формулу F (t), т.е.
|