Программа курса математическая логика и терия алгоритмов

ВВЕДЕНИЕ

Логика – это наука о законах правильного мышления. Это одна из древнейших наук. Основные ее законы были сформулированы еще древнегреческим мыслителем Аристотелем. Идеи о построении логики на математической основе, т.е. по сути математической логики, были высказаны Лейбницем в начале 18-го века.

Современная математическая логика определяется как раздел математики, посвященный изучению математических доказательств и вопросов основания математики. Одна из главных причин широкого распространения математической логики – применение аксиоматического метода в построении различных математических теорий. Важным достижением математической логики является формулировка понятия алгоритмической вычислимости, которое по своей важности приближается к понятию натурального числа. Сегодня результаты математической логики находят свое применение в других отраслях математического знания, а также в программировании, проблемах искусственного интеллекта и других науках.

Данное учебно-практическое пособие соответствует учебной программе курса «Математическая логика и теория алгоритмов» для специальностей «Информационные системы и технологии», «Вычислительные машины, комплексы и сети».

Практикум разделен на три части. В первой содержится программа курса, во второй – краткое изложение теории и решение типовых задач, в третьей – задания для контрольных работ.

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

Студенты заочной формы обучения выполняют первые 10 вариантов контрольных заданий, например, 1-10, 39-49, выбирая задачи соответственно своему шифру.

ПРОГРАММА КУРСА МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕРИЯ АЛГОРИТМОВ

Тема 1. «Совершенные дизъюнктивные нормальные формы, совершенные конъюнктивные нормальные формы».Формулы АВ. Эквивалентность формул АВ. Понятия ДНФ, КНФ, СДНФ, СКНФ.

Тема 2. «Логическое следствие в алгебре высказываний».Понятия логического следствия, противоречивого множества высказываний, тождественно истинного высказывания. Связь между этими понятиями.

Тема 3. «Исчисление высказываний (ИВ). Доказуемые формулы ИВ». Понятие исчисления. Язык ИВ. Определение формулы ИВ. Аксиомы и правила вывода ИВ. Доказуемые и выводимые формулы ИВ. Примеры доказуемых и выводимых формул ИВ.Теорема о дедукции в ИВ. Эквивалентные формулы ИВ.

Тема 4. «Логика предикатов (ЛП). Алгебраические системы. Подсистемы».Понятия сигнатуры, алгебраической системы данной сигнатуры, подсистемы, подсистемы, порожденной множеством. Примеры. Понятия терма данной сигнатуры, значение терма на кортеже в алгебраической системе. Теорема о подсистеме, порожденной множеством.

Тема 5. «Формулы ЛП».Понятие формулы данной сигнатуры. Определение истинности формулы ЛП на кортеже элементов в алгебраической системе. Примеры.

ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ

Совершенные дизъюнктивные нормальные формы, совершенные конъюнктивные нормальные формы

Эквивалентность формул АВ

Как показано в примере 1, различные формулы могут иметь одинаковые таблицы истинности. Так возникает понятие экви­валентности формул.

Формулы φ(x1,…,xn) и ψ(x1,…,xn) называются эквивалентными (φ ≡ ψ), если совпадают их таблицы истинности, т. е. ψ(е1,…,en) = φ(e1,…,en) для любых e1,…,en программа курса математическая логика и терия алгоритмов - student2.ru {0,1}

Пример 3. Построив таблицы истинности формул x→y и y→x, убеждаемся, что (х→y) ≡ (y→x).

Легко видеть, что отношение ≡ является отношением эк­вивалентности, т. е. оно рефлексивно (φ≡φ), симметрично (еслиφ≡ψ, тоψ≡φ),транзитивно (если φ≡ψиψ≡χ, тоφ≡χ).

Отметим основные эквивалентности между формулами АВ:

1) φ∧φ≡φ, φ∨φ≡φ (законы идемпотентности);

2) φ∧ψ≡ψ∧φ, φ∨ψ≡ψ∨φ (законы коммутативности);

3) (φ∧ψ)∧χ≡φ∧(ψ∧χ), (φ∨ψ)∨χ≡φ∨(ψ∨χ) (законы ассоциативности);

4) φ∧(ψ∨χ)≡(φ∧ψ)∨(φ∧χ), φ∨(ψ∧χ)≡(φ∨ψ)∧(φ∨χ) (законы дистрибутивности)

