Математическая логика и логическое программирование Лектор: Подымов Владислав Васильевич e-mail: valdus@yandex.ru 2016, весенний семестр Лекция 10 Аксиоматические теории Основные свойства теорий Теория равенства Исчисление предикатов Теорема Гёделя о полноте Вступление: логика и смысл Рассмотрим такое предложение ϕ: 2×2=4 Что про истинность ϕ может сказать логика? I I 2, 4 ∈ Const, ×(2) ∈ Func, =(2) ∈ Pred формула ϕ необщезначима I I значит, существует интерпретация не являющаяся моделью для ϕ формула ϕ выполнима I I так как формула ¬ϕ необщезначима значит, существует модель для ϕ Выполнимость формулы сама по себе может быть недостаточно полезна: I моделью для ϕ, например, будет такая интерпретация: 2 = t, 4 = f, × = ∨, “=00 = “ 6=00 Вступление: логика и смысл Рассмотрим такое предложение ϕ: 2×2=4 Что неплохо было бы узнать про ϕ: I верно ли, что “естественная” арифметическая интерпретация является моделью для ϕ? А как убедиться, что формула выполняется в интерпретации с заданными свойствами? Кроме того, хотелось бы избежать парадоксов, возникающих из-за способа задания интерпретации, например: рассмотрим “естественную” интерпретацию множеств Iset ; правда ли, что Iset |= ∀Ω (∀x (x ∈ / x → x ∈ Ω) → Ω ∈ / Ω)? (это парадокс Рассела) Вступление: логика и смысл Пример Утверждение: ни для какого (строгого) частичного порядка < никогда не выполняются соотношения x < y < x Что утверждается: ϕ : ∀x ∀y ¬(x<y & y<x) Для чего это утверждается: для любой интерпретации, в которой < оценивается как частичный порядок Бинарное отношение < — строгий частичный порядок, если оно антирефлексивно ϕ1 : ∀x ¬x<x и транзитивно ϕ2 : ∀x ∀y ∀z (x < y & y < z → x < z) Тогда утверждение может быть записано так: ϕ1 , ϕ2 |= ϕ Но это же обычное логическое следование; что в нём особенного? Вступление: логика и смысл Пример ϕ1 : ∀x ¬x<x ϕ2 : ∀x ∀y ∀z (x < y & y < z → x < z) ϕ : ∀x ∀y ¬(x<y & y<x) ϕ1 , ϕ2 |= ϕ Предложения в левой части — это аксиомы частичного порядка, и они наделяют смыслом отношение < Формула в правой части — это теорема, которую мы хотим доказать для произвольного частичного порядка < Доказательство теоремы — это обоснование того, что она логически следует из аксиом Доказательство любой другой теоремы ψ(e xn ) в аксиоматической теории частичных порядков — это обоснование соотношения ϕ1 , ϕ2 |= ∀e xn ψ Аксиоматические теории Выберем сигнатуру σ алфавита логики предикатов Теория1 T сигнатуры σ — это множество аксиом: предложений в алфавите с сигнатурой σ Формула ϕ(e xn ) I общезначима в теории T , или T -общезначима, если T |= ∀e xn ϕ I T -общезначимость формулы ϕ будем обозначать так: |= T ϕ I противоречива в теории T , или T -противоречива, если |=T ¬ϕ I выполнима в теории T , если она не является T -противоречивой I T -выполнимость формулы ϕ будем обозначать так2 : ||= T ϕ 1 2 Полное название: аксиоматическая теория первого порядка Имейте в виду, что знак ||=T не общеизвестен: его придумал я, чтобы меньше писать Аксиоматические теории Пример: теория частичных порядков T< Сигнатура состоит только из предикатного символа <(2) ∀x ¬x<x T< = ∀x ∀y ∀z (x < y & y < z → x < z) |=T< ¬(x<y & y<x) (отношение строгого частичного порядка антисимметрично) ||=T< ∃x ∃y x < y I натуральные числа с отношением строгого неравенства — общая модель для T и ∃x ∃y x < y 6|=T< ∃x ∃y x < y I частично упорядоченное множество с одним элементом — модель для T , не являющаяся моделью для ∃x ∃y x < y Аксиоматические теории Проблема общезначимости формул в теории T : для заданного предложения ϕ проверить его T -общезначимость: |=T ϕ? Проблема выполнимости формул в теории T : для заданного предложения ϕ проверить его T -выполнимость: ||=T ϕ? А зачем различать общезначимость формулы в теории (|=T ϕ) и логическое следование (T |= ∀e xn ϕ)? Общие методы проверки логического следования никак не учитывают специфику выбранной теории Чем более общий метод используется, тем менее эффективен он в каждом конкретном случае Сложность и методы анализа T -общезначимости формул зависят от выбора теории Основные свойства теорий А как выглядят “хорошие” теории, для которых имеет смысл решать проблемы общезначимости и выполнимости? Задумаемся о том, как возникают теории Один из способов разработки теории выглядит так: I I рассмотреть интерпретацию I попытаться описать систему аксиом T , в точности определяющую эту интерпретацию А как понять, что система аксиом T адекватно описывает интерпретацию I? I I I |= T если J — интерпретация, отличная от I, то J 6|= T (??) Действительно ли всё так просто? Основные свойства теорий Интерпретации D E I = DI , Const, Func, Pred и J = DJ , Const, Func, Pred изоморфны, если существует взаимно-однозначное отображение τ : DI → DJ , такое что I I I если c ∈ Const, то c = τ (c) если f (n) ∈ Func и d1 , . . . , dn ∈ DI , то f(τ (d1 ), . . . , τ (dn )) = τ (f(d1 , . . . , dn )) (n) если P ∈ Pred и d1 , . . . , dn ∈ DI , то P(τ (d1 ), . . . , τ (dn )) = P(d1 , . . . , dn ) Утверждение. Если I — модель для множества предложений T и интерпретации I, J изоморфны, то J — модель для T Доказательство. Самостоятельно Основные свойства теорий Достаточно ли сказать, что система аксиом адекватно описывает модель, если все её модели изоморфны? Теорема Лёвенгейма-Сколема: если множество предложений имеет модель, то оно имеет модель с конечной или счётно-бесконечной предметной областью Значит, если интерпретация I имеет модель большей мощности, то заведомо невозможно адекватно описать I системой аксиом? Пусть задан параметр α — мощность множества1 Теория T категорична в мощности α, если все модели системы T с предметной областью мощности α изоморфны Категоричная теория адекватно описывает свою модель в заданной мощности 1 α — это кардинальное число, но сейчас не обязательно формально определять это понятие Основные свойства теорий Насколько разумно рассматривать категоричные теории? Представьте себе какую-нибудь важную математическую область (арифметика, геометрия, теория множеств, . . . ) Теперь представьте, что кто-то придумал категоричную теорию, моделью которой является эта область Тогда все задачи из этой области можно решить, используя только аппарат логики? К сожалению, теоретическая трудность задач остаётся; меняется только способ представления этих задач Кроме того, некатегоричные теории также могут быть “осмысленны” (например, теория частичных порядков некатегорична в любой мощности, начиная с 2, но адекватно описывает общие свойства порядков) Основные свойства теорий Как можно определить осмысленность теории? Например, так: теория осмысленна, если, доказав теорему ϕ, мы можем утверждать, что теорема ¬ϕ неверна Теорией может являться I противоречивая система предложений T I I I тогда любая формула является T -общезначимой значит, такая теория абсолютно бессмысленна непротиворечивая система предложений T I оказывается, такая теория всегда осмысленна: Утверждение. Если формула ϕ общезначима в непротиворечивой теории T , то формула ¬ϕ не является T -общезначимой Доказательство. Очевидно Основные свойства теорий Что ещё хорошего можно потребовать от теории T ? Используя специфику теории T , можно научиться решать проблему T -общезначимости формул Если проблема T -общезначимости формул алгоритмически разрешима, то теория T называется разрешимой А если проблема T -общезначимости формул оказалась неразрешимой, что ещё можно сделать, чтобы эту неразрешимость преодолеть? Например, можно ввести ограничения на структуру рассматриваемых формул Основные свойства теорий Проблема общезначимости (выполнимости) формул в бескванторной теории T : для заданного предложения ϕ, не содержащего кванторов, проверить его T -общезначимость (T -выполнимость) Насколько проблемы в теории труднее проблем в соответствующей бескванторной теории? I бескванторное предложение — это почти булева формула I разница только в наличии I I константных и функциональных символов и взаимосвязанном значении этих символов, определяемом аксиомами теории Для некоторых теорий сложность проблемы общезначимости в общем и бескванторном случаях существенно различаются Попробуем описать какую-нибудь несложную теорию и исследовать её основные свойства Теория равенства Рассмотрим сигнатуру, содержащую только один предикатный символ =(2) Попытаемся построить теорию, адекватно описывающую такую интерпретацию I= : I предметная область — произвольное счётное множество I интерпретация символа =(2) — совпадение предметов Какие аксиомы включить в такую теорию? Можно назвать аксиомой любое необходимое свойство равенства, например, I рефлексивность ϕ1 : ∀x (x = x) I симметричность ϕ2 : ∀x ∀y (x = y → y = x) I транзитивность ϕ3 : ∀x ∀y ∀z (x = y & y = z → x = z) Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Множество T= принято называть теорией равенства Исследуем основные свойства теории T= : I I I I адекватность выбранной интерпретации категоричность противоречивость разрешимость Адекватное описание интерпретации I= Утверждение. I= |= T= Доказательство. Очевидно Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Категоричность в счётно-бесконечной мощности Верно ли, что все модели для T= , имеющие счётно-бесконечную предметную область, изоморфны? Утверждение Теория равенства не категорична в счётно-бесконечной мощности Доказательство. Например, такая интерпретация не изоморфна I и является моделью для T= : все предметы равны между собой H Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Категоричность в счётно-бесконечной мощности А можно ли коротко описать все модели теории T= ? Рефлексивность, симметричность и транзитивность — это аксиомы эквивалентности Значит, это в точности те модели, в которых символ =(2) интерпретируется как отношение эквивалентности Противоречивость Утверждение Теория равенства непротиворечива Доказательство. Интерпретация I= — модель для T= H Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Разрешимость Опишем алгоритм проверки T= -общезначимости формул Достаточно показать, как можно проверить T= -выполнимость произвольной формулы ϕ Теорема о предварённой нормальной форме: без ограничения общности считаем, что ϕ — это ПНФ: ϕ = Q1 x1 . . . Qn xn Qz M(e xn , z) Подробно разберём только один случай: Q = ∃ Пусть формула ϕ T= -выполнима: I |= ϕ Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Разрешимость Будем использовать такое сокращение: Q den — перебор наборов en предметов den согласно семантике кванторов Q Например, если Q1 = ∀ и Q2 = ∃, то Q den = “для любого предмета d1 существует предмет d2 , такой что . . . ” Тогда Q den существует предмет d, такой что M[den , d] = true Для каждого выбранного набора предметов den возможен только один из следующих случаев: или d = d1 , . . . , или d = dn , или d 6= d1 , . . . , d 6= dn Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Разрешимость Рассмотрим такую формулу ψ : Q1 x1 . . . Qn xn (M {z/x1 } ∨ · · · ∨ M {z/xn } ∨ M 0 ), где M 0 получается из M так: I I заменим каждый атом z = z на true заменим каждый оставшийся атом, содержащий z, на false Формула ψ T= -выполнима ⇔ формула ϕ T= -выполнима При этом формула ψ содержит на один квантор меньше, чем ϕ Теория равенства ∀x (x = x) ∀x ∀y (x = y → y = x) T= = ∀x ∀y ∀z (x = y & y = z → x = z) Разрешимость Удалив таким образом все кванторы, получим либо формулу true, либо формулу false — их T= -выполнимость и T= невыполнимость очевидны Утверждение Теория равенства разрешима Теория равенства Теория равенства: T= = {ϕ1 , ϕ2 , ϕ3 } ϕ1 : ∀x (x = x) ϕ2 : ∀x ∀y (x = y → y = x) ϕ3 : ∀x ∀y ∀z (x = y & y = z → x = z) T= -общезначимая формула ϕ: ∀x ∀y ∀z (¬x = y & y = z → ¬x = z) ϕ — это теорема, которую можно сформулировать так: если x 6= y и y = z, то x 6= z Обосновав логическое следование ϕ1 , ϕ2 , ϕ3 |= ϕ, мы доказали эту теорему Но где же это доказательство? И что такое “доказательство”? Исчисление предикатов Математическое доказательство — это рассуждение, в ходе которого на основании некоторых утверждений получаются новые утверждения Полученное утверждение считается обоснованным, если оно получено из обоснованных ранее утверждений и безусловно истинных утверждений с использованием законов логики Например: Доказанные утверждения: 1 = 1×(1+1) 2 если 1 + · · · + n = n×(n+1) , то 1 + · · · + n + (n + 1) = 2 (n+1)×((n+1)+1) 2 Закон логики: (математическая индукция) если P(1) и ∀n (P(n) → P(n+1)), то ∀n P(n) Новое доказанное утверждение: ∀n (1 + · · · + n = n×(n+1) ) 2 Исчисление предикатов А как записывать утверждения, и какие законы логики можно применять в доказательстве? Для записи утверждений можно использовать логику предикатов Основные логические законы, обычно формулирующиеся для логики предикатов, — это: I modus ponens A, A → B B I правило обобщения A ∀x A А какие утверждения можно получать с помощью этих правил, и какие утверждения считать безусловно истинными? Исчисление предикатов В широком смысле, безусловно истинные утверждения — это общезначимые формулы С помощью правила modus ponens и правила обобщения из общезначимых формул обязательно будут получаться (почему?) общезначимые формулы Однако если считать, что все общезначимые формулы можно использовать в начале доказательства, то обоснованное получение новых общезначимых формул становится бессмысленным В попытке наделить такой процесс доказательства в логике предикатов смыслом была выделена система схем логических аксиом Исчисление предикатов Каждая схема аксиомы — это почти формула Единственное отличие схемы аксиомы от формулы: на местах атомарных формул стоят пропозициональные символы Схемой аксиомы описывается бесконечное множество аксиом: общезначимых логических формул, получаемых из схемы заменой пропозициональных символов на формулы Как же могут выглядеть схемы аксиом логики предикатов? Исчисление предикатов 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. A → (B → A) (A → (B → C )) → ((A → B) → (A → C )) A&B → A A&B → B A → (B → A & B) A → (A ∨ B) B → (A ∨ B) (A → C ) → ((B → C ) → ((A ∨ B) → C )) ¬A → (A → B) (A → B) → ((A → ¬B) → ¬A) A ∨ ¬A ∀x A → A {x/t} I переменная x должна быть свободна в формуле A для терма t 13. A {x/t} → ∃x A I переменная x должна быть свободна в формуле A для терма t Исчисление предикатов Исчисление предикатов определяется I I I синтаксисом логики предикатов схемами аксиом 1–13 правилами вывода: I I modus ponens правило обобщения Что же доказывается в исчислении предикатов, и как выглядит доказательство? Исчисление предикатов В исчислении предикатов доказывается общезначимость формул Доказательство формализуется как логический вывод: последовательность формул ϕ1 , ϕ2 , . . . , ϕk , где каждая формула ϕi получается I из схемы аксиом подстановкой формул на места пропозициональных символов I I по правилу modus ponens I I (на место одинаковых символов подставляются одинаковые формулы) то есть существуют j, m (j, m < i), такие что ϕm = ϕj → ϕi по правилу обобщения I то есть существует j (j < i), такое что ϕi = ∀x ϕj , x ∈ Var Исчисление предикатов Формула ϕ выводима в исчислении предикатов (` ϕ), если существует логический вывод, оканчивающийся этой формулой Теорема Гёделя о полноте (корректность и полнота исчисления предикатов) `ϕ ⇔ |= ϕ ? Доказательство. Это очень долго и технически сложно, поэтому доказательство не приводится а попробуйте это доказать! И чтобы была мотивация доказывать такую непростую теорему: Того, кто сможет убедить меня, что знает доказательство теоремы Гёделя о полноте от начала и до конца, ждут дополнительные бонусы на экзамене1 1 Подробнее — на странице курса Исчисление предикатов А причём здесь аксиоматические теории? Изначально аксиоматические теории вводились так: I I I рассмотрим исчисление высказываний к логическим аксиомам добавим аксиомы теории (нелогические аксиомы) формула выводима в теории, если она может быть получена при посторении логичекого вывода, дополненного аксиомами теории После добавления аксиом теории T и замены общезначимости на T -общезначимость теорема Гёделя о полноте остаётся справедливой (почему?) Значит, общезначимость и выводимость формулы в теории — это одно и то же Тогда доказательством общезначимости формулы в теории может служить логический вывод этой формулы в теории Исчисление предикатов Итог Теперь вам должно было стать ясным I I что означает известная теорема Гёделя о полноте как выглядит доказательство общезначимости формулы I I почему аксиомы и теории так называются I I (это логический вывод этой формулы из логических аксиом и аксиом теории) (потому что в теории доказываются теоремы, а аксиомы — это безусловно истинные [то есть общезначимые] утверждения, которые всегда можно использовать при построении доказательства) почему в обозначении отношения логического следования |= две горизонтальных линии I (потому что символ ` с одной горизонтальной линией занят для обозначения выводимости формул) Конец лекции 10