Математическая логика и логическое программирование

advertisement
Математическая логика
и логическое программирование
Лектор:
Подымов Владислав Васильевич
e-mail:
valdus@yandex.ru
2016, весенний семестр
Лекция 11
Формальная арифметика
Основные свойства теорий: полнота
Теорема Гёделя о неполноте
Арифметика Пресбургера
Напоминание
Лекция 10 начиналась с такого примера:
ϕ : 2·2=4
верно ли, что (естественная) арифметическая интерпретация
является моделью для ϕ?
Напоминание
Рассмотрим более общую задачу:
дано арифметическое высказывание ϕ
верно ли, что (естественная) арифметическая интерпретация
является моделью для ϕ?
Насколько хорошо аппарат аксиоматических теорий подходит
для решения этой задачи?
Попробуем построить теорию, адекватно описывающую
достаточно выразительный фрагмент арифметики
Для этого достаточно
I выбрать сигнатуру языка этого фрагмента
I предложить множество аксиом T , адекватно описывающих
этот фрагмент
I описать алгоритм решения проблемы T -общезначимости
(или T -выполнимости) формул
Формальная арифметика
С какого фрагмента арифметики начать?
Рассмотрим
I натуральные числа (с нолём): N0 = {0, 1, 2, . . .}
I операции сложения (+) и умножения (·) чисел
I отношение равенства чисел (=)
Что можно выразить в логике предикатов над натуральными
числами со сложением, умножением и равенством?
Например:
I ∃z x=y+z
(x≤y)
I ∀y ∀z (x=y · z → y=1 ∨ z=1)
(x — простое число)
I ∀x ∀z (P(x, 0, z) ≡ z=1) &
∀x ∀y ∀z (P(x, y, z) ≡ P(x, y+1, z · x)) →
∀n ∀x ∀y ∀z ∀u ∀v ∀w
(3 ≤ n & P(x, n, u) & P(y, n, v) & P(z, n, w) → ¬u+v=w)
(великая теорема Ферма)
Формальная арифметика
А так ли необходимо иметь в качестве констант все
натуральные числа?
(S(x) = x+1)
1 = 0+1 = S(0)
...
2 = 1+1 = S(1) = S(S(0))
N = S(S(. . . S(0) . . . ))
| {z }
N раз
Остановимся на
такой
сигнатуре (сигнатуре
формальной
арифметики): {0}, +(2) , ·(2) , S(1) , =(2)
Попробуем описать систему аксиом, адекватно описывающую
арифметическую интерпретацию IAR :
I предметной областью являются натуральные числа
I 0 = 0,
S(d1 ) = d1 + 1
I +(d1 , d2 ) = d1 + d2 ,
·(d1 , d2 ) = d1 · d2
I =(d1 , d2 ) = true
⇔ предметы d1 и d2 совпадают
Основные свойства теорий: полнота
Ранее давалось такое определение адекватности теории:
теория адекватно описывает свою модель, если она категорична
в мощности предметной области этой модели
Насколько такое определение разумно?
Утверждение
Пусть теория T в сигнатуре, содержащей предикатный
символ =(2) , имеет модель I со счётно-бесконечной
предметной областью, в которой символ = оценивается
как совпадение предметов. Тогда теория T не
категорична в счётной мощности.
Доказательство. Построим модель J , неизоморфную I,
I продублировав каждый элемент предметной области I и
I объединив каждую пару дубликатов в класс
эквивалентности отношением =(2)
Основные свойства теорий: полнота
Доказательство.
Пусть I = DI , Const, Func, Pred
D
E
Определим интерпретацию J = DJ , Const, Func, Pred так:
I
I
I
DJ = {d 1 | d ∈ DI } ∪ {d 2 | d ∈ DI }
f(d1i1 , . . . , dnin ) = (f(d1 , . . . , dn ))1
(f (n) ∈ Func, d1 , . . . , dn ∈ DI , i1 , . . . , in ∈ {1, 2})
P(d1i1 , . . . , dnin ) = P(d1 , . . . , dn )
(P(n) ∈ Pred)
Интерпретация J
I имеет счётно-бесконечную предметную область (очевидно)
I не изоморфна интерпретации I
(почему?)
I является моделью для T
(в этом несложно убедиться
индукцией по структуре формулы)
H
Основные свойства теорий: полнота
Можно ли ослабить требование категоричности теории в
определении адекватности теории?
Любое предложение либо истинно, либо ложно в I
Значит, для любого предложения ϕ либо I |= ϕ, либо I |= ¬ϕ
Элементарная теория Th(I) интерпретации I — это множество
предложений, истинных в I:
Th(I) = {ϕ | ϕ ∈ CForm, I |= ϕ}
Интерпретации I, J элементарно эквивалентны, если
Th(I) = Th(J )
Если мы заменим требование изоморфизма моделей на их
элементарную эквивалентность, то можно ли утверждать, что
мы ослабили требование адекватности теории?
Основные свойства теорий: полнота
Утверждение
Любые изоморфные интерпретации элементарно
эквивалентны
Доказательство. Это очень просто
Утверждение
Существуют неизоморфные элементарно
эквивалентные интерпретации
Доказательство.
Например, интерпретации I, J в доказательстве
некатегоричности теорий с равенством элементарно
эквивалентны и неизоморфны
H
Основные свойства теорий: полнота
Попробуем дать такое определение адекватности теории:
теория адекватно описывает свою модель I, если все её
модели элементарно эквивалентны
Насколько разумно придерживаться такого определения?
Если для теории решаются стандартные логические задачи
(проблема общезначимости или выполнимости), то неважно,
для какой именно интерпретации она была построена, важно
только то, какие формулы будут истинными, а какие — ложными
Значит, алгоритм решения этих задач для теории, адекватно
описывающей I, будет применим для проверки истинности
высказываний в I
Основные свойства теорий: полнота
Теория T является полной, если для любого предложения ϕ
верно хотя бы одно из соотношений: |=T ϕ,
|=T ¬ϕ
Утверждение
Теория T полна тогда и только тогда, когда все её
модели элементарно эквивалентны
Доказательство.
(⇒): Рассмотрим предложение ϕ
Если |=T ϕ, то для любой модели I теории T верно: I |= ϕ
Иначе |=T ¬ϕ, и для любой модели I теории I |= ¬ϕ
(⇐): Рассмотрим модель I теории T и предложение ϕ
Если I |= ϕ, то для любой модели J теории T верно J |= ϕ, а
значит, |=T ϕ
Иначе I |= ¬ϕ, а значит, для любой модели J теории T верно
H
J |= ¬ϕ, и тогда |=T ¬ϕ
Теорема Гёделя о неполноте
Теперь можно сформулировать, какими свойствами должна
обладать теория в сигнатуре формальной арифметики
{0}, +(2) , ·(2) , S(1) , =(2) ,
адекватно описывающая арифметическую интерпретацию IAR
Эта теория должна
I
быть непротиворечивой
I
I
I
иначе она абсолютно неразумна (лекция 10)
иметь в качестве модели интерпретацию IAR
быть полной
I
иначе теория будет иметь модель с элементарной теорией,
отличной от Th(IAR )
Теорема Гёделя о неполноте
Теорема Гёделя о неполноте
Любая непротиворечивая рекурсивно перечислимая1
теория T в сигнатуре формальной арифметики с
моделью IAR неполна
Набросок доказательства
Докажем теорему для более простого случая: конечная
непротиворечивая теория T с моделью IAR неполна
Для этого запишем на языке формальной арифметики
высказывание о неполноте теории T
Арифметика оперирует натуральными числами, а значит, начать
можно с сопоставления каждой формуле натурального числа2
1
2
Существует алгоритм, перечисляющий аксиомы одну за одной;
останавливаться алгоритм не обязан
То есть с описания нумерации Гёделя
Теорема Гёделя о неполноте
Набросок доказательства
Начнём с того, что сопоставим натуральное число каждому
символу алфавита в сигнатуре формальной арифметики:
I
I
I
I
g (0) = 1, g (+) = 2, g (·) = 3, g (=) = 4
g (() = 5, g (,) = 6, g ()) = 7
g (&) = 8, g (∨) = 9, g (→) = 10, g (¬) = 11,
g (∀) = 12, g (∃) = 13
g (x1 ) = 14, g (x2 ) = 15, g (x3 ) = 16, . . .
Теорема Гёделя о неполноте
Набросок доказательства
Сопоставим формуле ϕ натуральное число (код формулы):
g (ϕ[1])
g (ϕ[2])
g (ϕ[|ϕ|])
g (ϕ) = p1
· p2
· · · · · p|ϕ|
Здесь
I pi — i-е простое число
I ϕ[i] — i-й символ в записи формулы ϕ
I |ϕ| — размер записи формулы ϕ
Утверждение
Существует алгоритм, проверяющий,
натуральное число i кодом формулы
является
(здесь и дальше “алгоритм” — это машина Тьюринга,
с алфавитом ленты {0, 1, Λ},
работающая с двоичными кодами чисел)
ли
Теорема Гёделя о неполноте
Набросок доказательства
Используя тот же приём со степенями простых чисел, можно
определить код
I
I
I
конечной последовательности формул
семантической таблицы
табличного вывода
В теореме полноты табличного вывода был описан алгоритм
построения успешного вывода Tab(ϕ) для таблицы h|ϕi, где ϕ
— произвольная общезначимая формула
Утверждение
Существует алгоритм, останавливающийся тогда и
только тогда, когда на вход подан код какой-либо
общезначимой формулы ϕ, и выдающий в ответ код
табличного вывода Tab(ϕ)
Теорема Гёделя о неполноте
Набросок доказательства
А как существование алгоритма, реализующего метод
семантических таблиц в таком странном кодировании, поможет
составить высказывание об арифметике на языке арифметики?
Вычислимая функция — это отображение f : N0 → N0 , такое что
существует реализующий его алгоритм
(предполагаю, что вам это понятие вычислимой функции
знакомо, поэтому более строго его не формулирую)
График функции f : N0 → N0 — это множество всех пар
натуральных чисел (i, j), таких что значение f (i) определно и
равно j
Теорема Гёделя о неполноте
Набросок доказательства
Отношение R ⊆ Nn0 арифметизуемо, если существует формула
ϕ(e
xn ) в сигнатуре формальной арифметики, такая что
IAR |= ϕ(e
xn )[den ]
⇔
(den ) ∈ R
Утверждение
График любой вычислимой функции арифметизуем
(это утверждение непростое,
но доказывать его слишком долго и сложно)
Как следствие, арифметизуемым будет график такой функции ft :

 g (Inf (g −1 (i))), если i — код