5) (φ∧ψ)≡φ∨ψ, (φ∨ψ)≡φ∧ψ (законы де Моргана);

6) φ≡φ (закон двойного отрицания);

7) φ→ψ≡φ∨ψ;

8) φ∧(φ∨ψ)≡φ, φ∨(φ∧ψ)≡φ (законы поглощения);

9) φ∨(φ∧ψ)≡φ∨ψ, φ∨(φ∧ψ)≡φ∨ψ;

10) φ∧(φ∨ψ)≡φ∧ψ, φ∧(φ∨ψ)≡φ∧ψ.

Формула φ(x1,x2,…,xn) называется выполнимой (опровержимой), если существует такой набор значений переменных, на котором формула принимает значение 1 (соответственно 0) .

Пример 4. Формула х∧у является одновременно выполнимой и опровержимой, поскольку 0∧0=0, а 1∧1=1.

Формула φ(x1,…,xn)называется тождественно истинной, общезначимой или тавтологией (тождественно ложной или противоречием), если эта формула принимает значение 1 (соответственно 0) на всех наборах значений переменных.

Пример 5. Формула x∨x является тождественно истинной, а формула x∧x — тождественно ложной:

x x∨x x∧x

Утверждение 1. Если формула φ1тождественно истинна, φ0 — тождественно ложна, то для любых формул φи ψсправедливы следующие эквивалентности:

1) φ∧ φ1≡φ; φ∨φ0≡φ;

2) φ∨φ1≡φ1; φ∧φ0≡φ0;

3) (φ∧ψ→φ)≡φ1; (φ→φ∨ψ)≡φ1.

Логическое следствие в АВ

Говорят, что формула ψ(х1,...,хп)АВ является логическим следствием формул φ11,...,хп),…,φm1,...,хп) АВ(обозначается программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru ), если для любых программа курса математическая логика и терия алгоритмов - student2.ru из соотношений программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru следует программа курса математическая логика и терия алгоритмов - student2.ru . Формулы программа курса математическая логика и терия алгоритмов - student2.ru называются гипотезами.

Пример 1. Доказать, что φ, φ→ψ, ψ→χ программа курса математическая логика и терия алгоритмов - student2.ru Построим таблицы истинности для каждой формулы:

φ ψ χ φ→ψ ψ→χ

Из таблицы истинности видно, что когда все гипотезы принимают значение равное 1, формулаχтоже принимает значение 1, значит, χявляется логическим следствием, что и требовалось доказать.

Теорема 1.

1. Количество гипотез можно увеличивать.

2. Гипотезы можно переставлять в любом порядке.

3. программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru тогда и только тогда, когда программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru

4. программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru тогда и только тогда, когда формула программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru тождественно истина.

5. программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru тогда и только тогда, когдаформула φ1∧..∧φm∧ψтождественно ложна.

Исчисление высказываний

Пример 2.

1) Термами сигнатуры Σ={+,∙,≤,0} будут, например, 0, x, x+y, z(x+z)+0y, а x+y≤(0+х)xтермом не является.

2) Если Σ={ƒ(3), g(1), h(2)}‑функциональная сигнатура, то выражения h(ƒ(x1, x2, x3), g(x2)), g(ƒ(h(x1, x2), x1, g(x2)) – термы, а h(x1, ƒ(x1, x3))не образует терм.

Пусть t(x1,…, xk)‑терм из T(Σ), все переменные которого содержатся среди x1,…,xk; программа курса математическая логика и терия алгоритмов - student2.ru =(A,Σ)‑ алгебраическая система. Значение терма tпри значениях a1,…,ak программа курса математическая логика и терия алгоритмов - student2.ru Aпеременных x1,…,xk(t(a1,…,ak)) определяется по индукции:

1) если tесть переменная xi(константный символ с), то значение tесть аi(с):

2) если терм tесть ƒ(t1,…, tn),а значения t1,…,tnсуть b1,…,bn, то значение терма tесть ƒ(b1,…, tn).

Теорема 2.Если программа курса математическая логика и терия алгоритмов - student2.ru =(B,Σ)‑ алгебраическая система, Ø≠x программа курса математическая логика и терия алгоритмов - student2.ru B, то носитель подсистемы программа курса математическая логика и терия алгоритмов - student2.ru (Х) равен {t(a1,…,an)׀t программа курса математическая логика и терия алгоритмов - student2.ru T(Σ), a1,…,an программа курса математическая логика и терия алгоритмов - student2.ru X}.

