Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Недетерминированный алгоритм решения множества уравнений




Вход: множество уравнений .

Выход: множество уравнений в разрешённой форме .

Действия: пока истинно условие применимости хотя бы одного из перечисленных далее преобразований, выполнять в цикле альтернативы.

Начало цикла:

I. если существует уравнение вида: t = x, где t – не переменная, а x – переменная, то заменить это уравнение на x = t; в противном случае

II. если существует уравнение вида: x = x, где x – переменная, то удалить это уравнение из системы уравнений; в противном случае

III. если существует уравнение вида: s = t, в котором s и t не являются переменными, то если корневые функции термов s и t различны, тогда возвращается «отказ», в противном случае осуществить преобразование редукции термов;

IV. если существует уравнение вида: x = t, такое, что переменная x не входит в другие уравнения системы и терм t отличен от x, то если переменная x входит в t, тогда возвращается «отказ», в противном случае осуществить преобразование элиминации переменной.

Конец цикла. (Возвращается «успех», преобразованная система уравнений будет искомым унификатором.)

Здесь под элиминацией переменной понимается переход от системы уравнений к системе, полученной после подстановки x = t.

Пример

Рассмотрим систему, состоящую из одного уравнения:

((a Ç b) È d) È (a Ç b) = (c È (a Ç b) È (a Ç b)}

1) Применяем случай III, делаем редукцию, получаем: h = {(a Ç b) È d) = c È (a Ç b), a Ç b = a Ç b}.

2) Применяем случай III, получаем: h = {a Ç b = с, d = a Ç b, a Ç b = a Ç b}.

3) Применяем случай III для последнего уравнения и повторяем 2 раза случай II, это приводит к h = {a Ç b = с, d = a Ç b}.

4) Применяем случай I, получаем ответ: h = {c = a Ç b, d = a Ç b}.

Предикаты и отношения

Функция n переменных, принимающая значения 0 и 1, называется n-местным предикатом. Каждому отношению соответствует предикат, равный характеристической функции подмножества R. Ясно, что определение n-местного предиката на множестве А равносильно заданию отношения:

Пусть и – предикаты. Конъюнкцией P и Q называется предикат , дизъюнкцией – предикат , отрицание определяется с помощью предиката .

Для предикатов определяются кванторы существования и всеобщности. Пусть – n-местный предикат. Запись: означает, что существует , для которого =1, запись: означает, что =1 для всех . Аналогично определяются предикаты и , при . В этих случая говорят, что переменная связана квантором. Предикаты и будут зависеть от n-1 переменных. В случае, когда , положим и . Тем самым мы определим предикаты и для любых символов переменных x. Отношение, соответствующее предикату будет проекцией отношения, определяемого P, на область , оно будет равно объединению по всем aÎA отношений, определяемых предикатами . Предикату соответствует отношение, равное пересечению этих отношений. Таким образом,

;

.

Язык логики предикатов

Определим синтаксис языка первого порядка. Алфавит языка первого порядка состоит из логических символов Ú, Ø, $, =, из символов переменных и из нелогических символов. К логическим символам отнесём символы скобок и запятой. В качестве символов переменных будем использовать также x, y, z, u, v и т.д. Логические символы одинаковы для всех языков первого порядка. Нелогическими называются символы операций, символы предикатов и символы констант. Язык первого порядка L задаётся как множество нелогических символов. Если L = Æ, то L называется языком чистого равенства.

Каждому s Î L ставится в соответствие #(s) Î w. Если s – константа, то #(s) = 0. Если R – символ предиката, такого, что #(R) = n, то R называется символом n-местного предиката. Если f – символ операции, и #(f) = n, то f называется символом n-арной операции. Для предикатов и операций число #(R) (соответственно #(f)) больше 0, и оно называется местностью (соответственно арностью). Объединение множеств символов операций и констант составляет множество функциональных символов, позволяющее строить термы языка L на множестве .

К предикатам языка L мы всегда относим бинарный предикат (равенство). Определим формулы языка L.

Атомной формулой языка L называется выражение вида: , где – термы языка L, а R Î L – символ n-местного предиката. В частности, выражение будет атомарной формулой для любых термов языка L. Множество всех формул языка L определяется как наименьшее множество выражений, которое содержит все атомные формулы и удовлетворяет условиям: если q и y – формулы, а x – переменная, то выражения , Øq, $xq – формулы. Формулы q и y называются подформулами формулы , формула q – подформулой формул Øq и $xq.

Будем предполагать, что другие логические связки служат сокращениям:

(q & y) для Ø(Øq Ú Øy),

(q ® y) для (Øq Ú y),

" x q для Ø$ x Øq.

Формула Øx = y обычно записывается как x ¹ y. Примеры формул:

" x $ y P (x, y, x È z), $ x (y £ x ® y = x).

Замена переменных

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

" y (y = z) ® $ z (z < x)

первое вхождение переменной z свободно, а второе – связанное. Переменная x является свободной, а y – связанной. Формальное определение свободных и связанных переменных следующее:

1) все вхождения переменных в атомных формулах свободны;

2) свободные вхождения x в Øq есть в точности свободные вхождения x в q;

