Формальные системы. Практикум
.pdfПрактическое занятие 2
ПРЕДИКАТЫ И ОТНОШЕНИЯ
2.1. Теоретическая часть
Пусть М – непустое множество. Под n-местным (или n-арным) предикатом на множестве М понимают всякое предложение, которое содержит п различных переменных, принимающих значения из М, и превращается в высказывание при замене переменных произвольными элементами из М. Под 0-местными предикатами понимаются постоянные высказывания.
Всякое подмножество R M n называется n-арным отношением на М. По п-арному предикату р естественным образом определяется n-арное отношение R на М:
a1, a2 ,..., an M : (a1, a2 ,..., an ) R p(a1, a2 ,..., an ) =И. (2.1)
Бинарное отношение R на множестве М называется рефлексивным, симметричным, антисимметричным, транзитивным, если соответственно выполняются условия:
a M : (a, a) R; |
(2.2) |
a,b M : ((a,b) R) ((b, a) R); |
(2.3) |
a,b M : ((a,b) R) ((b, a) R) (a =b); |
(2.4) |
a,b,c M : ((a,b) R) ((b,c) R) ((a,c) R. |
(2.5) |
Рефлексивное, транзитивное и симметричное отношение на множестве М называется отношением эквивалентности на М. Рефлексивное, транзитивное и антисимметричное отношение на множестве М называется отношением частичного порядка на М. Частичный порядок R на множестве М называется линейным порядком, если любые два элемента множества М сравнимы по R, т.е. (a, b) R или (b, a) R для любых (a,) M.
2.2. Задачи и упражнения
Задача 2-01
Сколько различных n-арных отношений (предикатов) можно определить на m-элементном множестве? В частности, найдите число различных бинарных отношений на множестве из 4 элементов.
11
Задача 2-02
Выпишите отношения, соответствующие унарным предикатам на множестве
М = {3.4,6,7,8}:
a) х – простое число;
б) х – совершенное число (т.е. натуральное число, равное сумме всех своих собственных положительных делителей);
в) х есть степень простого числа; г) х кратно 3; д) х кратно 5;
е) х > 1.
Задача 2-03
На множестве М из задачи 2-02 выпишите бинарные отношения, соответствующие предикатам:
а) a = b; б) a < b;
в) a | b (т.е. «a делит b»);
г) 2a > b2;
д) (a – b) – простое число;
е) (a, b) =1 (т. е. a и b взаимно просты);
ж) a ≠ b.
Задача 2-04
Составьте таблицы истинности для всех предикатов задач 2-02, 2-03.
Задача 2-05
Выпишите тернарные отношения на множестве М из задачи 2-02, соответствующие тернарным предикатам:
а) a <b <c ; б) a +b ≤c ; в) a +b =c ; г) a * b =c ; д) 2a −b =c ;
Задача 2-06
Какие из отношений задачи 2-03 обладают свойством: а) рефлексивности;
12
б) симметричности; в) антисимметричности; г) транзитивности?
Какие из них являются отношениями эквивалентности и какие — отношениями частичного порядка?
Задача 2-07
Из заданных ниже бинарных отношений на множестве целых чисел Z выделить отношения эквивалентности, отношения частичного порядка и отношения линейного порядка:
а) a = b; б) a < b;
в) a ≤ b; г) a ≥ b; д) a | b;
е) (a – b) кратно 5;
ж) a −b ≤5 ;
з) a = b ;
и) a и b имеют один и тот же минимальный простой делитель.
Задача 2-08
Используя предикат «a < b» на множестве Q+ неотрицательных рациональных чисел и логические операции , V, , , над предикатами, записать:
1) бинарные предикаты:
a ≥ b; a > b; a = b; a ≠ b;
2) унарные предикаты:
х = 0, х > 0, х < 0;
3)0-арные предикаты:
а) множество Q+ не ограничено сверху; б) множество Q+ ограничено снизу; в) множество Q+ плотно в себе.
Задача 2-09
Выяснить, какие операции над отношениями соответствуют операциям конъюнкции, дизъюнкции и отрицания над предикатами.
13
Задача 2-10
Через предикаты бинарных отношений R1, R2 на множестве М выразить предикаты произведений R1R2, R2R1, R1R2R1, а также предикат отношения R1−1 , если R1 обратим в полугруппе P(M).
Задача 2-11
Произведением бинарных отношений R1, R2 на множестве М называется бинарное отношение R на М, определяемое условием:
(x, y) R z M : (x, z) R1,(z, y) R2 .
1)Доказать, что множество P(M) всех бинарных отношений на множестве М является полугруппой относительно операции умножения.
2)Выяснить, является ли полугруппа P(М) коммутативной.
3)Показать, что полугруппа P(М) имеет единичный элемент е и нулевой элемент θ, задаваемые условиями:
R P(M ) : R e =e R = R; R θ=θR =θ,
инайти эти элементы.
4)Найти все обратимые элементы полугруппы P(М).
14
Практическое занятие 3
АЛГЕБРА ПРЕДИКАТОВ
3.1. Теоретическая часть
Пусть М – непустое множество, F – конечное множество операций, Р – конечное множество символов предикатов на M и множество
σ = F P не пусто. Алфавит σ называют сигнатурой, а пару (М, σ) – алгебраической системой сигнатуры σ с основным множеством М. Алгебраическую систему с пустым множеством F называют моделью. Алгебраическая система (М, σ) называется конечной, если множество М конечно.
Пусть X – счетное множество переменных (называемых предметными) со значениями из множества М, F0 – алфавит для обозначения 0-арных операций на М, F0 F, Р0– алфавит для обозначения 0-мест-
ных предикатов на М. P0 P .
Определим понятие терма на системе (М, σ).
1)Каждый символ переменной из X или константы из F0 есть терм.
2)Если f – символ n-арной операции из F, и t1, t2, …, tn – термы, то
f(t1, t2, ..., tn) |
(3.1) |
есть терм.
3) Других термов нет.
Теперь определим понятие формулы алгебры предикатов сигнатуры σ, а также свободные и связанные вхождения переменных в формулу.
1)Любой символ 0-местного предиката из Р0 есть формула.
2)Если р – символ n-местного предиката из Р, a t1, t2, …, tn – термы, то p(t1, t2, …, tn) – формула. Все вхождения переменных в p(t1, t2,…, tn) называются свободными.
3)Если А и В – формулы, то
(A) (B),(A) (B),(A)→(B),(A) (3.2)
также являются формулами. В них каждое вхождение переменной является вхождением в формулу А или В и считается таким же (свободным или связанным), каким оно было соответственно в А или В.
15
4)Если А – формула, в которой есть свободное вхождение пере-
менной xi, то хi(A) и хi(А) являются формулами, в которых все вхождения переменных, отличных от xi, называются так же, как и в А, а все вхождения переменной xi называются связанными. При этом формула А называется областью действия записанного перед ней квантора или по переменной xi.
5)Других формул нет.
Формулы, определенные в пунктах 1 и 2, называются элементарными. Формулы, не содержащие свободных вхождений переменных, называются замкнутыми.
Введем понятие подформулы формулы алгебры предикатов.
1)Подформулой элементарной формулы А называется лишь сама формула А.
2)Подформулами любой формулы вида
(A) (B), (A) (B), (A)→(B) (3.3)
называются сама эта формула и все подформулы формул Aи В. 4) Подформулами любой из формул
( |
|
), xi (A), xi (A) |
(3.4) |
A |
называются сама эта формула и все подформулы формулы А.
Если x1, …, xn – суть все переменные, имеющие свободные вхождения в формулу А сигнатуры σ, то при их замене соответственно элементами a1, …, an алгебраической системы (М, σ) получится вполне определенное высказывание системе (М, σ). Его значение («И» или «Л») называют значением формулы А при указанном наборе значений
переменных x1, … , xn.
Формулу А сигнатуры σ называют выполнимой на алгебраической системе (М, σ), если она принимает значение «I» хотя бы при одном наборе значений переменных, имеющих свободные вхождения в A. В противном случае формула называется ложной на (М, σ). Формула А называется истинной на (М, σ), если она принимает значение «И» при любых наборах значений переменных, имеющих свободные вхождения в А. Формула алгебры предикатов сигнатуры σ называется выполнимой, тождественно истинной или тождественно ложной, если она соответственно выполнима хотя бы на одной алгебраической системе, истинна на всех системах или ложна на всех системах сигнатуры σ.
16
Формулы A и В сигнатуры σ называются эквивалентными на алгебраической системе (М, σ), если они принимают одинаковые значения при любом наборе значений переменных, имеющих свободные вхождения в А или в В. Формулы А и В сигнатуры σ называются эквивалентными, если они эквивалентны на любой алгебраической системе сигнатуры σ.
Формула алгебры предикатов называется приведенной, если в ней не используется операция →, а отрицание или не используется совсем, или относится лишь к элементарным подформулам. Предваренной формулой алгебры предикатов называется любая формула вида
∂1xi1∂2 xi2 ...∂k xik A, |
(3.5) |
где ∂1, ∂2, …, ∂k – кванторы, xi1, …, xik – попарно разные переменные из множества X, А – приведенная формула, не содержащая кванторов. Для всякой формулы А алгебры предикатов существует эквивалентная ей предваренная формула.
Пусть х X , А – формула, а t – терм сигнатуры s. Будем говорить, что терм t свободен для переменной х в формуле, если никакое свободное вхождение переменной х в формулу А не лежит в области действия кванторов по переменным, имеющим вхождения в терм t.
Пусть (М, s) и (M1, s) – алгебраические системы сигнатуры s с основными множествами Ми M1 соответственно. Биективное отображение α: М → М1 называется изоморфизмом алгебраической системы
(М, s) на (М1, s), если
α( f (a1, ... , an )) = f (α(a1 ), ... ,α(an )) |
(3.6) |
и |
|
p(b1, ... ,bm )= И p(α(b1 ), ... ,α(bm ))= И |
(3.7) |
для любых предиката р и операции ƒ из s и элементов a1, …, an, b1,
…, bm М.
По известной теореме А. Черча не существует алгоритма, позволяющего распознавать тождественную истинность или ложность произвольно заданной формулы алгебры предикатов. В связи с этим представляется особенно важным известный алгоритм, называемый методом резолюций, позволяющий называть тождественную истинность замкнутой формулы алгебры предикатов в том случае, когда
17
она действительно тождественно истинна. В противном случае алгоритм работает бесконечно. Приведем схему этого алгоритма.
Пусть А – замкнутая формула. Для доказательства ее истинности
достаточно доказать невыполнимость ее отрицания A . Для этого поступаем следующим образом.
1)Находим для A предваренную форму А1.
2)Приводим бескванторную часть формулы А1 к КНФ без одинаковых сомножителей и без повторяющихся элементарных формул в сомножителях.
3)Приводим полученную формулу к стандартной форме Сколема S, т.е. к формуле, не содержащей кванторов $ (путем введения дополнительных функциональных символов). Она также будет предварен-
ной, а ее бескванторная часть будет являться КНФ. т.е. иметь вид С1,
... , Сr, где Сi – дизъюнкции элементарных формул или их отрицаний, называемых общим термином – литералы. Литералы называются противоположными, если один из них является отрицанием друго-
го. Сами формулы Сi называются дизъюнктами. Не теряя общности, можно считать, что все дизъюнкты различны и не содержат равных
или противоположных литералов. Нетрудно доказать, что A невыполнима тогда и только тогда, когда невыполнима S.
4) В последовательности C1, ..., Cr ищем такие дизъзюнкты Ci, Cj, из которых после замен некоторых предметных переменных какимилибо термами получаем дизъюнкты D1, D2 с противоположными литералами. Дизъюнкцию всех других литералов из D1, D2, взятых по одному разу, называют резольвентой дизъюнкцией Ci, Cj. Обозначим ее через Cr+1 и присоединим к последовательности C1, ..., Cr. Далее ту же процедуру применяем к последовательности C1, ..., Cr, Cr+1 и так, пока не получим противоположные литералы. Известно, что такое событие произойдет, если формула невыполнима, т.е. если А тождественно истинна.
Для примера найдем резольвенту дизъюнктов
C1 = P(x) Q( f )) R( y, g(z)), C2 = R(x, y) T ( y) Q(x) . (3.8)
Заменяя в C2 предметную переменную x на терм f(x), получим резольвенту
P(x) |
R( y, g(x)) |
R( f (x), y) |
T ( y) . |
(3.9) |
18
Заменяя в С1 y на x, а в C2 y на g(z), получим еще одну резольвенту
P(x) |
Q( f (x)) T (g(z)) |
Q(x) |
. |
(3.10) |
Заметим, что формулы алгебры высказываний можно рассматривать как формулы алгебры предикатов в сигнатуре, состоящей лишь из 0-местных предикатов Поэтому к ним также применим метод резолюций. При этом алгоритм существенно упрощается. Полностью отпадают пункты 1 и 3, а в пункте 4 не требуется делать замены переменных.
Всюду через n0 обозначается алгебраическая система с основным множеством N0 сигнатурой σ = {+, , 0, 1, =, <}, а через Zm – алгебраическая система с основным множеством {0, 1, ..., m – 1} и с сигнатурой σ1 = {+, , 0, 1, =}, где +, – сложение и умножение чисел с последующей заменой результата остатком от деления на m. Через обозначим модель с основным множеством M точек и прямых некоторой фиксированной плоскости p и сигнатурой σ2 = {T, L, I}, где T – предикат, выделяющий в M точки:
И, если x −точка, |
|
T (x)= |
Л −в противном случае, |
|
|
L – предикат, выделяющий в M прямые:
|
И, если x −прямая, |
L(x)= |
Л −в противном случае, |
|
а I – предикат инцидентности:
И, если x и y имеют общую точку, |
|
I (x, y)= |
Л −в противном случае. |
|
|
(3.11)
(3.12)
(3.13)
В тех случаях, когда f – символ бинарной операции, условимся при определении терма вместо f( t1, t2) писать t1, t2, например, t1 + t2, t1 t2 (или, короче, t1t2). Аналогичные соглашения примем и о бинарных предикатах =, <. В записях формул будем использовать все соглашения о сокращении числа скобок, принятые в алгебре высказываний, и, кроме того, в записях термов операцию умножения будем считать сильнее операции сложения.
19
3.2. Задачи
Задача 3-01
Дайте строгое индуктивное определение значения терма на произвольной алгебраической системе при любых фиксированных значениях содержащихся в его записи предметных переменных. Тем самым с каждым термом будет сопоставлена функция – функция, определенная или заданная термом.
Задача 3-02
Какие функции на n0 могут быть заданы всеми термами; термами, не содержащими 0; не содержащими 1; не содержащими 0 и 1; не содержащими символа умножения?
Задача 3-03
Ответить на те же вопросы, что и в задаче 2, для алгебраической системы Zm, в частности, при простом m.
Задача 3-04
Выяснить, какие из следующих выражений являются формулами алгебры предикатов на алгебраической системе n0:
a) a(a +b < a +1) a(a +b);
б) a((b =1) → a(b < ab)) ;
в) a(a <b) a(a +0 = a) .
Задача 3-05
Определить, какие вхождения предметных переменных являются свободными и какие – связанными в следующих формулах. Какие из указанных формул замкнуты?
a) (a <b) (b <c)→(c = ab);
б) abc((a <b) (b <c)→(c = ab)); в) abc((a <b) (b <c)→(c = ab)); г) (a <b) (b <c)→ ac(c = ab);
д) ab((a <b) (b <c))→ c(c = ab).
20