Доказательство.Индукцией по числу шагов построения терма tполучаем, что если t(x1,x2,…,xn) программа курса математическая логика и терия алгоритмов - student2.ru T(Σ) и a1,…,an программа курса математическая логика и терия алгоритмов - student2.ru X, то t(a1,…,an) программа курса математическая логика и терия алгоритмов - student2.ru А для любой подсистемы программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru , содержащей X. Поэтому достаточно показать, что множество Y={t(a1,…,an)׀t программа курса математическая логика и терия алгоритмов - student2.ru T(Σ), a1,…,an программа курса математическая логика и терия алгоритмов - student2.ru X} замкнуто относительно операций системы программа курса математическая логика и терия алгоритмов - student2.ru . Пустьƒ(n)єT(Σ), t1,…,tm программа курса математическая логика и терия алгоритмов - student2.ru T(Σ), bi=t(a1,…,an), i программа курса математическая логика и терия алгоритмов - student2.ru {1,…,m}. Тогдаƒ(b1,…,bm) программа курса математическая логика и терия алгоритмов - student2.ru Y, посколькуƒ(t1,…,tm) программа курса математическая логика и терия алгоритмов - student2.ru T(Σ).

Таким образом, носитель подсистемы программа курса математическая логика и терия алгоритмов - student2.ru (X) состоит из всех элементов, которые получаются при подстановке элементов из Xв термы.

Пример 3.

1) Найдем носитель подсистемы программа курса математическая логика и терия алгоритмов - student2.ru (Х) системы программа курса математическая логика и терия алгоритмов - student2.ru =(Q , ∙) для множества X={1/2}. Так как сигнатура Σ системы В есть {∙}, то Т(Σ)={x1, x1x2, (x1x2)x3, x1(x2x3),…}. По теореме 2 получаем B(X)={1/2, 1/2∙1/2, 1/2∙1/2∙1/2,…}={1/2, 1/8, 1/16,…}={1/2n,n≥1}.

2)Если программа курса математическая логика и терия алгоритмов - student2.ru =(Q\{0}, . , : ) X={1/2}, то, поскольку по срав­нению с предыдущим примером сигнатура дополняется опе­рацией деления, множество В(Х) содержит числа 1/2n:1/2m=2m-n, m, n≥1, т.е. C={2n׀nєZ} программа курса математическая логика и терия алгоритмов - student2.ru B(X).Так как множество С замкнуто относительно операций умножения и деления. т.е. (C, Σ) является подсистемой системы программа курса математическая логика и терия алгоритмов - student2.ru и содержит множество X, то В(Х) программа курса математическая логика и терия алгоритмов - student2.ru С. Следовательно, B(Х)=С.

Пример 4. Построить подсистему алгебраической системы А, порожденную множеством Х.

программа курса математическая логика и терия алгоритмов - student2.ru = программа курса математическая логика и терия алгоритмов - student2.ru Z; - программа курса математическая логика и терия алгоритмов - student2.ru

X={22;-36}.

Решение.Надо определить какую подсистему порождают

22;-36 “-“. Таке как 2=22-8 программа курса математическая логика и терия алгоритмов - student2.ru (-36)-14 программа курса математическая логика и терия алгоритмов - student2.ru 22 и любое число, получаемое из чисел 22, -36 с помощью операции вычитания четное, то

программа курса математическая логика и терия алгоритмов - student2.ru

Пример 5. Построить подсистему алгебраической системы программа курса математическая логика и терия алгоритмов - student2.ru , порожденнуюмножеством Х.

программа курса математическая логика и терия алгоритмов - student2.ru = программа курса математическая логика и терия алгоритмов - student2.ru R\{0};: программа курса математическая логика и терия алгоритмов - student2.ru

Х={ программа курса математическая логика и терия алгоритмов - student2.ru ; программа курса математическая логика и терия алгоритмов - student2.ru }.

Решение.

программа курса математическая логика и терия алгоритмов - student2.ru ={ программа курса математическая логика и терия алгоритмов - student2.ru z программа курса математическая логика и терия алгоритмов - student2.ru }.

Формулы ЛП

Большинство определений этого параграфа будут индуктивными.

Введем понятие атомарной формулы сигнатуры Σ:

1) если t1, t2, программа курса математическая логика и терия алгоритмов - student2.ru T(Σ), то t1=t2‑ атомарная формула:

2) если P(n) программа курса математическая логика и терия алгоритмов - student2.ru Σ‑предикатный символ, t1,t2,…,tn программа курса математическая логика и терия алгоритмов - student2.ru T(Σ), то Р(t1,t2,…,tn)‑ атомарная формула;

3) никаких атомарных формул, кроме построенных по пп. 1, 2, нет.

Формула сигнатуры Σ определяется следующим образом:

1) атомарная формула есть формула;

2) если φ, ψ - формулы, то φ, (φ∧ψ), (φ∨ψ), (φ→ψ), программа курса математическая логика и терия алгоритмов - student2.ru xφ, программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ формулы;

3) никаких формул, кроме построенных по пп. 1, 2, нет.

Символы программа курса математическая логика и терия алгоритмов - student2.ru , программа курса математическая логика и терия алгоритмов - student2.ru использованные в определении, называются соответственно квантором всеобщности и квантором существования и читаются "для любого"и "существует". Все соглашения относительно расстановок скобок, принятые в алгебре высказываний, остаются в силе и для формул логики предикатов. Кроме того, вместо записей программа курса математическая логика и терия алгоритмов - student2.ru x1программа курса математическая логика и терия алгоритмов - student2.ru xnφи программа курса математическая логика и терия алгоритмов - student2.ru x1программа курса математическая логика и терия алгоритмов - student2.ru xnφбудем использовать записи программа курса математическая логика и терия алгоритмов - student2.ru x1,…,xnφи программа курса математическая логика и терия алгоритмов - student2.ru x1,…,xnφ.

Определим подформулы формулы φсигнатуры Σ:

1) если φ‑атомарная формула, то φ‑ее единственная
подформула;

2) если φимеет вид φ1, или программа курса математическая логика и терия алгоритмов - student2.ru1,или программа курса математическая логика и терия алгоритмов - student2.ru1, то подформула формулы φ–этолибо φ, либо подформула формулы φ1;

3) если φимеет вид φ1∧φ2, или φ1∨φ2, или φ1→φ2, то подформула формулы φ‑ это либо φ, либо подформула формулы φ1, либо подформула формулы φ2;

4) других подформул формулы φ, кроме построенных по
пп. 1, 2, 3, нет.

Пример 1. Пусть Σ={F(2),P(1)}, φ= программа курса математическая логика и терия алгоритмов - student2.ru x( программа курса математическая логика и терия алгоритмов - student2.ru y(x=F(z,y))∨P(z))‑ формула сигнатуры Σ. Тогда программа курса математическая логика и терия алгоритмов - student2.ru x( программа курса математическая логика и терия алгоритмов - student2.ru y(x=F(z,y))∨P(z)), программа курса математическая логика и терия алгоритмов - student2.ru y(x=F(z,y))∨P(z), программа курса математическая логика и терия алгоритмов - student2.ru y(x=F(z,y)),x=F(z,y)),P(z)‑все подформулы формулы φ.

Говорят, что вхождение переменной х в формулу φ связано в φ, если оно находится в терме или предикате подформулы формулы φвида программа курса математическая логика и терия алгоритмов - student2.ru xψили программа курса математическая логика и терия алгоритмов - student2.ru xψ; в противном случае это вхождение называется свободным в φ. Переменная х называется свободной (связанной), если некоторое вхождение х в φсвободно (связано).

Пример 2. Пусть S={P1(1),P2(2)}. Рассмотрим формулы:

1) P1(x);

2) Р2(x,y)→ программа курса математическая логика и терия алгоритмов - student2.ru xP1(x);
3) программа курса математическая логика и терия алгоритмов - student2.ru x(P2(x,y)→P1(x)).

Переменная х в первой формуле является свободной, во второй - и свободной, и связанной, в третьей ‑ связанной: переменная у во всех формулах свободна.

Пример 3.

Выписать все подформулы формулыφ, определить свободные и связанные вхождения переменных.

φ программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru x программа курса математическая логика и терия алгоритмов - student2.ru z программа курса математическая логика и терия алгоритмов - student2.ru y(x программа курса математическая логика и терия алгоритмов - student2.ru y+z) программа курса математическая логика и терия алгоритмов - student2.ru ((z∙2=u)→ программа курса математическая логика и терия алгоритмов - student2.ru u(u=x+z)).