3) свободные вхождения x в состоят из свободных вхождений x в q и свободных вхождений x в y;

4) если x и y – различные переменные, то свободные вхождения x в формулу
$ y q соответствуют свободным вхождениям x в формулу q;

5) в формуле $ x q нет свободных вхождений переменной x.

Запись: q(x) указывает на то, что формула q содержит свободные вхождения переменной x. Если c – символ константы, то q(с) означает формулу, полученную заменой всех свободных вхождений x в q на с. Например, если q(x) = $y((y = x) & " x (x = y)), то q(c) = $y((y = c) & " x (x = y).

Мы пишем: для указания того, что q содержит свободные переменные среди . Применяется запись: для обозначения формулы, в которой все свободные вхождения каждой из переменных формулы q заменяются на терм , . Таким образом, q(с) является сокращением обозначения q(х/с).

Формула, не содержащая свободных переменных, называется предложением.

Может случиться, что при замене переменной термом нарушается очевидный принцип, согласно которому замена переменной в равных формулах даёт равные формулы. Например, пусть t = f(y), q(z) = $y(y < z). Тогда после замены получаем: . С другой стороны, q(z) = $x(x < z), и, значит, . Получаем не равные формулы. Поэтому перед подстановкой терма в формулу q(х) связанные переменные, содержащиеся в будем переименовывать на символы, не встречающиеся в .

Другой выход следующий: терм t называется свободным для переменной x в формуле q(х), если никакое свободное вхождение x в q не лежит в области действия кванторов и , где входит в t. В этом случае замена q(х/t) допускается.

При подстановках констант противоречия не возникают.

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

Исчисление предикатов

Для того чтобы определить формальную теорию, связанную с языком первого порядка, введём логические аксиомы и правила вывода языка L. Логические аксиомы подразделяются на 3 группы:

1) Аксиомы предложений: всякая формула q языка L, которая может быт получена из некоторой тавтологии исчисления высказываний K (описанного в разд. 3 с помощью аксиом К1 – К10) в результате подстановки формул языка L на место высказывательных символов, есть логическая аксиома языка L. Всякая такая формула называется тавтологией языка первого порядка L.

2) Аксиомы кванторов

· если q и y – формулы языка L, то имеют место следующие аксиомы:

("x (q ® y)) ® (q ® "x y), если х не входит свободно в q;

("x (q ® y)) ® (($ x q) ® y), если х не входит свободно в y;

· для каждой формулы q(х) и терма t, свободного для x, имеют место кванторные аксиомы:

" х q(х) ® q(t);

q(t) ® $ х q(х).

3) Аксиомы равенства

t = t для любого терма t;

(t = s) & q(t) ® q(s), для любых формул q(х) и термов s, t, для которых х свободна в q, а s и t свободны для х (здесь q(t) означает формулу q(x/t)).

Правила вывода

(MP) Из формул q и q ® y выводится y (Modus Ponens).

(Gen) Из формулы q выводится " x q (правило обобщения).

Таким образом, определена формальная теория, (разд.3.4), в которой есть формулы, аксиомы и правила вывода. Эта теория называется исчислением предикатов L.

Запись: å q означает, что существует вывод формулы q из логических аксиом и формул из множества å. Если Æ q, то q – теорема исчисления предикатов L. Множество å называется противоречивым, если для каждой формулы q языка L существует вывод: å q. В противном случае å называется непротиворечивым. Предложение q называется непротиворечивым, если множество {q} непротиворечиво. Множество формул å называется максимально непротиворечивым, если оно не является собственным подмножеством некоторого непротиворечивого множества.

Легко доказать следующие свойства непротиворечивых множеств:

1) Множество å непротиворечиво, если и только если каждое его конечное подмножество непротиворечиво.

2) Пусть q – предложение. Тогда множество å È {q} противоречиво, если и только если å Øq.

3) Пусть å – максимально непротиворечивое множество. Тогда для любых предложений q и y имеет место:

(i) å q, если и только если q Î å;

(ii) q Ï å, если и только если Øq Î å;

(iii) (q & y) Î å, если и только если q Î å и y Î å;

4) Каждое непротиворечивое множество предложений содержится в некотором максимальном непротиворечивом множестве предложений.

Теорема (о непротиворечивости исчисления предикатов). Нет формул q исчисления предикатов L, для которых существуют выводы: q и Øq.

Доказательство. Каждой формуле q поставим в соответствие формулу h(q) исчисления высказываний K, множество символов P которого состоит из предикатов RÎL. Формулу h(q) определим по индукции:

1) для атомных формул;

2) , ,

,

, для любых формул ;

3) h("xq) = h(q), h($xq) = h(q).

Для всякой логической аксиомы q формула h(q) будет тавтологией в K. Если бы для некоторой формулы q существовали выводы q и Øq, то формулы h(q) и Øh(q) были бы тавтологиями в исчислении высказываний. Поскольку исчисление высказываний непротиворечиво, это невозможно. Стало быть, нет формул q, для которых существуют выводы: q и Øq.





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


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 483 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинать всегда стоит с того, что сеет сомнения. © Борис Стругацкий
==> читать все изречения...

4315 - | 4116 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.