общезначимой формулы
ft (i) =

не определено, иначе
Теорема Гёделя о неполноте
Набросок доказательства
Это означает, что существует формула Proof (x, y), такая что
IAR |= Proof (x, y)[d1 , d2 ]
⇔
d2 — код табличного вывода Inf (ϕ),
где ϕ — формула, кодом которой является число d1
Рассмотрим такую формулу
Val(x): ∃y (Proof (x, y) ∨ Proof (neg (x), y))
(neg (x) — терм, описывающий код формулы ¬g −1 (x))
Что означает формула Val?
IAR |= Val[d]
⇔
d — код общезначимой формулы
Мы выразили истинность предложений арифметики на языке
самой арифметики, а значит, можем попытаться формализовать
и парадокс лжеца
Теорема Гёделя о неполноте
Набросок доказательства
Лемма о диагонали
Для любой арифметической формулы ϕ(x) существует
арифметическое предложение ψ, такое что
IAR |= (ψ ≡ ϕ(x))[g (ψ)]
(это второе нетривиальное утверждение,
которое приведено без доказательства)
Применим лемму о диагонали к формуле ϕ = ¬Val:
Существует предложение ϕ, такое что IAR |= (ϕ ≡ ¬Val(x))[g (ϕ)]
И что же это означает?
Предложение ϕ истинно ⇔ оно ложно
H
Арифметика Пресбургера
А есть ли нетривиальный фрагмент арифметики, который
всё-таки можно адекватно описать системой аксиом?
Исключим из сигнатуры формальной арифметики умножение:
σ = {0}, +(2) , S(1) , =(2)
Прежде чем записать полную систему аксиом, описывающую
арифметику со сложением, попробуем сформулировать аксиомы,
адекватно описывающие предикат =(2)
Аксиомы равенства:
I
I
I
I
I
∀x x = x
∀x ∀y (x = y → y = x)
∀x ∀y ∀z (x = y & y = z → y = z)
∀x ∀y ∀u ∀v (x = u & y = v → x + y = u + v)
∀x ∀y (x = y → S(x) = S(y))
Арифметика Пресбургера
А есть ли нетривиальный фрагмент арифметики, который
всё-таки можно адекватно описать системой аксиом?
Исключим из сигнатуры формальной арифметики умножение:
σ = {0}, +(2) , S(1) , =(2)
Арифметика Пресбургера описывается следующей системой
аксиом TP в сигнатуре σ:
I
I
I
I
I
I
аксиомы равенства
∀x ¬(S(x) = 0)
∀x ∀y (S(x) = S(y) → x = y)
∀x x + 0 = x
∀x ∀y (x + S(y) = S(x + y))
ϕ {x/0} & ∀x (ϕ → ϕ {x/S(x)}) → ∀x ϕ
I
это схема аксиом математической индукции
Арифметика Пресбургера
Утверждение
Арифметическая интерпретация является моделью для
TP
Утверждение
Теория TP непротиворечива
Доказательство. Это просто
Ненадолго оставим в стороне полноту теории TP и исследуем
вопрос её разрешимости
Утверждение
Теория TP разрешима
Арифметика Пресбургера
Доказательство разрешимости.
Будем для краткости писать
I αx вместо x + · · · + x
| {z }
α
I
α вместо S(. . . S(0) . . . )
| {z }
I
t1 (e
xn ) ≡α t2 (e
xn ) вместо ∃y t1 = t2 + αy
α
Можно легко убедиться, что
I |=T α = β
⇔ α=β
P
I |=T α ≡γ β ⇔ числа α и β равны по модулю γ
P
(почему?)
Таким образом, если все кванторы формулы ϕ содержатся
только в подформулах вида t1 ≡α t2 , то можно легко проверить
соотношение |=TP ϕ
Арифметика Пресбургера
Доказательство разрешимости.
Будем считать подформулы вида t1 ≡α t2 атомами наряду с
“настоящими” атомами вида t1 = t2
Проверим соотношение |=TP ϕ так:
I замкнём все свободные переменные: |=T ∀e
xn ϕ
P
I один за одним удалим из формулы все кванторы, кроме
содержащихся в атомах, при этом
I
I
не добавляя свободных переменных и
не изменяя смысла формулы
(определяемого аксиомами TP )
получившаяся формула — это набор атомов, соединённых
связками ¬, ∨, &, →, и её истинность проверить легко
∀x ψ ≈ ¬∃x ¬ψ, а значит, достаточно показать, как удалить
квантор ∃ из формулы ∃x ψ(x, e
xn ), где подформула ψ содержит
кванторы только в атомах
I
Арифметика Пресбургера
Доказательство разрешимости.
∃x ψ(x, e
xn )
Используя законы булевой алгебры, можно преобразовать
формулу ψ к дизъюнктивной нормальной форме:
∃x (K1 (x, e
xn ) ∨ · · · ∨ Km (x, e
xn )),
где Ki — это конъюнкция литер
(1 ≤ i ≤ m)
Используя правила работы с кванторами, можно внести внешний
квантор ∃ под все операции ∨:
∃x K1 (x, e
xn ) ∨ · · · ∨ ∃x Km (x, e
xn )
Осталось показать, как удалить внешний квантор ∃ из формулы
∃x K (x, e
xn ),
где K — конъюнкция литер
Подробно разберём только такой случай: K = L1 & L2
Рассуждения легко переносятся с этого случая на общий
Арифметика Пресбургера
Доказательство разрешимости.
Забудем на время об аксиомах TP и будем расценивать атомы
как высказывания арифметики
Всего возможны два типа равенств (атомов):
αx + t1 = βx + t2 ,
αx + t1 ≡γ βx + t2
Каждое из них можно привести к виду, в котором переменная x
будет стоять только в левой части:
α0 x + r1 = r2 ,
α0 x + r1 ≡γ r2
Значит, конъюнкция двух литер — это система, включающая два
(не)равенства только такого вида:
αx + t1 = t2
αx + t1 ≡γ t2
αx + t1 6= t2
αx + t1 6≡γ t2
Осталось показать, как удалить переменную x для каждой
системы таких (не)равенств
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 6≡β t2
Случай 1:
...
Эту систему можно заменить на совокупность
(дизъюнкцию конъюнкций)
 αx + t1 ≡β t2 + 1