Определить все свободные и связанные переменные формулы φ.

Решение. Выпишем подформулыформулы φ.

1) x программа курса математическая логика и терия алгоритмов - student2.ru y+z,

2) программа курса математическая логика и терия алгоритмов - student2.ru y(x программа курса математическая логика и терия алгоритмов - student2.ru y+z),

3) программа курса математическая логика и терия алгоритмов - student2.ru z программа курса математическая логика и терия алгоритмов - student2.ru y(x программа курса математическая логика и терия алгоритмов - student2.ru y+z),

4) программа курса математическая логика и терия алгоритмов - student2.ru x программа курса математическая логика и терия алгоритмов - student2.ru z программа курса математическая логика и терия алгоритмов - student2.ru y(x программа курса математическая логика и терия алгоритмов - student2.ru y+z),

5) z программа курса математическая логика и терия алгоритмов - student2.ru 2=u,

6) u=x+z,

7) программа курса математическая логика и терия алгоритмов - student2.ru u(u=x+z),

8) (z программа курса математическая логика и терия алгоритмов - student2.ru 2=u)→ программа курса математическая логика и терия алгоритмов - student2.ru u(u=x+z),

9) φ.

Поскольку существуют связанные и свободные вхождения переменной х в формулу φ, то хявляется связанной и свободной переменной. Переменныеuи zтоже связанные и свободные. Переменнаяy связанная.

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

Запись φ(x1,…,xn)будет означать, что все свободные переменные формулы φсодержатся в множестве {x1,…, xn}.

Пример 1.

Записать формулу φ(x), истинную в программа курса математическая логика и терия алгоритмов - student2.ru тогда и только тогда, когда х четно.

Решение.

φ(x)= программа курса математическая логика и терия алгоритмов - student2.ru y(x=y+y).

Пример 2.

Записать формулу φ'(x,y,z), истинную в программа курса математическая логика и терия алгоритмов - student2.ru тогда и только тогда, когда z‑наименьшее общее кратное чисел х и y.

Решение.

φ'(x,y,z)=ψ(x,y,z)∧χ(x,y,z),где формула ψ «говорит» о том, что z делится на xи на y, а формула χ "говорит"о том, что zделит все общие кратные х и у, т. е. является наименьшим из всех общих кратных:

ψ= программа курса математическая логика и терия алгоритмов - student2.ru u,∨(z=u∙x∧z=∨х∙y),

χ= программа курса математическая логика и терия алгоритмов - student2.ru w( программа курса математическая логика и терия алгоритмов - student2.ru u,∨(w=u∙x∧w=∨х∙y)→ программа курса математическая логика и терия алгоритмов - student2.ru w1(w=w1∙z)).Итак,

φ'(х,у,z)= программа курса математическая логика и терия алгоритмов - student2.ru u,∨(z=u∙x∧z=х∙y)∧ программа курса математическая логика и терия алгоритмов - student2.ru w( программа курса математическая логика и терия алгоритмов - student2.ru u,∨(w=ux∧w=хy)→ программа курса математическая логика и терия алгоритмов - student2.ru w1(w=w1z)).

Логическое следствие в ЛП

Через программа курса математическая логика и терия алгоритмов - student2.ru обозначим кортеж переменных программа курса математическая логика и терия алгоритмов - student2.ru ; через программа курса математическая логика и терия алгоритмов - student2.ruпрограмма курса математическая логика и терия алгоритмов - student2.ru .

Определение. Пусть φ1( программа курса математическая логика и терия алгоритмов - student2.ru ),…,φn( программа курса математическая логика и терия алгоритмов - student2.ru ), ψ( программа курса математическая логика и терия алгоритмов - student2.ru )– формулы сигнатуры ∑. Формула ψназывается логическим следствием формул φ1,…,φn (обозначается φ1,…,φn╞ ψ), если для любой алгебраической системы программа курса математическая логика и терия алгоритмов - student2.ru сигнатуры ∑

программа курса математическая логика и терия алгоритмов - student2.ruпрограмма курса математическая логика и терия алгоритмов - student2.ru ( φ1( программа курса математическая логика и терия алгоритмов - student2.ru ) программа курса математическая логика и терия алгоритмов - student2.ruпрограмма курса математическая логика и терия алгоритмов - student2.ru φn( программа курса математическая логика и терия алгоритмов - student2.ru )→ψ( программа курса математическая логика и терия алгоритмов - student2.ru )).

