Практическое занятие №4

advertisement
Практическое занятие №4
Тема: Язык логики предикатов. Вычисление предикатов. Операции cand и cor. Кванторы
1.
Язык логики предикатов
Пусть I, J – произвольные множества. Рассмотрим алфавит V = V1V2V3V4V5.
V1 = {x, х1, х2..., у, у1 у2..., z, z1, z2...} - множество символов, называемых переменными;
V2 = {рini | i I, ni  Nat} - множество предикатных символов;
V3 = {fjnj | j  J, nj  Nat} - множество функциональных символов;
V4 = {OR, AND, NOT, , , } - множество логических символов;
V5 = {, ; : …} – вспомогательные символы.
рi(ni), fj(nj) – ni- или nj-местные символы. Нульместные символы называют константами.
Символ  - называется квантором всеобщности, а  - квантором существования.  = V2V3 –
называется сигнатурой. Термами (функциональными выражениями) сигнатуры  называются:
1. переменные или константы;
2. fn(τ1, τ2...τn), где τ1, τ2...τn - термы, а fn  ;
3. никаких термов, кроме построенных в п. п. 1, 2, нет.
2.
Вычисление предикатов
Вычисление значения предиката в некотором смысле подобно вычислению значения
высказывания. Все идентификаторы заменяются своими значениями в данном состоянии,
вычисляются атомарные выражения и заменяются своими значениями (Т или F) и, наконец,
вычисляется получившееся постоянное высказывание.
3.
Операции cand и cor
Любое высказывание имеет значение в любом состоянии, в котором все его
идентификаторы имеют значения. Однако, существует возможность получить выражения, не
имеющие значения в некоторых состояниях. Введем две операции cand и cor (условные AND,
OR). Операндами этих операций могут быть три значения: T, F, U (неопределенность). Их
таблицы истинности:
b
c
b cand c b cor c
b
c b cand c b cor c
b
c
b cand c
b cor c
T
T
T
T
F
T
F
T
U T
U
U
T
F
F
T
F
F
F
F
U F
U
U
T
U
U
T
F
U
F
U
U U
U
U
Способ вычисления: b cand c: if b then с else F; b cor c: if b then T else c.
1. Операции cand и cor некоммутативны.
2. Ассоциативны:
Е1 cand (Е2 cand Е3) = (Е1 cand Е2) cand Е3
Е1 cor (Е2 cor Е3) = Е1 cor (Е2 cor Е3)
3. Дистрибутивны:
Е1 cand (Е2 cor Е3) = (Е1 cand Е2) cor (E1 cand Е3)
Е1 cor (Е2 cand Е3) = (Е1 cor Е2) cand (E1 cor Е3)
4.
Кванторы
Квантор существования (i: m  i < n: Ei).
Квантор всеобщности (i: m  i < n: Ei) = NOT (i: m  i < n: NOT Ei)
Множество значений, удовлетворяющих m  i < n, называется областью значений
квантифицированной переменной i.
Вхождение идентификатора i в предикат называется связанным, если оно находится в
области действия квантора i или i, и свободным в противном случае.
В одном и том же выражении один и тот же идентификатор не может быть как
связанным, так и свободным и идентификатор не может быть связан двумя различными
кванторами.
1
Задания
1. Являются ли термами следующие слова:
2. Вывести для cand и cor законы:
3. Вычислить при x=7, y=2, b=T, m={1, 2, 3, 4}, n={2, 4, 6}, c[1;3]=(2, 4, 6); значение
неопределенного выражения обозначьте через U.
4. Записать, что данный предикат P(x, y):
5. Переведите предложения на язык предикатов:
6. Если fool (p, t) означает: «Можно обманывать человека в течении времени t», то
переведите предложения на язык исчисления предикатов:
Вариант 1.
1. f1(g2(x, y)).
2. Моргана.
3. 1.
mn.
2. m  n AND b.
3. b OR x/(y-2) = 0.
4. b cand x/(y-2) = 0.
5. 1 < y < 3 cand c[y]  m.
4. рефлексивен и симметричен.
5. 1.
значения b[j:k] расположены в возрастающем порядке.
2.
все нули b[0:n-1] находятся в b[j:k].
3.
если в b[0:n-1] находится нуль, то он есть и в b[j:k].
6. можно обманывать некоторых людей некоторое время.
Вариант 2.
1. g2(f1(x), h3(y, z, u)).
2. Исключенного третьего и противоречия.
3. 1.
mn.
2.   m.
3. b cor x/(y-2) = 0.
4. x = 0 AND x/(y-2) = 0.
5. 1 < y < 3 cor c[x]  m.
4. транзитивен.
5. 1.
если х находится в b[j:k], то х+1 находится в b[k+1:n-1].
2.
ни один элемент b[j:k] не нулевой.
3.
либо b[1:j], либо b[j:k] (либо оба) содержат нуль.
6. можно обманывать всех людей некоторое время.
Вариант 3.
1. f1(g2(x), h3(y, z, u)).
2. Упрощения.
3. 1.
xm AND b.
2. {i | im AND in}.
3. b AND x/(y-2) = 0.
4. x = 0 cand x/(y-2) = 0.
5. 1 < x < 3 cor c[y]  m.
4. является отношением эквивалентности.
5. 1.
каждое значение b[j:k] находятся и в b[k+1:n-1].
2.
неверно, что все нули b[0:n-1] находятся в b[j:k].
3.
некоторые элементы b[j:k] нулевые.
6. нельзя обманывать всех людей все время.
2
Download