...

 ...
 
αx + t1 ≡β t2 + (β − 1)
...
систем
Значит, достаточно рассмотреть системы, в которых не
встречается неравенство вида 6≡β
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 6= t2
Случай 2:
βx + t3 6= t4
Для любых значений t1 , t2 , t3 , t4 можно подобрать такое значение
x, чтобы неравенства были выполнены
Значит, эту систему можно заменить на
0=0
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 = t2
Случай 3:
βx + t3 = t4
αx + t1 = t2
αβx + αt3 = αt4
αx + t1 = t2
αβx + αt3 + βt2 = αβx + αt4 + βt1
αx + t1 = t2
αt3 + βt2 = αt4 + βt1
t1 ≡α t2
αt3 + βt2 = αt4 + βt1
Множество решений нижней системы совпадает с множеством
решений верхней системы в проекции на переменные e
xn
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 = t2
Случай 4:
βx + t3 6= t4
Те же действия, что и в случае 3, приводят к системе
t1 ≡α t2
αt3 + βt2 6= αt4 + βt1
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 6= t2
Случай 5:
βx + t3 ≡γ t4
Для каждого решения нижнего равенства со значением x = δ
существует решение, отличающееся только тем, что x = δ + γ
Хотя бы одно из этих решений будет удовлетворять верхнему
неравенству
Значит, эту систему можно заменить на равенство
βx + t3 ≡γ t4
Множество решений этого равенства совпадает с множеством
решений равенства
t3 ≡НОД(β,γ) t4 ,
где НОД(β, γ) — наибольший общий делитель чисел β и γ
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 = t2
Случай 6:
βx + t3 ≡γ t4
Последовательность преобразований системы, сохраняющая
множество решений в проекции на переменные e
xn , выглядит так:
αx + t1 = t2
αβx + αt3 ≡αγ αt4
αx + t1 = t2
αβx + αt3 + βt2 ≡αγ αt4 + βt1 + αβx
αx + t1 = t2
αt3 + βt2 ≡αγ αt4 + βt1
t1 ≡α t2
αt3 + βt2 ≡αγ αt4 + βt1
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 ≡γ t2
Случай 7:
αx + t3 ≡γ t4
Последовательность преобразований, сохраняющая множество
решений в проекции на переменные e
xn , выглядит так:
αx + t1 ≡γ t2
αx + t3 + t2 ≡γ t4 + t1 + αx
αx + t1 ≡γ t2
t3 + t2 ≡γ t4 + t1
t1 ≡НОД(α,γ) t2
t3 + t2
≡γ
t4 + t1
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 ≡γ t2
Случай 8:
βx + t3 ≡γ t4
(β 6= α)
Пока коэффициенты α, β различны, можно их уменьшать
следующим образом
Пусть α > β
Тогда исходную систему можно заменить на
(α − β)x + t1 + t4 ≡γ t2 + t3
βx + t3 ≡γ t4
Как только коэффициенты сравнялись, немедленно получен
случай 7
Арифметика Пресбургера
Доказательство
разрешимости.
αx + t1 ≡γ t2
Случай 9:
βx + t3 ≡δ t4
(β 6= α, γ 6= δ)
Пусть
I ρ — наименьшее общее кратное чисел γ, δ
ρ
I µ =
γ
ρ
I ν =
δ
Тогда исходную систему можно заменить на такую:
µαx + µt1 ≡ρ µt2
νβx + νt3 ≡ρ νt4
Дальнейшие упрощения делаются согласно случаям 7 и 8
Арифметика Пресбургера
Доказательство разрешимости.
А причём здесь аксиомы TP ?
I
I
Чтобы утверждать, что проекции множеств решений
исходной и преобразованной систем на e
xn в каждом
рассмотренном случае совпадают, достаточно только
свойств, гарантированных аксиомами TP
Описанная выше проверка истинности предложения,
содержащего кванторы только в атомах, также использует
только свойства, гарантированные аксиомами TP
H
Вопрос на понимание:
А где в доказательстве используется
схема аксиом математической индукции?
Арифметика Пресбургера
Следствие
Теория TP полна
Доказательство.
В доказательстве разрешимости теории для произвольной
замкнутой формулы ϕ была построена замкнутая формула ψ,
содержащая кванторы только в атомах, являющаяся либо
TP -общезначимой, либо TP -противоречивой и такая что
|=TP ϕ
⇔
|=TP ψ
Значит, либо формула ϕ либо TP -общезначима, либо
TP -противоречива
Следствие
Теория TP адекватно описывает формальную
арифметику со сложением
H
Арифметика Пресбургера
А какие отношения описываются (незамкнутыми) формулами
арифметики со сложением?
Произведём такое же удаление кванторов для незамкнутой
формулы ϕ, как до этого производилось для замкнутой
формулы
В результате получим бескванторную формулу ψ(e
xn ) с атомами,
(2)
образованными предикатными символами =(2) и ≡α и
линейными арифметическими термами
Значит, исходная формула ϕ описывала в точности такое же
отношение
Конец лекции 11
Download