Пример 1.

Доказать, что φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ2( программа курса математическая логика и терия алгоритмов - student2.ru ),φ2( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru )╞φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru )(1)

гдеφ1( программа курса математическая логика и терия алгоритмов - student2.ru ),φ2( программа курса математическая логика и терия алгоритмов - student2.ru ),φ3( программа курса математическая логика и терия алгоритмов - student2.ru ) – формулы сигнатуры ∑.

Пусть программа курса математическая логика и терия алгоритмов - student2.ru =‹А, ∑› ‑ произвольная система сигнатуры ∑. Необходимо указать, что программа курса математическая логика и терия алгоритмов - student2.ruпрограмма курса математическая логика и терия алгоритмов - student2.ru ((φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ2( программа курса математическая логика и терия алгоритмов - student2.ru )) программа курса математическая логика и терия алгоритмов - student2.ru ((φ2( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru ))→(φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru ))).

Пусть программа курса математическая логика и терия алгоритмов - student2.ru и программа курса математическая логика и терия алгоритмов - student2.ru ╞ ((φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ2( программа курса математическая логика и терия алгоритмов - student2.ru )) программа курса математическая логика и терия алгоритмов - student2.ru ((φ2( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru )).

Покажем, что программа курса математическая логика и терия алгоритмов - student2.ru ╞(φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru ) (2)

Предположим, что программа курса математическая логика и терия алгоритмов - student2.ru ╞φ1( программа курса математическая логика и терия алгоритмов - student2.ru ). Так как программа курса математическая логика и терия алгоритмов - student2.ru ╞(φ1( программа курса математическая логика и терия алгоритмов - student2.ru )→φ2( программа курса математическая логика и терия алгоритмов - student2.ru ), то программа курса математическая логика и терия алгоритмов - student2.ru ╞φ2( программа курса математическая логика и терия алгоритмов - student2.ru ).

Так как программа курса математическая логика и терия алгоритмов - student2.ru ╞φ2( программа курса математическая логика и терия алгоритмов - student2.ru )→φ3( программа курса математическая логика и терия алгоритмов - student2.ru ), то программа курса математическая логика и терия алгоритмов - student2.ru ╞φ3( программа курса математическая логика и терия алгоритмов - student2.ru ).

Таким образом (2), а, следовательно, и (1), доказано.

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

Зафиксируем некоторую произвольную сигнатуру Σ и определим исчисление предикатов сигнатуры Σ (ИПΣ).

Формулами ИПΣбудут формулы сигнатуры Σ.

Примем следующие соглашения. Пусть x1,…,xn‑ переменные, t1,…,tn‑ термы сигнатуры Σ и φ‑ формула сигнатуры Σ. Запись программа курса математическая логика и терия алгоритмов - student2.ru будет обозначать результат подстановки термов t1,…,tnвместо всех свободных вхождений в φпеременных x1,…,xn соответственно, причем, если в тексте встречается запись программа курса математическая логика и терия алгоритмов - student2.ru , то предполагается, что для всех i={1,...,n} ни одно свободное вхождение в φпеременной xi не входит в подформулу φвида программа курса математическая логика и терия алгоритмов - student2.ru y программа курса математическая логика и терия алгоритмов - student2.ru или программа курса математическая логика и терия алгоритмов - student2.ru y программа курса математическая логика и терия алгоритмов - student2.ru , где у - переменная, входящая в ti.

Аксиомами ИПΣ являются аксиомы вида 1-10 ИВ, а также аксиомы

11) программа курса математическая логика и терия алгоритмов - student2.ru xφ→(φ)tx;

12) (φ)txпрограмма курса математическая логика и терия алгоритмов - student2.ru xφ;

13)x=x;

14)x=y→((φ)xz→(φ)yz).

Формулы 1-14 называются схемами аксиом ИПΣ.

Правила вывода ИПΣ:

1. φ, φ → ψ ,

ψ

2. ψ →φ ,

ψ→ программа курса математическая логика и терия алгоритмов - student2.ru

3. φ → ψ ,

программа курса математическая логика и терия алгоритмов - student2.ru xφ → ψ

где в правилах 2 и 3 переменная x не входит свободно в ψ.

Доказательством в ИПΣформулы φназывается такая последовательность φ0,…,φnформул ИПΣ, что φn программа курса математическая логика и терия алгоритмов - student2.ru φи для каждого i≤n формула φi удовлетворяет одному из следующих условий:

1) φi‑аксиома ИПΣ;

2) φi получается из некоторых φ1,…, φi-1, по одному из правил вывода 1-3.

Если существует доказательство в ИПΣ формулы φ, то φназывается доказуемой в ИПΣ или теоремой ИПΣ (обозначаем ├φ).

Выводом в ИПΣформулы φ из множества формул φ1,…, φm называется такая последовательность ψ1,…,ψkформул ИПΣ, что φn программа курса математическая логика и терия алгоритмов - student2.ru φ и для каждого i≤n формула φi удовлетворяет одному из следующих условий:

1) φi‑аксиома ИПΣ;

2) φi принадлежит Г;

3) φiполучается из некоторых ψ1,…,ψi-1j<i, по одному из правил вывода 1-3, причем при применении правил 2 и 3 переменная х не должна входить ни в одну формулу из Г свободно.

Если существует вывод в ИПΣ формулы φиз множества формул φ1,…, φn, то φназывается выводимой в ИПΣ из Г (обозначаем Г├φ). При этом Г называется множеством гипотез. Очевидно, что доказуемость формулы эквивалентна ее выводимости из пустого множества гипотез. Так же, как в исчислении высказываний, определяется понятие квазивывода. Если Г={ψ1,…,ψn}, то вместо Г├φпишем ψ1,…,ψn├φ.

Формула ψсигнатуры Σ называется тавтологией, если она получается из формулы φисчисления высказываний, доказуемой в исчислении высказываний, путем замены всех ее пропозициональных переменных x1,…,xnна формулы ψ1,…,ψnсигнатуры Σ соответственно. Формулу φпри этом называют основой тавтологии.

Утверждение 1.Любая тавтология φсигнатуры Σ доказуема в ИПΣ.

Следствие 1. Если φи ψ‑ пропозиционально эквивалентные формулы сигнатуры Σ, то φи ψ‑эквивалентные формулы сигнатуры Σ.

В исчислении предикатов ИПΣ справедлива теорема о дедукции.

Теорема 1.(о дедукции).ПустьГ – множество формул ИПΣ,φ,ψ – формулы ИПΣ. Тогда Г,φ├ψ, программа курса математическая логика и терия алгоритмов - student2.ru Г├φ→ψ.

Эквивалентные формулыИП

Определение эквивалентных формул, утверждения 3,4 при замене формул φ, ψ, χИВ на формулы ИПΣ имеют место.

Утверждение 1.В ИПΣ выполнимы все эквивалентности ИВ из теоремы 5.

Доказательство.Выполнимость в ИПΣ всех эквивалентностей исчисления высказываний следует из следствия 3.

Утверждение 2. В ИПΣ выполнимы следующие эквивалентности, в которых предполагается, что переменная ж не входит свободно в формулу ψ, а переменная у не входит в формулу φ:

1) программа курса математическая логика и терия алгоритмов - student2.ru xφ≡ программа курса математическая логика и терия алгоритмов - student2.ru xφ,1\) программа курса математическая логика и терия алгоритмов - student2.ru xφ≡ программа курса математическая логика и терия алгоритмов - student2.ru xφ,

2) программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)≡ программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ, 2\) программа курса математическая логика и терия алгоритмов - student2.ru x(φ∨ψ)≡ программа курса математическая логика и терия алгоритмов - student2.ru xφ∨ψ

3) программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)≡ программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ,3\) программа курса математическая логика и терия алгоритмов - student2.ru x(φ∨ψ)≡ программа курса математическая логика и терия алгоритмов - student2.ru xφ∨ψ,

4) программа курса математическая логика и терия алгоритмов - student2.ru xφ≡ программа курса математическая логика и терия алгоритмов - student2.ru .4\) программа курса математическая логика и терия алгоритмов - student2.ru xφ≡ программа курса математическая логика и терия алгоритмов - student2.ru

Пример. 1.Докажем эквивалентность а). Построим квазивывод формулы программа курса математическая логика и терия алгоритмов - student2.ru xφ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ из Ø:

1. φ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ аксиома 12;

2. программа курса математическая логика и терия алгоритмов - student2.ru xφ→φ‑ к п.1 применили утверждение 3:

3. программа курса математическая логика и терия алгоритмов - student2.ru xφ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ к п.2 применили правило вывода 2.
Построим квазивывод формулы программа курса математическая логика и терия алгоритмов - student2.ru xφ→ программа курса математическая логика и терия алгоритмов - student2.ru xφиз Ø:

1. программа курса математическая логика и терия алгоритмов - student2.ru xφ→φ‑ аксиома 11;

2. φ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ к п.1 применили утверждение 3;

3. программа курса математическая логика и терия алгоритмов - student2.ru xφ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ к п. 2 применили правило вывода 3;

4. программа курса математическая логика и терия алгоритмов - student2.ru xφ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ к п.З применили утверждение 3.

Пример. 2. Докажем эквивалентность г). Построим квазивывод формулы программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψиз Ø:

1. программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→φ∧ψ‑ аксиома 11;

2. φ∧ψ→φ‑ утверждение 1;

3. программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→φ‑ к пп.1,2 применили утверждение 1;

4. программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ к п.4 применили правило вывода 2;

5. φ∧ψ→ψ‑ утверждение 1;

6. программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ψ‑ к пп.1,5 применили утверждение 1;

7. ( программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ программа курса математическая логика и терия алгоритмов - student2.ru xφ)→(( программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ψ)→( программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ))‑ аксиома 5;

8. программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)→ программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ‑ к пп.4.6.7 применили правило вывода 1.

Построим квазивывод формулы программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ → программа курса математическая логика и терия алгоритмов - student2.ru x (φ∧ψ) из Ø:

1. программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→ программа курса математическая логика и терия алгоритмов - student2.ru xφ‑ аксиома 3;

2. программа курса математическая логика и терия алгоритмов - student2.ru xφ→φ‑аксиома 11;

3. программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→φ‑ к пп.1,2 применили утверждение 1;

4. программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→ψ‑аксиома 4;

5. ( программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→φ)→(( программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→ψ)→( программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→φ∧ψ))‑ аксиома 5;

6. программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→φ∧ψ‑ к пп.3,4,5 применили правило вывода 1;

7. программа курса математическая логика и терия алгоритмов - student2.ru xφ∧ψ→ программа курса математическая логика и терия алгоритмов - student2.ru x(φ∧ψ)‑к п.6 применили правило вывода 2.

Теорема 1. (теорема о замене). Если формула φсигнатуры Σ получается из формулы ψсигнатуры Σ заменой некоторого вхождения подформулы ψ'на формулу φ' сигнатуры Σ и φ'≡ψ', то φ≡ψ.

Машины Тьюринга

Машина Тьюринга программа курса математическая логика и терия алгоритмов - student2.ru – это система, работающая в дискретные моменты времени программа курса математическая логика и терия алгоритмов - student2.ru и состоящая из следующих частей:

конечная лента,разбитая на конечное число ячеек.В каждый момент времени программа курса математическая логика и терия алгоритмов - student2.ru в ячейках записаны буквы из некоторого алфавита программа курса математическая логика и терия алгоритмов - student2.ru (где программа курса математическая логика и терия алгоритмов - student2.ru программа курса математическая логика и терия алгоритмов - student2.ru , программа курса математическая логика и терия алгоритмов - student2.ru ), называемого внешним алфавитом машины.Ячейка, в которой записан символ программа курса математическая логика и терия алгоритмов - student2.ru , называется пустой.Если в какой–то момент времени лента имеет программа курса математическая логика и терия алгоритмов - student2.ru ячеек, то состояние ленты полностью описывается словом программа курса математическая логика и терия алгоритмов - student2.ru , где программа курса математическая логика и терия алгоритмов - student2.ru ­– состояние первой (слева) ячейки, программа курса математическая логика и терия алгоритмов - student2.ru – состояние второй ячейки и т.д.

Управляющая головка, представляющая собой устройство, которое может перемещаться вдоль ленты так, что в каждый рассматриваемый момент времени оно находится напротив определенной ячейки и имеет некоторое состояние программа курса математическая логика и терия алгоритмов - student2.ru из конечного множества внутренних состояний программа курса математическая логика и терия алгоритмов - student2.ru , программа курса математическая логика и терия алгоритмов - student2.ru .Состояние

Наши рекомендации