├── .github └── workflows │ └── build_latex.yml ├── .gitignore ├── 05-lection-predicate.pdf ├── 05-lection-predicate.tex ├── 06-lection-completeness.pdf ├── 06-lection-completeness.tex ├── 07-lection-undecidability.pdf ├── 07-lection-undecidability.tex ├── 08-recursive-goedel.pdf ├── 08-recursive-goedel.tex ├── 09-goedel.pdf ├── 09-goedel.tex ├── 10-zf.pdf ├── 10-zf.tex ├── 12-sl.pdf ├── 12-sl.tex ├── 13-correctness.pdf ├── 13-correctness.tex ├── 14-curry-howard.pdf ├── 14-curry-howard.tex ├── README.md ├── hw-theory.pdf ├── hw-theory.tex ├── questions.pdf ├── questions.tex ├── test-paper.pdf └── test-paper.tex /.github/workflows/build_latex.yml: -------------------------------------------------------------------------------- 1 | name: Build latex files 2 | on: 3 | push: 4 | branches: [ "main" ] 5 | pull_request: 6 | branches: [ "main" ] 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout pull_request 12 | if: github.event_name == 'pull_request' 13 | uses: actions/checkout@v3 14 | with: 15 | ref: ${{ github.event.pull_request.head.ref }} 16 | - name: Checkout commit 17 | if: github.event_name != 'pull_request' 18 | uses: actions/checkout@v3 19 | - name: Build pdfs 20 | uses: xu-cheng/latex-action@v2 21 | with: 22 | root_file: "*.tex" 23 | glob_root_file: true 24 | - name: Publish pdfs 25 | uses: actions/upload-artifact@v3 26 | with: 27 | name: pdfs 28 | path: "*.pdf" 29 | - name: "Enable lfs" 30 | if: false 31 | run: | 32 | git lfs track "*.pdf" 33 | git add .gitattributes 34 | - name: Commit new pdfs 35 | uses: EndBug/add-and-commit@v9 36 | with: 37 | add: "*.pdf" 38 | committer_name: Pdf builder 39 | committer_email: noemail@example.com 40 | default_author: user_info 41 | message: '[no ci] Add pdfs' 42 | pathspec_error_handling: exitImmediately 43 | push: true 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.aux 2 | *.log 3 | *.nav 4 | *.out 5 | *.snm 6 | *.toc 7 | *.vrb -------------------------------------------------------------------------------- /05-lection-predicate.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/05-lection-predicate.pdf -------------------------------------------------------------------------------- /05-lection-predicate.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usetikzlibrary{patterns} 12 | \usepackage{chronosys} 13 | \usepackage{proof} 14 | \usepackage{multirow} 15 | \setbeamertemplate{navigation symbols}{} 16 | %\usetheme{Warsaw} 17 | 18 | \newtheorem{thm}{Теорема}[section] 19 | \newtheorem{dfn}{Определение}[section] 20 | \newtheorem{exm}{Пример}[section] 21 | 22 | \begin{document} 23 | 24 | \begin{frame} 25 | 26 | 27 | \begin{center}\LARGE Исчисление предикатов\end{center} 28 | 29 | \end{frame} 30 | 31 | \begin{frame}{Ограничения языка исчисления высказываний} 32 | 33 | \only<+> 34 | {$$\infer{\text{Сократ смертен}}{\text{Каждый человек смертен}\quad\quad\text{Сократ --- человек}}$$\vspace{-0.3cm}} 35 | 36 | \only<+->{$$ 37 | \infer{ 38 | \text{Сократ {\color{red}--- смертный}} 39 | } 40 | {\text{{\color{blue}Каждый} объект, если он {\color{red}--- человек}, то он {\color{red}--- смертный}}\quad\quad 41 | \text{Сократ {\color{red}--- человек}} 42 | } 43 | $$\vspace{-0.3cm}} 44 | 45 | %\onslide<+->В исчислении высказываний такое выразимо отчасти: 46 | %$$ 47 | %\infer{\text{Сократ смертен}}{\text{Если нечто --- человек, то оно смертно}\quad\quad\text{Сократ --- человек}} 48 | %$$\pause\vspace{-0.3cm} 49 | %\onslide<+-> 50 | %\begin{center}\begin{tabular}{lp{2cm}l} 51 | %\multirow{3}{*}{ 52 | %$$ 53 | %\infer{A\rightarrow C}{A \rightarrow B \quad\quad B \rightarrow C} 54 | %$$} 55 | %&&$A$: Данный объект --- Сократ\\ 56 | %&&$B$: Данный объект --- человек\\ 57 | %&&$C$: Данный объект --- смертен 58 | %\end{tabular}\end{center} 59 | 60 | \onslide<+-> 61 | 62 | Цель: {\color{blue}кванторы} и {\color{red}предикаты} 63 | $$ 64 | \infer{{\color{red}S}(\text{Сократ})}{{\color{blue}\forall} x.{\color{red}H}(x)\rightarrow {\color{red}S}(x)\quad\quad {\color{red}H}(\text{Cократ)}} 65 | $$ 66 | \end{frame} 67 | 68 | \begin{frame}{Начнём с примера} 69 | 70 | $$\color{blue}\forall {\color{red}x}.{\color{red}\sin x} = {\color{red}0} \vee {\color{red}(\sin x)^2+1} > {\color{red}1}$$ \pause 71 | 72 | \begin{enumerate} 73 | \item Предметные (здесь: числовые) выражения 74 | \begin{enumerate} 75 | \item Предметные переменные ($\color{red}x$).\pause 76 | \item Одно- и двухместные функциональные символы <<синус>>, <<возведение в квадрат>> и <<сложение>>.\pause%: 77 | %$$\color{blue}\forall x.s (x) = 0 \vee p(q(s(x)),1) > 1$$ \pause 78 | \item Нульместные функциональные символы <<ноль>> ($\color{red}0$) и <<один>> ($\color{red}1$).\pause%: 79 | %$$\color{blue}\forall x.E(f (x),z) \vee G (p(q(s (x)),o), o)$$ 80 | \end{enumerate} 81 | \item Логические выражения 82 | \begin{enumerate}\item Предикатные символы <<равно>> и <<больше>> %($\color{blue}E$) ($\color{blue}G$).\pause 83 | %$$\color{blue}\forall x.E(f (x),0) \vee G (p(q(s (x)),1), 1)$$ 84 | \end{enumerate} 85 | \end{enumerate} 86 | 87 | \end{frame} 88 | 89 | 90 | \begin{frame}{Язык исчисления предикатов} 91 | \begin{enumerate} 92 | \item Два типа: предметные и логические выражения. \pause 93 | \item Предметные выражения: метапеременная {\color{blue}$\theta$}. \pause 94 | \begin{itemize} 95 | \item Предметные переменные: {\color{blue}$a$}, {\color{blue}$b$}, {\color{blue}$c$}, \dots, метапеременные {\color{blue}$x$}, {\color{blue}$y$}. \pause 96 | \item Функциональные выражения: {\color{blue}$f(\theta_1,\dots,\theta_n)$}, метапеременные {\color{blue}$f$}, {\color{blue}$g$}, \dots\\\pause 97 | %Имена разнообразны: {\color{blue}$(\theta_1+\theta_2)$}, {\color{blue}$0$} и т.п.\pause 98 | \item Примеры: %{\color{blue}$(x+1)^2$}. \\\pause 99 | % Раскроем сокращения: {\color{blue}$(\theta_0+\theta_1)\equiv p(\theta_0,\theta_1)$}, 100 | % {\color{blue}$\theta_1^2\equiv q(\theta_1)$}, {\color{blue}$1\equiv r$}, {\color{blue}$2\equiv s$}. \pause\\ 101 | {\color{blue}$r$}, 102 | {\color{blue}$q(p(x,s),r)$}. 103 | \end{itemize}\pause 104 | \item Логические выражения: метапеременные {\color{blue}$\alpha$}, {\color{blue}$\beta$}, {\color{blue}$\gamma$}, \dots 105 | \begin{itemize} 106 | \item Предикатные выражения: {\color{blue}$P(\theta_1,\dots,\theta_n)$}, метапеременная {\color{blue}$P$}.\\\pause 107 | Имена: {\color{blue}$A$}, {\color{blue}$B$}, {\color{blue}$C$}, \dots \pause %также {\color{blue}$(\theta_1=\theta_2)$} и т.п.\pause 108 | \item Связки: {\color{blue}$(\varphi\vee\psi)$}, {\color{blue}$(\varphi\with\psi)$}, {\color{blue}$(\varphi\rightarrow\psi)$}, 109 | {\color{blue}$(\neg\varphi)$}.\pause 110 | \item Кванторы: {\color{blue}$(\forall x.\varphi)$} и {\color{blue}$(\exists x.\varphi)$}. 111 | \end{itemize} 112 | %\item Пример: $\forall \epsilon.\exists \delta.|x-x_0|<\delta\rightarrow|f(x)-f(x_0)|<\epsilon$\pause 113 | %переходит в: $\forall e.\exists d.L(s(x,x_0),d) \rightarrow L(s(f(x),f(x_0)),e)$ 114 | \end{enumerate} 115 | \end{frame} 116 | 117 | 118 | \begin{frame}{Сокращения записи, метаязык} 119 | 120 | \begin{enumerate} 121 | \item Метапеременные: 122 | \begin{itemize} 123 | \item $\color{blue}\psi$, $\color{blue}\phi$, $\color{blue}\pi$, \dots --- формулы 124 | \item $\color{blue}P$, $\color{blue}Q$, \dots --- предикатные символы 125 | \item $\color{blue}\theta$, \dots --- термы 126 | \item $\color{blue}f$, $\color{blue}g$, \dots --- функциональные символы 127 | \item $\color{blue}x$, $\color{blue}y$, \dots --- предметные переменные 128 | \end{itemize}\pause 129 | 130 | \item Скобки --- как в И.В.; квантор --- жадный: 131 | \begin{center}${\color{blue}(\forall a.} \underbrace{{\color{blue}A \vee B \vee C \rightarrow \exists b.} 132 | \underbrace{\color{blue}D \with \neg E}_{\exists b.\dots}}_{\forall a.\dots} \color{blue}) \with F$\end{center} 133 | \pause 134 | 135 | \item Дополнительные обозначения при необходимости: 136 | \begin{itemize} 137 | \item $\color{blue}(\theta_1 = \theta_2)$ вместо $\color{blue}E(\theta_1,\theta_2)$ 138 | \item $\color{blue}(\theta_1 + \theta_2)$ вместо $\color{blue}p(\theta_1,\theta_2)$ 139 | \item $\color{blue}0$ вместо $\color{blue}z$ 140 | \item \dots 141 | \end{itemize} 142 | 143 | \end{enumerate} 144 | 145 | \end{frame} 146 | 147 | \begin{frame}{Теория моделей: два типа значений} 148 | 149 | Напомним формулу:\vspace{-0.3cm} 150 | 151 | $$\forall x.\sin x = 0 \vee (\sin x)^2+1 > 1$$ 152 | 153 | Без синтаксического сахара:\vspace{-0.3cm} 154 | 155 | \only<1>{$$\forall x.E(f (x),z)~\vee~G (p(q(s (x)),o), o)$$} 156 | \only<2>{$$\forall x.{\color{blue}E}(f (x),z)~\vee~{\color{blue}G} (p(q(s (x)),o), o)$$} 157 | \only<3>{$${\color{blue}\forall} x.{\color{blue}E}(f (x),z) {\color{blue}~\vee~} {\color{blue}G} (p(q(s (x)),o), o)$$} 158 | \only<4>{$${\color{blue}\forall} {\color{red}x}.{\color{blue}E}(f ({\color{red}x}),z) {\color{blue}~\vee~} {\color{blue}G} 159 | (p(q(s ({\color{red}x})),o),o)$$} 160 | \only<5>{$${\color{blue}\forall} {\color{red}x}.{\color{blue}E}({\color{red}f} ({\color{red}x}),{\color{red}z}) {\color{blue}~\vee~} {\color{blue}G} 161 | ({\color{red}p}({\color{red}q}({\color{red}s} ({\color{red}x})),{\color{red}o}), {\color{red}o})$$\vspace{0.0cm}} 162 | 163 | \onslide<2->\begin{enumerate} 164 | \item {\color{blue}Истинностные (логические) значения: } 165 | 166 | \begin{enumerate} 167 | \item предикаты (в том числе пропозициональные переменные = нульместные предикаты); 168 | \onslide<3->\item логические связки и кванторы. 169 | \end{enumerate} 170 | 171 | \onslide<4->\item {\color{red}Предметные значения:} 172 | 173 | \begin{enumerate} 174 | \item предметные переменные; 175 | \onslide<5->\item функциональные символы (в том числе константы = нульместные функциональные символы) 176 | \end{enumerate} 177 | 178 | \end{enumerate} 179 | \end{frame} 180 | 181 | \begin{frame}{Оценка исчисления предикатов} 182 | \begin{dfn}Оценка --- упорядоченная четвёрка $\langle D, F, T, E \rangle$, где:\pause 183 | 184 | \begin{enumerate} 185 | \item $D$ --- предметное множество;\pause 186 | \item $F$ --- оценка для функциональных символов; пусть $f_n$ --- $n$-местный функциональный символ: 187 | $$F_{f_n}: D^n \rightarrow D$$\pause 188 | 189 | \item $T$ --- оценка для предикатных символов; пусть $P_n$ --- $n$-местный предикатный символ: 190 | $$T_{P_n}: D^n \rightarrow V\quad\quad\quad\pause V = \{\text{И}, \text{Л}\}$$\pause 191 | 192 | \item $E$ --- оценка для свободных предметных переменных. 193 | $$E(x) \in D$$ 194 | \end{enumerate}\end{dfn} 195 | \end{frame} 196 | 197 | \begin{frame}{Оценка формулы} 198 | 199 | Запись и сокращения записи подобны исчислению высказываний: $$\llbracket \phi \rrbracket \in V,\quad 200 | \llbracket Q(x,f(x))\vee R\rrbracket^{x := 1, f(t) := t^2, R := \text{И}} = \text{И}$$\pause 201 | 202 | \begin{enumerate} 203 | \item Правила для связок $\vee$, $\with$, $\neg$, $\rightarrow$ остаются прежние;\pause 204 | \item $\llbracket f_n (\theta_1, \theta_2, \dots, \theta_n) \rrbracket = F_{f_n} (\llbracket\theta_1\rrbracket, 205 | \llbracket\theta_2\rrbracket, \dots, \llbracket\theta_n\rrbracket)$\pause 206 | \item $\llbracket P_n (\theta_1, \theta_2, \dots, \theta_n) \rrbracket = T_{P_n} (\llbracket\theta_1\rrbracket, 207 | \llbracket\theta_2\rrbracket, \dots, \llbracket\theta_n\rrbracket)$\pause 208 | \item $$\llbracket \forall x.\phi \rrbracket = \left\{\begin{array}{ll} 209 | \text{И}, & \text{если } \llbracket\phi\rrbracket^{x := t} = \text{И}\text{ при всех } t \in D\\ 210 | \text{Л}, & \text{если найдётся } t \in D, \text{ что } \llbracket\phi\rrbracket^{x := t} = \text{Л} 211 | \end{array}\right.$$\pause 212 | \item $$\llbracket \exists x.\phi \rrbracket = \left\{\begin{array}{ll} 213 | \text{И}, & \text{если найдётся } t \in D, \text{ что } \llbracket\phi\rrbracket^{x := t} = \text{И}\\ 214 | \text{Л}, & \text{если } \llbracket\phi\rrbracket^{x := t} = \text{Л}\text{ при всех } t \in D 215 | \end{array}\right.$$ 216 | \end{enumerate} 217 | \end{frame} 218 | 219 | \begin{frame}{Пример (очевидная интерпретация)} 220 | Оценим: 221 | $$\llbracket \forall x.\exists y.\neg x+1 = y \rrbracket$$ \pause 222 | 223 | Зададим оценку: 224 | \begin{itemize} 225 | \item $D := \mathbb{N}$; 226 | \item $F_{1} := 1$, $F_{(+)}$ --- сложение в $\mathbb{N}$; 227 | \item $P_{(=)}$ -- равенство в $\mathbb{N}$. 228 | \end{itemize}\pause\vspace{0.5cm} 229 | 230 | Фиксируем $x\in\mathbb{N}$. Тогда: 231 | $$\llbracket x+1 = y \rrbracket^{y := x} = \text{Л}$$\pause 232 | поэтому при любом $x\in\mathbb{N}$: 233 | $$\llbracket \exists y.\neg x+1 = y \rrbracket = \text{И}$$\pause 234 | 235 | Итого: 236 | $$\llbracket \forall x.\exists y.\neg x+1 = y \rrbracket = \text{И}$$ 237 | 238 | \end{frame} 239 | 240 | \begin{frame}{Пример (странная интерпретация)} 241 | 242 | $$\llbracket \forall x.\exists y.\neg x+1 = y \rrbracket$$ \pause 243 | 244 | Зададим интерпретацию: 245 | \begin{itemize} 246 | \item $D := \{\square\}$; 247 | \item $F_{(1)} := \square$, $F_{(+)} (x,y) := \square$; 248 | \item $P_{(=)} (x,y) := \text{И}$. 249 | \end{itemize}\pause\vspace{0.5cm} 250 | 251 | Тогда: 252 | $$\llbracket x+1 = y \rrbracket^{\alt<4->{x \in D, y \in D}{x := \square,y := \square}} = \text{И}$$\pause\pause 253 | Итого: 254 | $$\llbracket \forall x.\exists y.\neg x+1 = y \rrbracket = \text{Л}$$ 255 | 256 | \end{frame} 257 | 258 | \begin{frame}{Общезначимость} 259 | \begin{dfn}Формула исчисления предикатов общезначима, если истинна при любой оценке: 260 | $$\models\phi$$\end{dfn}\pause 261 | 262 | То есть истинна при любых $D$, $F$, $P$ и $E$. 263 | \end{frame} 264 | 265 | \begin{frame}{Пример: общезначимая формула} 266 | \begin{thm}$$\llbracket\forall x.Q(f(x))\vee\neg Q(f(x))\rrbracket$$\end{thm} 267 | 268 | \begin{proof} 269 | Фиксируем $D$, $F$, $P$, $E$. \pause Пусть $x \in D$. \pause 270 | Обозначим $P_{Q}(F_{f}(E_x))$ за $t$. \pause 271 | Ясно, что $t \in V$. Разберём случаи. 272 | \begin{itemize} 273 | \item Если $t = \text{И}$, то $\llbracket P(f(x))\rrbracket^{P(f(x)):=t} = \text{И}$, 274 | потому $\llbracket P(f(x))\vee\neg P(f(x))\rrbracket^{P(f(x)):=t} = \text{И}$ 275 | \item Если $t = \text{Л}$, то $\neg P(f(x))\rrbracket^{P(f(x)):=t} = \text{И}$, потому 276 | всё равно $\llbracket P(f(x))\vee\neg P(f(x))\rrbracket^{P(f(x)):=t} = \text{И}$ 277 | \end{itemize} 278 | \end{proof} 279 | \end{frame} 280 | 281 | \begin{frame}{Свободные вхождения} 282 | \begin{dfn}Рассмотрим формулу $\forall x.\psi$ (или $\exists x.\psi$). Здесь переменная $x$ связана в $\psi$. 283 | Все вхождения переменной $x$ в $\psi$ --- связанные.\end{dfn} 284 | \begin{dfn}Переменная $x$ входит свободно в $\psi$, если не находится в области действия никакого квантора по $x$. 285 | Все её вхождения в $\psi$ --- свободные\end{dfn} 286 | 287 | \begin{exm}$\exists y.(\forall x.P(x))\vee P({\color{blue}x}) \vee Q(y)$\end{exm} 288 | \end{frame} 289 | 290 | \begin{frame}{Подстановка, свобода для подстановки} 291 | $$\psi[x := \theta] := \left\{\begin{array}{ll}\psi, & \psi\equiv y, y \not\equiv x\\ 292 | \psi, & \psi\equiv\forall x.\pi \textrm{ или } \psi\equiv\exists x.\pi\\ 293 | \pi[x := \theta] \star \rho [x := \theta], & \psi\equiv \pi\star\rho\\ 294 | \theta, & \psi\equiv x\\ 295 | \forall y.\pi[x := \theta], & \psi \equiv \forall y.\pi \textrm{ и } y \not\equiv x\\ 296 | \exists y.\pi[x := \theta], & \psi \equiv \exists y.\pi \textrm{ и } y \not\equiv x 297 | \end{array}\right.$$ 298 | 299 | \begin{dfn}Терм $\theta$ свободен для подстановки вместо $x$ в $\psi$ ($\psi[x := \theta]$), если 300 | ни одно свободное вхождение переменных в $\theta$ не станет связанным после подстановки.\end{dfn} 301 | 302 | \begin{center}\begin{tabular}{c|c} 303 | Свобода есть & Свободы нет\\\hline 304 | $(\forall x.P(y)) [y := z]$ & $(\forall x.P(y)) [y := x]$\\ 305 | $(\forall y.\forall x.P(x)) [x := y]$ & $(\forall y.\forall x.P(t)) [t := y]$ 306 | \end{tabular}\end{center} 307 | 308 | \end{frame} 309 | 310 | \begin{frame}{Теория доказательств} 311 | 312 | Рассмотрим язык исчисления предикатов. Аксиомы --- все схемы аксиом для классического исчисления высказываний 313 | в данном языке. Добавим ещё две схемы аксиом (здесь везде $\theta$ свободен для подстановки вместо $x$ в $\varphi$): 314 | 315 | \begin{tabular}{ll} 316 | 11. & $(\forall x.\varphi) \rightarrow \varphi[x:=\theta]$\\ 317 | 12. & $\varphi[x:=\theta] \rightarrow \exists x.\varphi$ 318 | \end{tabular} 319 | 320 | Добавим ещё два правила вывода (здесь везде $x$ не входит свободно в $\varphi$): 321 | $$\infer[\text{Правило для }\forall]{\varphi\rightarrow\forall x.\psi}{\varphi\rightarrow\psi}$$ 322 | $$\infer[\text{Правило для }\exists]{(\exists x.\psi)\rightarrow\varphi}{\psi\rightarrow\varphi}$$ 323 | 324 | \begin{dfn}Доказуемость, выводимость, полнота, корректность --- аналогично исчислению высказываний.\end{dfn} 325 | \end{frame} 326 | 327 | \begin{frame}{Важность ограничений на схемы аксиом и правила вывода} 328 | 329 | \begin{itemize} 330 | \item Рассмотрим формулу $(\forall x.\exists y.\neg x = y) \rightarrow ((\exists y.\neg x = y)[x := y])$\pause 331 | \item Соответствует 11 схеме $$(\forall x.\varphi) \rightarrow \varphi[x:=\theta]\quad\quad\varphi \equiv \forall x.\exists y.\neg x = y\quad\quad 332 | \theta \equiv y$$\pause\vspace{-0.2cm} 333 | \item Но нарушается свобода для подстановки 334 | $$(\exists y.\neg x = y)[x := {\color{red}y}] \equiv (\exists {\color{red}y}.\neg {\color{red}y} = y)$$\pause\vspace{-0.2cm} 335 | \item Пусть $D = \mathbb{N}$ и $(=)$ есть равенство на $\mathbb{N}$. Тогда 336 | $$\llbracket\exists y.\neg x = y\rrbracket=\text{И}\quad\quad\llbracket(\exists y.\neg x = y) [x := y]\rrbracket = \text{Л}$$\pause\vspace{-0.2cm} 337 | \item $\not\models (\forall x.\exists y.\neg x = y) \rightarrow ((\exists y.\neg x = y)[x := y])$ 338 | \end{itemize} 339 | \end{frame} 340 | 341 | \begin{frame}{Теорема о дедукции для исчисления предикатов} 342 | \begin{thm}Если $\Gamma\vdash\alpha\rightarrow\beta$, то $\Gamma,\alpha\vdash\beta$. 343 | Если $\Gamma,\alpha\vdash\beta$ и в доказательстве не применяются правила для кванторов 344 | по свободным переменным из $\alpha$, то $\Gamma\vdash\alpha\rightarrow\beta$.\end{thm} 345 | \begin{proof}$(\Rightarrow)$ --- как в КИВ \pause $(\Leftarrow)$ --- та же схема, два новых случая. \pause 346 | 347 | Перестроим: $\delta_1, \delta_2, \dots, \delta_n \equiv \beta$ в $\alpha\rightarrow\delta_1, \alpha\rightarrow\delta_2, \dots, \alpha\rightarrow\delta_n$. 348 | 349 | Дополним: обоснуем $\alpha\rightarrow\delta_n$, если предыдущие уже обоснованы.\pause 350 | 351 | Два новых похожих случая: правила для $\forall$ и $\exists$. Рассмотрим $\forall$. 352 | 353 | Доказываем $(n)\ \ \alpha\rightarrow\psi\rightarrow\forall x.\varphi$ (правило для $\forall$), значит, доказано 354 | $(k)\ \ \alpha\rightarrow\psi\rightarrow\varphi$. \pause 355 | \begin{tabular}{lll} 356 | $(n-0.9) \dots (n-0.8)$ & $(\alpha\rightarrow\psi\rightarrow\varphi)\rightarrow(\alpha\with\psi)\rightarrow\varphi$ & Т. о полноте КИВ\\ 357 | $(n-0.6)$ & $(\alpha\with\psi)\rightarrow\varphi$ & M.P. $k$,$n-0.8$\\\pause 358 | $(n-0.4)$ & $(\alpha\with\psi)\rightarrow\forall x.\varphi$ & Правило для $\forall$, $n-0.6$\\\pause 359 | $(n-0.3) \dots (n-0.2)$ & $((\alpha\with\psi)\rightarrow\forall x.\varphi)\rightarrow(\alpha\rightarrow\psi\rightarrow\forall x.\varphi)$ & Т. о полноте КИВ\\ 360 | $(n)$ & $\alpha\rightarrow\psi\rightarrow\forall x.\varphi$ & M.P. $n-0.4$, $n-0.2$ 361 | \end{tabular} 362 | 363 | \end{proof} 364 | \end{frame} 365 | 366 | 367 | \begin{frame}{Следование} 368 | \begin{dfn}$\gamma_1,\gamma_2,\dots,\gamma_n\models\alpha$, если выполнено два условия: 369 | \begin{enumerate} 370 | \item $\alpha$ выполнено всегда, когда выполнено $\gamma_1,\gamma_2,\dots,\gamma_n$; 371 | \item $\alpha$ не использует кванторов по переменным, входящим свободно в $\gamma_1,\gamma_2,\dots,\gamma_n$. 372 | \end{enumerate} 373 | \end{dfn} 374 | 375 | \begin{thm}Если $\Gamma\vdash\alpha$ и в доказательстве не используются кванторы по свободным 376 | переменным из $\Gamma$, то $\Gamma\models\alpha$\end{thm} 377 | \end{frame} 378 | 379 | \begin{frame}{Важность второго условия} 380 | \begin{exm}Покажем, что $\Gamma\models\alpha$ ведёт себя неестественно, если 381 | в $\alpha$ используются кванторы по переменным, входящим свободно в $\Gamma$.\pause 382 | 383 | Легко показать, что $P(x)\vdash \forall x.P(x)$. \pause 384 | \begin{tabular}{lll} 385 | (1) & $P(x)$ & Гипотеза \\ 386 | (2) & $P(x)\rightarrow (A\rightarrow A \rightarrow A) \rightarrow P(x)$ & Сх. акс. 1\\ 387 | (3) & $(A\rightarrow A \rightarrow A) \rightarrow P(x)$ & M.P. 1, 2\\ 388 | (4) & $(A\rightarrow A \rightarrow A) \rightarrow \forall x.P(x)$ & Правило для $\forall$, 3\\ 389 | (5) & $(A\rightarrow A \rightarrow A)$ & Сх. акс. 1\\ 390 | (6) & $\forall x.P(x)$ & M.P. 5, 4 391 | \end{tabular}\pause 392 | 393 | Пусть $D = \mathbb{Z}$ и $P(x) = x > 0$. Тогда не будет выполнено $P(x)\models \forall x.P(x)$. 394 | \end{exm} 395 | \end{frame} 396 | 397 | 398 | 399 | \end{document} -------------------------------------------------------------------------------- /06-lection-completeness.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/06-lection-completeness.pdf -------------------------------------------------------------------------------- /06-lection-completeness.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{flw}{Следствие}[section] 23 | 24 | \begin{document} 25 | 26 | \begin{frame} 27 | 28 | 29 | \begin{center}\LARGE Теорема о полноте исчисления предикатов\end{center} 30 | 31 | \end{frame} 32 | 33 | \begin{frame}{Общая идея доказательства} 34 | \begin{enumerate} 35 | \item Надо справиться со слишком большим количеством вариантов. 36 | Модель задаётся как $\langle D,F,P,X \rangle$.\pause 37 | \item Для оценки в модели важно только какие формулы истинны. 38 | Модели $\mathcal{M}_1$ и $\mathcal{M}_2$ <<похожи>>, если 39 | $\llbracket \varphi \rrbracket_{\mathcal{M}_1} = \llbracket \varphi \rrbracket_{\mathcal{M}_2}$ 40 | при всех $\varphi$.\pause 41 | \item Поступим так: 42 | \begin{enumerate} 43 | \item построим эталонное множество моделей $\mathfrak{M}$, каждая модель соответствует списку истинных формул, \emph{но им не является};\pause 44 | \item докажем полноту $\mathfrak{M}$: если каждая $\mathcal{M} \in \mathfrak{M}$ предполагает $\mathcal{M}\models\varphi$, 45 | то $\vdash\varphi$;\pause 46 | \item заметим, что если $\models\varphi$, то каждая $\mathcal{M} \in \mathfrak{M}$ предполагает $\mathcal{M}\models\varphi$.\pause 47 | \end{enumerate} 48 | \item В ходе доказательства нас ждёт множество технических препятствий. 49 | \end{enumerate} 50 | \end{frame} 51 | 52 | \begin{frame}{Непротиворечивое множество формул} 53 | \begin{dfn}$\Gamma$ --- \emph{непротиворечивое множество формул}, 54 | если $\Gamma\not\vdash\alpha\with\neg\alpha$ для любого $\alpha$ 55 | \end{dfn}\pause 56 | 57 | Примеры: 58 | \begin{itemize} 59 | \item непротиворечиво: \begin{itemize} 60 | \item $\Gamma = \{A \rightarrow B \rightarrow A\}$\pause 61 | \item $\Gamma = \{P(x,y)\rightarrow\neg P(x,y), \forall x.\forall y.\neg P(x,y)\}$; 62 | \end{itemize}\pause 63 | \item противоречиво: \begin{itemize} 64 | \item $\Gamma = \{P\rightarrow\neg P, \neg P \rightarrow P\}$ 65 | 66 | так как 67 | $P\rightarrow\neg P, \neg P \rightarrow P \ \vdash\ \neg P \with \neg\neg P$\pause 68 | \end{itemize} 69 | \item пусть $D = \mathbb{Z}$ и $P(x) \equiv (x > 0)$, аналогом для этой модели 70 | будет $\Gamma = \{P(1), P(2), P(3), \dots\}$ 71 | \end{itemize} 72 | \end{frame} 73 | 74 | \begin{frame}{Полное непротиворечивое множество формул} 75 | \begin{dfn}$\Gamma$ --- \emph{полное} непротиворечивое множество замкнутых бескванторных формул, 76 | если: 77 | \begin{enumerate}\item $\Gamma$ содержит только замкнутые бескванторные формулы; 78 | \item если $\alpha$ --- некоторая замкнутая бескванторная формула, то $\alpha\in\Gamma$ или $\neg\alpha\in\Gamma$. 79 | \end{enumerate} 80 | \end{dfn}\pause 81 | 82 | \begin{dfn}$\Gamma$ --- \emph{полное} непротиворечивое множество замкнутых формул, если: 83 | \begin{enumerate}\item $\Gamma$ содержит только замкнутые формулы; 84 | \item если $\alpha$ --- некоторая замкнутая формула, то $\alpha \in \Gamma$, или $\neg\alpha \in \Gamma$. 85 | \end{enumerate} 86 | \end{dfn} 87 | \end{frame} 88 | 89 | \begin{frame}{Пополнение непротиворечивого множества формул} 90 | \begin{thm}Пусть $\Gamma$ --- непротиворечивое множество замкнутых (бескванторных) формул. Тогда, какова бы ни была 91 | замкнутая (бескванторная) формула $\varphi$, хотя бы $\Gamma \cup \{\varphi\}$ или $\Gamma \cup \{\neg\varphi\}$ --- 92 | непротиворечиво\end{thm}\pause 93 | 94 | \begin{proof} 95 | Пусть это не так и найдутся такие $\Gamma$, $\varphi$ и $\alpha$, что 96 | $$\begin{array}{rl}\Gamma,\varphi & \vdash \alpha\with\neg\alpha\\ 97 | \Gamma,\neg\varphi & \vdash \alpha \with\neg\alpha\end{array}$$\pause\vspace{-0.3cm} 98 | 99 | Тогда по лемме об исключении гипотезы 100 | $$\Gamma\vdash \alpha\with\neg\alpha$$\pause\vspace{-0.4cm} 101 | 102 | То есть $\Gamma$ не является непротиворечивым. Противоречие. 103 | \end{proof} 104 | \end{frame} 105 | 106 | \begin{frame}{Дополнение непротиворечивого множества формул до полного} 107 | \begin{thm}Пусть $\Gamma$ --- непротиворечивое множество замкнутых (бескванторных) формул. Тогда 108 | найдётся полное непротиворечивое множество замкнутых (бескванторных) формул $\Delta$, что 109 | $\Gamma \subseteq \Delta$ 110 | \end{thm}\pause 111 | 112 | \begin{proof} 113 | \begin{enumerate} 114 | \item Занумеруем все формулы (их счётное количество): $\varphi_1, \varphi_2, \dots$\pause 115 | \item Построим семейство множеств $\{\Gamma_i\}$: 116 | \begin{tabular}{cc} 117 | $\Gamma_0 = \Gamma$ & 118 | \begin{minipage}{12cm} 119 | $$\Gamma_{i+1} = \left\{\begin{array}{ll}\Gamma_i \cup \{\varphi_i\},& \mbox{ если } \Gamma_i \cup \{\varphi_i\} \mbox{ непротиворечиво}\\ 120 | \Gamma_i \cup \{\neg\varphi_i\},& \mbox{ иначе}\end{array}\right.$$ 121 | \end{minipage}\end{tabular}\pause 122 | \item Итоговое множество $$\Delta = \bigcup_i \Gamma_i$$\pause\vspace{-0.2cm} 123 | \item Непротиворечивость $\Delta$ не следует из индукции --- индукция гарантирует непротиворечивость 124 | только $\Gamma_i$ при натуральном (т.е. \emph{конечном}) $i$, потому\dots 125 | \end{enumerate} 126 | \end{proof} 127 | \end{frame} 128 | 129 | \begin{frame}{Дополнение\dots (завершение доказательства)}\vspace{-1cm} 130 | \begin{block}{} 131 | \begin{enumerate}\setcounter{enumi}{3} 132 | \item $\Delta$ непротиворечиво: 133 | \begin{enumerate} 134 | \item Пусть $\Delta$ противоречиво, то есть $$\Delta \vdash \alpha\with\neg\alpha$$\pause\vspace{-0.2cm} 135 | \item Доказательство конечной длины и использует конечное количество гипотез $\{\delta_1, \delta_2, \dots, \delta_n\} \subset \Delta$, 136 | то есть $$\delta_1, \delta_2, \dots, \delta_n \vdash \alpha\with\neg\alpha$$\pause\vspace{-0.2cm} 137 | \item Пусть $\delta_i \in \Gamma_{d_i}$, тогда $$\Gamma_{d_1}\cup \Gamma_{d_2}\cup \dots\cup \Gamma_{d_n} \vdash \alpha\with\neg\alpha$$\pause\vspace{-0.2cm} 138 | \item Но $\Gamma_{d_1} \cup \Gamma_{d_2} \cup \dots \cup \Gamma_{d_n} = \Gamma_{\max(d_1,d_2,\dots,d_n)}$, 139 | которое непротиворечиво, и потому $$\Gamma_{d_1}\cup \Gamma_{d_2}\cup \dots\cup \Gamma_{d_n} \not\vdash \alpha\with\neg\alpha$$ 140 | \end{enumerate}\pause\vspace{-0.5cm} 141 | \end{enumerate} 142 | \qed 143 | \end{block} 144 | \end{frame} 145 | 146 | \begin{frame}{Модель для множества формул} 147 | \begin{dfn}Моделью для множества формул $F$ назовём такую модель $\mathcal{M}$, что 148 | при всяком $\varphi \in F$ выполнено $\llbracket\varphi\rrbracket_\mathcal{M} = \text{И}$.\pause 149 | 150 | Альтернативное обозначение: $\mathcal{M}\models\varphi$. 151 | \end{dfn} 152 | \end{frame} 153 | 154 | \begin{frame}{О доказательстве непротиворечивости множества формул} 155 | \begin{thm} Если у множества формул $M$ есть модель $\mathcal{M}$, оно непротиворечиво. \end{thm}\pause 156 | \begin{proof}Пусть противоречиво: $M\vdash A\with\neg A$, в доказательстве использованы гипотезы 157 | $\delta_1, \delta_2,\dots,\delta_n$. \pause Тогда $\vdash \delta_1\to\delta_2\to\dots\to\delta_n\to A\with\neg A$, 158 | то есть $\llbracket\delta_1\to\delta_2\to\dots\to\delta_n\to A\with\neg A\rrbracket = \text{И}$ (корректность). 159 | \pause Поскольку все $\llbracket \delta_i \rrbracket_\mathcal{M} = \text{И}$, то 160 | и $\llbracket A\with\neg A\rrbracket_\mathcal{M} = \text{И}$ (анализ таблицы истинности импликации). \pause 161 | Однако $\llbracket A \with\neg A \rrbracket = \text{Л}$. Противоречие.\end{proof}\pause 162 | \begin{flw} Исчисление предикатов непротиворечиво \end{flw}\pause 163 | \begin{proof} Рассмотрим $M = \varnothing$ и любую классическую модель.\end{proof}\pause 164 | Доказательства опираются на непротиворечивость метатеории. 165 | \end{frame} 166 | 167 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 168 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 169 | 170 | \begin{frame}{Модели для непротиворечивых множеств замкнутых бескванторных формул} 171 | \begin{thm} 172 | Любое непротиворечивое множество замкнутых бескванторных формул имеет модель. 173 | \end{thm} 174 | 175 | \end{frame} 176 | 177 | \begin{frame}{Конструкция для модели} 178 | \begin{dfn} 179 | Пусть $M$ --- полное непротиворечивое множество замкнутых бескванторных формул. Тогда 180 | модель $\mathcal{M}$ задаётся так:\pause 181 | \begin{enumerate} 182 | \item $D$ --- множество всевозможных предметных выражений без предметных переменных и дополнительная строка ``ошибка!''\pause 183 | \item $\llbracket f(\theta_1,\dots,\theta_n) \rrbracket = \mbox{``f(''} \mdoubleplus \llbracket\theta_1\rrbracket \mdoubleplus \mbox{ ``,'' } 184 | \mdoubleplus \dots \mdoubleplus \mbox{ ``,'' } \mdoubleplus \llbracket\theta_n\rrbracket \mdoubleplus \mbox {``)'' } $\pause 185 | \item $\llbracket P(\theta_1,\dots,\theta_n)\rrbracket = \left\{ 186 | \begin{array}{ll} \mbox{И}, &\mbox{ если } \mbox{``P(''} \mdoubleplus \llbracket\theta_1\rrbracket \mdoubleplus \mbox{``,''} 187 | \mdoubleplus\dots \mdoubleplus\mbox{``,''} \mdoubleplus \llbracket\theta_n\rrbracket \mdoubleplus \mbox{``)''} \in M\\ 188 | \mbox{Л}, &\mbox{ иначе}\end{array}\right.$\pause 189 | \item $\llbracket x \rrbracket = \mbox{``ошибка!''}$, так как формулы замкнуты. 190 | \end{enumerate} 191 | \end{dfn} 192 | \end{frame} 193 | 194 | \begin{frame}{Доказательство корректности} 195 | \begin{lmm}Пусть $\varphi$ --- бескванторная формула, тогда $\mathcal{M}\models\varphi$ тогда и только тогда, когда $\varphi\in M$. 196 | \end{lmm}\pause 197 | 198 | \begin{proof}[Доказательство (индукция по длине формулы $\varphi$)] 199 | \begin{enumerate} 200 | \item База. $\varphi$ --- предикат. Требуемое очевидно по определению $\mathcal{M}$.\pause 201 | \item Переход. Пусть $\varphi = \alpha\star\beta$ (или $\varphi=\neg\alpha$), причём $\mathcal{M}\models\alpha$ ($\mathcal{M}\models\beta$) 202 | тогда и только тогда, когда $\alpha\in M$ ($\beta\in M$).\pause 203 | 204 | Тогда покажем требуемое для каждой связки в отдельности. А именно, для каждой связки покажем два утверждения: 205 | \begin{enumerate} 206 | \item если $\mathcal{M}\models\alpha\star\beta$, то $\alpha\star\beta \in M$. 207 | 208 | \item если $\mathcal{M}\not\models\alpha\star\beta$, то $\alpha\star\beta \notin M$. 209 | \end{enumerate} 210 | \end{enumerate} 211 | \end{proof} 212 | \end{frame} 213 | 214 | \begin{frame}{Доказательство утверждений для связок} 215 | Если $\varphi = \alpha\to\beta$ и для любой формулы $\zeta$, более короткой, чем $\varphi$, выполнено 216 | $\mathcal{M}\models\zeta$ тогда и только тогда, когда $\zeta\in M$, тогда: 217 | \begin{enumerate} 218 | \item если $\mathcal{M}\models\alpha\to\beta$, то $\alpha\to\beta\in M$; 219 | \item если $\mathcal{M}\not\models\alpha\to\beta$, то $\alpha\to\beta\notin M$. 220 | \end{enumerate} 221 | \begin{proof}[Доказательство (разбором случаев)] 222 | \begin{enumerate}\pause 223 | \item $\mathcal{M}\models\alpha\to\beta$: $\llbracket\alpha\rrbracket = \text{Л}$. \pause 224 | Тогда по предположению $\alpha\notin M$, потому по полноте 225 | $\neg\alpha\in M$. \pause И, поскольку в ИВ $\neg\alpha\vdash\alpha\to\beta$, то $M \vdash \alpha\to\beta$. \pause 226 | Значит, $\alpha\to\beta \in M$, иначе по полноте $\neg(\alpha\to\beta) \in M$, что делает $M$ противоречивым.\pause 227 | \item $\mathcal{M}\models\alpha\to\beta$: $\llbracket\alpha\rrbracket = \text{И}$ и $\llbracket\beta\rrbracket = \text{И}$. Рассуждая аналогично, 228 | используя $\alpha,\beta\vdash\alpha\to\beta$, приходим к $\alpha\to\beta \in M$.\pause 229 | \item $\mathcal{M}\not\models\alpha\to\beta$. Тогда $\llbracket\alpha\rrbracket=\text{И}$, 230 | $\llbracket\beta\rrbracket=\text{Л}$, \pause то есть $\alpha\in M$ и $\neg\beta\in M$. \pause 231 | Также, $\alpha,\neg\beta\vdash\neg(\alpha\to\beta)$, отсюда $M\vdash\neg(\alpha\to\beta)$. \pause 232 | Предположим, что $\alpha\to\beta\in M$, то $M\vdash\alpha\to\beta$ --- отсюда 233 | $\alpha\to\beta\notin M$. 234 | \end{enumerate} 235 | \end{proof} 236 | \end{frame} 237 | 238 | \begin{frame}{Доказательство теоремы о существовании модели} 239 | \begin{proof} 240 | Пусть $M$ --- непротиворечивое множество замкнутых бескванторных формул.\pause 241 | 242 | По теореме о пополнении существует $M'$ --- полное непротиворечивое множество замкнутых бескванторных формул, 243 | что $M \subseteq M'$.\pause 244 | 245 | По лемме $M'$ имеет модель, эта модель подойдёт для $M$. 246 | \end{proof} 247 | \end{frame} 248 | 249 | \begin{frame}{Формулировка и схема доказательства теоремы Гёделя о полноте} 250 | 251 | \begin{thm}[Гёделя о полноте исчисления предикатов] 252 | Если $M$ --- непротиворечивое множество замкнутых формул, то оно имеет модель. 253 | \end{thm} 254 | \begin{proof}[Схема доказательства] 255 | \tikz{ 256 | \node (M) at (0,3) {$M$}; 257 | \node (M1) at (1,0) {$M^\text{Б}$}; 258 | \node (Md1) at (6,0) {$\mathcal{M}$}; 259 | \node (Md) at (7,3) {$\mathcal{M}$}; 260 | \draw[->] (M) -- node[pos=0.2,right]{\hspace{0.2cm}\begin{minipage}{4cm}сохраняет\\непротиворечивость\end{minipage}} (M1); 261 | \draw[->] (M1) -- node[below]{\begin{minipage}{4cm}теорема о\\существовании модели\end{minipage}} (Md1); 262 | \draw[->] (Md1) -- node[pos=0.8,right]{тоже модель} (Md); 263 | \draw[dashed] (-2,1) -- (9,1); 264 | \node[above] (Q) at (-2,1) {\it Формулы с кванторами}; 265 | \node[below] (Qf) at (-2,1) {\it Бескванторные}; 266 | } 267 | \end{proof} 268 | \end{frame} 269 | 270 | \begin{frame}{Поверхностные кванторы (предварённая форма)} 271 | \begin{dfn} 272 | Формула $\varphi$ имеет поверхностные кванторы (находится в предварённой форме), если 273 | соответствует грамматике 274 | $$\varphi ::= \forall x.\varphi\ |\ \exists x.\varphi\ |\ \tau$$ 275 | где $\tau$ --- формула без кванторов 276 | \end{dfn}\pause 277 | \begin{thm} 278 | Для любой замкнутой формулы $\psi$ найдётся такая формула $\varphi$ с поверхностными кванторами, 279 | что $\vdash \psi\to\varphi$ и $\vdash\varphi\to\psi$ 280 | \end{thm} 281 | \begin{proof}Индукция по структуре, применение теорем о перемещении кванторов (из 5 ДЗ). 282 | \end{proof} 283 | \end{frame} 284 | 285 | \begin{frame}{Построение $M^*$} 286 | \begin{itemize} 287 | \item Пусть $M$ --- полное непротиворечивое множество замкнутых формул с поверхностными кванторами (очевидно, счётное). \pause 288 | Построим семейство непротиворечивых множеств замкнутых формул $M_k$.\pause 289 | \item Пусть $d^k_i$ --- семейство \emph{свежих} констант, в $M$ не встречающихся.\pause 290 | \item Индуктивно построим $M_k$: 291 | \begin{itemize} 292 | \item База: $M_0 = M$\pause 293 | \item Переход: положим $M_{k+1} = M_k \cup S$, где множество $S$ получается перебором всех формул $\varphi_i \in M_k$.\pause 294 | \begin{enumerate} 295 | \item $\varphi_i$ --- формула без кванторов, пропустим;\pause 296 | \item $\varphi_i = \forall x.\psi$ --- добавим к $S$ все формулы вида $\psi [x := \theta]$, где 297 | $\theta$ --- всевозможные замкнутые термы, использующие символы из $M_k$;\pause 298 | \item $\varphi_i = \exists x.\psi$ --- добавим к $S$ формулу $\psi [x := d^{k+1}_i]$, где $d^{k+1}_i$ --- некоторая 299 | свежая, ранее не использовавшаяся в $M_k$, константа.\pause 300 | \end{enumerate} 301 | \end{itemize} 302 | \end{itemize} 303 | \end{frame} 304 | 305 | \begin{frame}{Непротиворечивость $M_k$} 306 | \begin{lmm}Если $M$ непротиворечиво, то каждое множество из $M_k$ --- непротиворечиво\end{lmm} 307 | \begin{proof}Доказательство по индукции, база очевидна ($M_0 = M$). \pause 308 | Переход: \begin{itemize} 309 | \item пусть $M_k$ непротиворечиво, но $M_{k+1}$ --- противоречиво: $M_k, M_{k+1}\setminus M_k \vdash A\with\neg A$. \pause 310 | \item Тогда (т.к. доказательство конечной длины): 311 | $M_k, \gamma_1, \gamma_2, \dots,\gamma_n\vdash A\with\neg A$ 312 | , где $\gamma_i \in M_{k+1}\setminus M_k$. \pause 313 | \item По теореме о дедукции: $M_k\vdash \gamma_1\to\gamma_2\to\dots\to\gamma_n\to A\with\neg A$. \pause 314 | \item Научимся выкидывать первую посылку: $M_k\vdash \gamma_2\to\dots\to\gamma_n\to A\with\neg A$. \pause 315 | \item И по индукции придём к противоречию: $M_k \vdash A\with\neg A$. 316 | \end{itemize} 317 | 318 | \end{proof} 319 | \end{frame} 320 | 321 | \begin{frame}{Устранение посылки} 322 | \begin{lmm} 323 | Если $M_k\vdash\gamma\to W$ и $\gamma\in M_{k+1}\setminus M_k$, то $M_k\vdash W$. 324 | \end{lmm} 325 | \begin{proof} 326 | Покажем, как дополнить доказательство до $M_k\vdash W$, в зависимости от происхождения $\gamma$: 327 | \pause 328 | 329 | \begin{itemize} 330 | \item Случай $\forall x.\varphi$: $\gamma = \varphi[x:=\theta]$. 331 | \pause 332 | Допишем в конец доказательства: 333 | 334 | \begin{tabular}{ll} 335 | $\forall x.\varphi$ & (гипотеза)\\\pause 336 | $(\forall x.\varphi)\to(\varphi[x:=\theta])$ & (сх. акс. 11)\\\pause 337 | $\gamma$ & (M.P.) \\\pause 338 | $W$ & (M.P.) 339 | \end{tabular} 340 | \end{itemize} 341 | \end{proof} 342 | \end{frame} 343 | 344 | \begin{frame}{Случай $\exists x.\varphi$} 345 | \begin{itemize}\item $\gamma = \varphi[x := d^{k+1}_i]$\pause 346 | 347 | 348 | \item Перестроим доказательство $M_k\vdash \gamma\to W$: 349 | заменим во всём доказательстве $d^{k+1}_i$ на $y$. 350 | Коллизий нет: под квантором $d^{k+1}_i$ не стоит, переменной не является. \pause 351 | \item Получим доказательство $M_k\vdash \gamma[d^{k+1}_i := y]\to W$ и дополним его: 352 | 353 | \begin{tabular}{ll} 354 | $\varphi[x := y]\to W$ & $\varphi[x := d^{k+1}_i][d^{k+1}_i := y]$\\\pause 355 | $(\exists y.\varphi[x:=y])\to W$ & $y$ не входит в $W$ \\\pause 356 | $(\exists x.\varphi)\to(\exists y.\varphi[x:=y])$ & доказуемо (упражнение)\\\pause 357 | \dots \\ 358 | $(\exists x.\varphi)\to W$ & доказуемо как $(\alpha\to\beta)\to(\beta\to\gamma)\vdash\alpha\to\gamma$ \\\pause 359 | $\exists x.\varphi$ & гипотеза\\\pause 360 | $W$ 361 | \end{tabular} 362 | \end{itemize} 363 | \qed 364 | \end{frame} 365 | 366 | \begin{frame}{Построение $M^\text{Б}$} 367 | \begin{dfn} $M^* = \bigcup_k M_k$\end{dfn}\pause 368 | \begin{thm} $M^*$ непротиворечиво.\end{thm}\pause 369 | \begin{proof} От противного: доказательство противоречия конечной длины, гипотезы лежат в максимальном $M_k$, тогда $M_k$ противоречив.\pause 370 | \end{proof} 371 | \begin{dfn}$M^\text{Б}$ --- множество всех бескванторных формул из $M^*$.\pause\end{dfn}\pause 372 | По непротиворечивому множеству $M$ можем построить $M^\text{Б}$ и для него построить модель $\mathcal{M}$. 373 | Покажем, что эта модель годится для $M^*$ (и для $M$, так как $M \subset M^*$). 374 | \end{frame} 375 | 376 | \begin{frame}{Модель для $M^*$} 377 | \begin{lmm}$\mathcal{M}$ есть модель для $M^*$.\end{lmm}\pause 378 | \begin{proof} 379 | Покажем, что при $\varphi\in M^*$ выполнено $\mathcal{M}\models\varphi$. Докажем индукцией по количеству кванторов в $\varphi$.\pause 380 | \begin{itemize} 381 | \item База: $\varphi$ без кванторов. Тогда $\varphi\in M^\text{Б}$, отсюда $\mathcal{M}\models\varphi$ по построению $\mathcal{M}$.\pause 382 | \item Переход: пусть утверждение выполнено для всех формул с $n$ кванторами. Покажем, что это выполнено и для $n+1$ кванторов.\pause 383 | \begin{itemize} 384 | \item Рассмотрим $\varphi = \exists x.\psi$, случай квантор всеобщности --- аналогично.\pause 385 | 386 | \item Раз $\exists x.\psi \in M^*$, то существует $k$, что $\exists x.\psi \in M_k$.\pause 387 | \item Значит, $\psi[x := d^{k+1}_i] \in M_{k+1}$. \pause 388 | \item По индукционному предположению, $\mathcal{M}\models\psi[x := d^{k+1}_i]$ --- в формуле $n$ кванторов.\pause 389 | \item Но тогда $\llbracket \psi \rrbracket^{x := \llbracket d^{k+1}_i\rrbracket} = \text{И}$.\pause 390 | \item Отсюда $\mathcal{M}\models\exists x.\psi$. 391 | \end{itemize} 392 | \end{itemize} 393 | \end{proof} 394 | \end{frame} 395 | 396 | \begin{frame}{Теорема Гёделя о полноте исчисления предикатов} 397 | \begin{thm}[Гёделя о полноте исчисления предикатов] 398 | Если $M$ --- замкнутое непротиворечивое множество формул, то оно имеет модель.\pause 399 | \end{thm} 400 | \begin{proof} 401 | \begin{itemize} 402 | \item Построим по $M$ множество формул с поверхностными кванторами $M'$.\pause 403 | \item По $M'$ построим непротиворечивое множество замкнутых бескванторных формул $M^\text{Б}$ ($M^\text{Б}\subseteq M^*$, теорема о непротиворечивости $M^*$).\pause 404 | \item Дополним его до полного, построим для него модель $\mathcal{M}$ (теорема о существовании модели).\pause 405 | \item $\mathcal{M}$ будет моделью и для $M'$ ($M'\subseteq M^*$, лемма о модели для $M^*$), и, очевидно, для $M$. 406 | \end{itemize} 407 | \end{proof} 408 | \end{frame} 409 | 410 | \begin{frame}{Полнота исчисления предикатов} 411 | \begin{flw}[из теоремы Гёделя о полноте] 412 | Исчисление предикатов полно. 413 | \end{flw} 414 | \begin{proof} 415 | \begin{itemize} 416 | \item Пусть это не так, и существует формула $\varphi$, что $\models\varphi$, но $\not\vdash\varphi$.\pause 417 | \item Тогда рассмотрим $M = \{\neg\varphi\}$. \pause 418 | \item $M$ непротиворечиво: если $\neg\varphi \vdash A\with\neg A$, то $\vdash \varphi$ (упражнение).\pause 419 | \item Значит, у $M$ есть модель $\mathcal{M}$, и $\mathcal{M}\models\neg\varphi$. \pause 420 | \item Значит, $\llbracket \neg\varphi \rrbracket = \text{И}$, поэтому $\llbracket \varphi \rrbracket = \text{Л}$, 421 | поэтому $\not\models\varphi$. Противоречие. 422 | \end{itemize} 423 | \end{proof} 424 | \end{frame} 425 | 426 | \begin{frame}{О доказательстве непротиворечивости множества формул} 427 | \begin{thm} Если у множества формул $M$ есть модель $\mathcal{M}$, оно непротиворечиво. \end{thm}\pause 428 | \begin{proof}Пусть противоречиво: $M\vdash A\with\neg A$, в доказательстве использованы гипотезы 429 | $\delta_1, \delta_2,\dots,\delta_n$. \pause Тогда $\vdash \delta_1\to\delta_2\to\dots\to\delta_n\to A\with\neg A$, 430 | то есть $\llbracket\delta_1\to\delta_2\to\dots\to\delta_n\to A\with\neg A\rrbracket = \text{И}$ (корректность). 431 | \pause Поскольку все $\llbracket \delta_i \rrbracket_\mathcal{M} = \text{И}$, то 432 | и $\llbracket A\with\neg A\rrbracket_\mathcal{M} = \text{И}$ (анализ таблицы истинности импликации). \pause 433 | Однако $\llbracket A \with\neg A \rrbracket = \text{Л}$. Противоречие.\end{proof}\pause 434 | \begin{flw} Исчисление предикатов непротиворечиво \end{flw}\pause 435 | \begin{proof} Рассмотрим $M = \varnothing$ и любую классическую модель.\end{proof}\pause 436 | Доказательства опираются на непротиворечивость метатеории. 437 | \end{frame} 438 | 439 | \begin{frame}{Модели для непротиворечивых множеств замкнутых бескванторных формул} 440 | \begin{dfn}Моделью для множества формул $F$ назовём такую модель $\mathcal{M}$, что 441 | при всяком $\varphi \in F$ выполнено $\llbracket\varphi\rrbracket_\mathcal{M} = \text{И}$.\pause 442 | 443 | Альтернативное обозначение: $\mathcal{M}\models\varphi$. 444 | \end{dfn}\pause 445 | 446 | \begin{thm} 447 | Любое непротиворечивое множество замкнутых бескванторных формул имеет модель. 448 | \end{thm} 449 | 450 | \end{frame} 451 | 452 | \begin{frame}{Конструкция для модели} 453 | \begin{dfn} 454 | Пусть $M$ --- полное непротиворечивое множество замкнутых бескванторных формул. Тогда 455 | модель $\mathcal{M}$ задаётся так:\pause 456 | \begin{enumerate} 457 | \item $D$ --- множество всевозможных предметных выражений без предметных переменных и дополнительная строка ``ошибка!''\pause 458 | \item $\llbracket f(\theta_1,\dots,\theta_n) \rrbracket = \mbox{``f(''} \mdoubleplus \llbracket\theta_1\rrbracket \mdoubleplus \mbox{ ``,'' } 459 | \mdoubleplus \dots \mdoubleplus \mbox{ ``,'' } \mdoubleplus \llbracket\theta_n\rrbracket \mdoubleplus \mbox {``)'' } $\pause 460 | \item $\llbracket P(\theta_1,\dots,\theta_n)\rrbracket = \left\{ 461 | \begin{array}{ll} \mbox{И}, &\mbox{ если } \mbox{``P(''} \mdoubleplus \llbracket\theta_1\rrbracket \mdoubleplus \mbox{``,''} 462 | \mdoubleplus\dots \mdoubleplus\mbox{``,''} \mdoubleplus \llbracket\theta_n\rrbracket \mdoubleplus \mbox{``)''} \in M\\ 463 | \mbox{Л}, &\mbox{ иначе}\end{array}\right.$\pause 464 | \item $\llbracket x \rrbracket = \mbox{``ошибка!''}$, так как формулы замкнуты. 465 | \end{enumerate} 466 | \end{dfn} 467 | \end{frame} 468 | 469 | \begin{frame}{Доказательство корректности} 470 | \begin{lmm}Пусть $\varphi$ --- бескванторная формула, тогда $\mathcal{M}\models\varphi$ тогда и только тогда, когда $\varphi\in M$. 471 | \end{lmm}\pause 472 | 473 | \begin{proof}[Доказательство (индукция по длине формулы $\varphi$)] 474 | \begin{enumerate} 475 | \item База. $\varphi$ --- предикат. Требуемое очевидно по определению $\mathcal{M}$.\pause 476 | \item Переход. Пусть $\varphi = \alpha\star\beta$ (или $\varphi=\neg\alpha$), причём $\mathcal{M}\models\alpha$ ($\mathcal{M}\models\beta$) 477 | тогда и только тогда, когда $\alpha\in M$ ($\beta\in M$).\pause 478 | 479 | Тогда покажем требуемое для каждой связки в отдельности. А именно, для каждой связки покажем два утверждения: 480 | \begin{enumerate} 481 | \item если $\mathcal{M}\models\alpha\star\beta$, то $\alpha\star\beta \in M$. 482 | 483 | \item если $\mathcal{M}\not\models\alpha\star\beta$, то $\alpha\star\beta \notin M$. 484 | \end{enumerate} 485 | \end{enumerate} 486 | \end{proof} 487 | \end{frame} 488 | 489 | \begin{frame}{Доказательство утверждений для связок} 490 | Если $\varphi = \alpha\to\beta$ и для любой формулы $\zeta$, более короткой, чем $\varphi$, выполнено 491 | $\mathcal{M}\models\zeta$ тогда и только тогда, когда $\zeta\in M$, тогда: 492 | \begin{enumerate} 493 | \item если $\mathcal{M}\models\alpha\to\beta$, то $\alpha\to\beta\in M$; 494 | \item если $\mathcal{M}\not\models\alpha\to\beta$, то $\alpha\to\beta\notin M$. 495 | \end{enumerate} 496 | \begin{proof}[Доказательство (разбором случаев)] 497 | \begin{enumerate}\pause 498 | \item $\mathcal{M}\models\alpha\to\beta$: $\llbracket\alpha\rrbracket = \text{Л}$. \pause 499 | Тогда по предположению $\alpha\notin M$, потому по полноте 500 | $\neg\alpha\in M$. \pause И, поскольку в ИВ $\neg\alpha\vdash\alpha\to\beta$, то $M \vdash \alpha\to\beta$. \pause 501 | Значит, $\alpha\to\beta \in M$, иначе по полноте $\neg(\alpha\to\beta) \in M$, что делает $M$ противоречивым.\pause 502 | \item $\mathcal{M}\models\alpha\to\beta$: $\llbracket\alpha\rrbracket = \text{И}$ и $\llbracket\beta\rrbracket = \text{И}$. Рассуждая аналогично, 503 | используя $\alpha,\beta\vdash\alpha\to\beta$, приходим к $\alpha\to\beta \in M$.\pause 504 | \item $\mathcal{M}\not\models\alpha\to\beta$. Тогда $\llbracket\alpha\rrbracket=\text{И}$, 505 | $\llbracket\beta\rrbracket=\text{Л}$, \pause то есть $\alpha\in M$ и $\neg\beta\in M$. \pause 506 | Также, $\alpha,\neg\beta\vdash\neg(\alpha\to\beta)$, отсюда $M\vdash\neg(\alpha\to\beta)$. \pause 507 | Предположим, что $\alpha\to\beta\in M$, то $M\vdash\alpha\to\beta$ --- отсюда 508 | $\alpha\to\beta\notin M$. 509 | \end{enumerate} 510 | \end{proof} 511 | \end{frame} 512 | 513 | \begin{frame}{Доказательство теоремы о существовании модели} 514 | \begin{proof} 515 | Пусть $M$ --- непротиворечивое множество замкнутых бескванторных формул.\pause 516 | 517 | По теореме о пополнении существует $M'$ --- полное непротиворечивое множество замкнутых бескванторных формул, 518 | что $M \subseteq M'$.\pause 519 | 520 | По лемме $M'$ имеет модель, эта модель подойдёт для $M$. 521 | \end{proof} 522 | \end{frame} 523 | 524 | \begin{frame}{Формулировка и схема доказательства теоремы Гёделя о полноте} 525 | 526 | \begin{thm}[Гёделя о полноте исчисления предикатов] 527 | Если $M$ --- непротиворечивое множество замкнутых формул, то оно имеет модель. 528 | \end{thm} 529 | \begin{proof}[Схема доказательства] 530 | \tikz{ 531 | \node (M) at (0,3) {$M$}; 532 | \node (M1) at (1,0) {$M^\text{Б}$}; 533 | \node (Md1) at (6,0) {$\mathcal{M}$}; 534 | \node (Md) at (7,3) {$\mathcal{M}$}; 535 | \draw[->] (M) -- node[pos=0.2,right]{\hspace{0.2cm}\begin{minipage}{4cm}сохраняет\\непротиворечивость\end{minipage}} (M1); 536 | \draw[->] (M1) -- node[below]{\begin{minipage}{4cm}теорема о\\существовании модели\end{minipage}} (Md1); 537 | \draw[->] (Md1) -- node[pos=0.8,right]{тоже модель} (Md); 538 | \draw[dashed] (-2,1) -- (9,1); 539 | \node[above] (Q) at (-2,1) {\it Формулы с кванторами}; 540 | \node[below] (Qf) at (-2,1) {\it Бескванторные}; 541 | } 542 | \end{proof} 543 | \end{frame} 544 | 545 | \begin{frame}{Поверхностные кванторы (предварённая форма)} 546 | \begin{dfn} 547 | Формула $\varphi$ имеет поверхностные кванторы (находится в предварённой форме), если 548 | соответствует грамматике 549 | $$\varphi ::= \forall x.\varphi\ |\ \exists x.\varphi\ |\ \tau$$ 550 | где $\tau$ --- формула без кванторов 551 | \end{dfn}\pause 552 | \begin{thm} 553 | Для любой замкнутой формулы $\psi$ найдётся такая формула $\varphi$ с поверхностными кванторами, 554 | что $\vdash \psi\to\varphi$ и $\vdash\varphi\to\psi$ 555 | \end{thm} 556 | \begin{proof}Индукция по структуре, применение теорем о перемещении кванторов (из 5 ДЗ). 557 | \end{proof} 558 | \end{frame} 559 | 560 | \begin{frame}{Построение $M^*$} 561 | \begin{itemize} 562 | \item Пусть $M$ --- полное непротиворечивое множество замкнутых формул с поверхностными кванторами (очевидно, счётное). \pause 563 | Построим семейство непротиворечивых множеств замкнутых формул $M_k$.\pause 564 | \item Пусть $d^k_i$ --- семейство \emph{свежих} констант, в $M$ не встречающихся.\pause 565 | \item Индуктивно построим $M_k$: 566 | \begin{itemize} 567 | \item База: $M_0 = M$\pause 568 | \item Переход: положим $M_{k+1} = M_k \cup S$, где множество $S$ получается перебором всех формул $\varphi_i \in M_k$.\pause 569 | \begin{enumerate} 570 | \item $\varphi_i$ --- формула без кванторов, пропустим;\pause 571 | \item $\varphi_i = \forall x.\psi$ --- добавим к $S$ все формулы вида $\psi [x := \theta]$, где 572 | $\theta$ --- всевозможные замкнутые термы, использующие символы из $M_k$;\pause 573 | \item $\varphi_i = \exists x.\psi$ --- добавим к $S$ формулу $\psi [x := d^{k+1}_i]$, где $d^{k+1}_i$ --- некоторая 574 | свежая, ранее не использовавшаяся в $M_k$, константа.\pause 575 | \end{enumerate} 576 | \end{itemize} 577 | \end{itemize} 578 | \end{frame} 579 | 580 | \begin{frame}{Непротиворечивость $M_k$} 581 | \begin{lmm}Если $M$ непротиворечиво, то каждое множество из $M_k$ --- непротиворечиво\end{lmm} 582 | \begin{proof}Доказательство по индукции, база очевидна ($M_0 = M$). \pause 583 | Переход: \begin{itemize} 584 | \item пусть $M_k$ непротиворечиво, но $M_{k+1}$ --- противоречиво: $M_k, M_{k+1}\setminus M_k \vdash A\with\neg A$ \pause 585 | \item Тогда (т.к. доказательство конечной длины): 586 | $M_k, \gamma_1, \gamma_2, \dots,\gamma_n\vdash A\with\neg A$ 587 | где $\gamma_i \in M_{k+1}\setminus M_k$. \pause 588 | \item По теореме о дедукции: $M_k\vdash \gamma_1\to\gamma_2\to\dots\to\gamma_n\to A\with\neg A$ \pause 589 | \item Научимся выкидывать первую посылку: $M_k\vdash \gamma_2\to\dots\to\gamma_n\to A\with\neg A$ \pause 590 | \item И по индукции придём к противоречию: $M_k \vdash A\with\neg A$. 591 | \end{itemize} 592 | 593 | \end{proof} 594 | \end{frame} 595 | 596 | \begin{frame}{Устранение посылки} 597 | \begin{lmm} 598 | Если $M_k\vdash\gamma\to W$ и $\gamma\in M_{k+1}\setminus M_k$, то $M_k\vdash W$. 599 | \end{lmm} 600 | \begin{proof} 601 | Покажем, как дополнить доказательство до $M_k\vdash W$, в зависимости от происхождения $\gamma$: 602 | \pause 603 | 604 | \begin{itemize} 605 | \item Случай $\forall x.\varphi$: $\gamma = \varphi[x:=\theta]$. 606 | \pause 607 | Допишем в конец доказательства: 608 | 609 | \begin{tabular}{ll} 610 | $\forall x.\varphi$ & (гипотеза)\\\pause 611 | $(\forall x.\varphi)\to(\varphi[x:=\theta])$ & (сх. акс. 11)\\\pause 612 | $\gamma$ & (M.P.) \\\pause 613 | $W$ & (M.P.) 614 | \end{tabular} 615 | \end{itemize} 616 | \end{proof} 617 | \end{frame} 618 | 619 | \begin{frame}{Случай $\exists x.\varphi$} 620 | \begin{itemize}\item $\gamma = \varphi[x := d^{k+1}_i]$\pause 621 | 622 | 623 | \item Перестроим доказательство $M_k\vdash \gamma\to W$: 624 | заменим во всём доказательстве $d^{k+1}_i$ на $y$. 625 | Коллизий нет: под квантором $d^{k+1}_i$ не стоит, переменной не является. \pause 626 | \item Получим доказательство $M_k\vdash \gamma[d^{k+1}_i := y]\to W$ и дополним его: 627 | 628 | \begin{tabular}{ll} 629 | $\varphi[x := y]\to W$ & $\varphi[x := d^{k+1}_i][d^{k+1}_i := y]$\\\pause 630 | $(\exists y.\varphi[x:=y])\to W$ & $y$ не входит в $W$ \\\pause 631 | $(\exists x.\varphi)\to(\exists y.\varphi[x:=y])$ & доказуемо (упражнение)\\\pause 632 | \dots \\ 633 | $(\exists x.\varphi)\to W$ & доказуемо как $(\alpha\to\beta)\to(\beta\to\gamma)\vdash\alpha\to\gamma$ \\\pause 634 | $\exists x.\varphi$ & гипотеза\\\pause 635 | $W$ 636 | \end{tabular} 637 | \end{itemize} 638 | \qed 639 | \end{frame} 640 | 641 | \begin{frame}{Построение $M^\text{Б}$} 642 | \begin{dfn} $M^* = \bigcup_k M_k$\end{dfn}\pause 643 | \begin{thm} $M^*$ непротиворечиво.\end{thm}\pause 644 | \begin{proof} От противного: доказательство противоречия конечной длины, гипотезы лежат в максимальном $M_k$, тогда $M_k$ противоречив.\pause 645 | \end{proof} 646 | \begin{dfn}$M^\text{Б}$ --- множество всех бескванторных формул из $M^*$.\pause\end{dfn}\pause 647 | По непротиворечивому множеству $M$ можем построить $M^\text{Б}$ и для него построить модель $\mathcal{M}$. 648 | Покажем, что эта модель годится для $M^*$ (и для $M$, так как $M \subset M^*$). 649 | \end{frame} 650 | 651 | \begin{frame}{Модель для $M^*$} 652 | \begin{lmm}$\mathcal{M}$ есть модель для $M^*$.\end{lmm}\pause 653 | \begin{proof} 654 | Покажем, что при $\varphi\in M^*$ выполнено $\mathcal{M}\models\varphi$. Докажем индукцией по количеству кванторов в $\varphi$.\pause 655 | \begin{itemize} 656 | \item База: $\varphi$ без кванторов. Тогда $\varphi\in M^\text{Б}$, отсюда $\mathcal{M}\models\varphi$ по построению $\mathcal{M}$.\pause 657 | \item Переход: пусть утверждение выполнено для всех формул с $n$ кванторами. Покажем, что это выполнено и для $n+1$ кванторов.\pause 658 | \begin{itemize} 659 | \item Рассмотрим $\varphi = \exists x.\psi$, случай квантор всеобщности --- аналогично.\pause 660 | 661 | \item Раз $\exists x.\psi \in M^*$, то существует $k$, что $\exists x.\psi \in M_k$.\pause 662 | \item Значит, $\psi[x := d^{k+1}_i] \in M_{k+1}$. \pause 663 | \item По индукционному предположению, $\mathcal{M}\models\psi[x := d^{k+1}_i]$ --- в формуле $n$ кванторов.\pause 664 | \item Но тогда $\llbracket \psi \rrbracket^{x := \llbracket d^{k+1}_i\rrbracket} = \text{И}$.\pause 665 | \item Отсюда $\mathcal{M}\models\exists x.\psi$. 666 | \end{itemize} 667 | \end{itemize} 668 | \end{proof} 669 | \end{frame} 670 | 671 | \begin{frame}{Теорема Гёделя о полноте исчисления предикатов} 672 | \begin{thm}[Гёделя о полноте исчисления предикатов] 673 | Если $M$ --- замкнутое непротиворечивое множество формул, то оно имеет модель.\pause 674 | \end{thm} 675 | \begin{proof} 676 | \begin{itemize} 677 | \item Построим по $M$ множество формул с поверхностными кванторами $M'$.\pause 678 | \item По $M'$ построим непротиворечивое множество замкнутых бескванторных формул $M^\text{Б}$ ($M^\text{Б}\subseteq M^*$, теорема о непротиворечивости $M^*$).\pause 679 | \item Дополним его до полного, построим для него модель $\mathcal{M}$ (теорема о существовании модели).\pause 680 | \item $\mathcal{M}$ будет моделью и для $M'$ ($M'\subseteq M^*$, лемма о модели для $M^*$), и, очевидно, для $M$. 681 | \end{itemize} 682 | \end{proof} 683 | \end{frame} 684 | 685 | \begin{frame}{Полнота исчисления предикатов} 686 | \begin{flw}[из теоремы Гёделя о полноте] 687 | Исчисление предикатов полно. 688 | \end{flw} 689 | \begin{proof} 690 | \begin{itemize} 691 | \item Пусть это не так, и существует формула $\varphi$, что $\models\varphi$, но $\not\vdash\varphi$.\pause 692 | \item Тогда рассмотрим $M = \{\neg\varphi\}$. \pause 693 | \item $M$ непротиворечиво: если $\neg\varphi \vdash A\with\neg A$, то $\vdash \varphi$ (упражнение).\pause 694 | \item Значит, у $M$ есть модель $\mathcal{M}$, и $\mathcal{M}\models\neg\varphi$. \pause 695 | \item Значит, $\llbracket \neg\varphi \rrbracket = \text{И}$, поэтому $\llbracket \varphi \rrbracket = \text{Л}$, 696 | поэтому $\not\models\varphi$. Противоречие. 697 | \end{itemize} 698 | \end{proof} 699 | \end{frame} 700 | \end{document} 701 | -------------------------------------------------------------------------------- /07-lection-undecidability.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/07-lection-undecidability.pdf -------------------------------------------------------------------------------- /07-lection-undecidability.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usetikzlibrary{patterns} 12 | \usepackage{chronosys} 13 | \usepackage{proof} 14 | \usepackage{multirow} 15 | \usepackage{multicol} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{lmm}{Лемма}[section] 21 | \newtheorem{dfn}{Определение}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 24 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 25 | 26 | \begin{document} 27 | 28 | \begin{frame} 29 | \begin{center}\Large {\it Лекция 7}\\\vspace{0.5cm} 30 | Неразрешимость исчисления предикатов\\ 31 | Аксиоматика Пеано и формальная арифметика 32 | \end{center} 33 | \end{frame} 34 | 35 | \begin{frame}{Машина Тьюринга} 36 | \begin{dfn}Машина Тьюринга --- упорядоченная тройка: 37 | \begin{enumerate} 38 | \item Внешний алфавит $q_1, \dots, q_n$ 39 | \item Внутренний алфавит (состояний) $s_1, \dots, s_k$; $s_s$ --- начальное, $s_f$ --- конечное. 40 | \item Таблица переходов $\langle k, s \rangle \Rightarrow \langle k', s', \leftrightarrow \rangle$ 41 | \end{enumerate} 42 | \end{dfn} 43 | 44 | \begin{dfn}Состояние машины Тьюринга --- упорядоченная тройка: 45 | \begin{enumerate} 46 | \item Бесконечная лента с символом-заполнителем $q_\varepsilon$, текст конечной длины. 47 | \item Головка над определённым символом. 48 | \item Символ состояния (состояние в узком смысле) --- символ внутреннего алфавита. 49 | \end{enumerate} 50 | \end{dfn} 51 | 52 | \end{frame} 53 | 54 | \begin{frame}{Машина, меняющая все 0 на 1, а все 1 --- на 0} 55 | \begin{enumerate} 56 | \item Внешний алфавит $\varepsilon, 0, 1$. 57 | \item Внутренний алфавит $s_s, s_f$ (начальное и завершающее состояния соответственно). 58 | \item Переходы: 59 | 60 | \begin{tabular}{l|lll} 61 | & $\varepsilon$ & 0 & 1\\\hline 62 | $s_s$ & $\langle s_f,\varepsilon,\cdot\rangle$ & $\langle s_s,1,\rightarrow\rangle$ & $\langle s_s,0,\rightarrow\rangle$\\ 63 | $s_f$ & $\langle s_f,\varepsilon,\cdot\rangle$ & $\langle s_f,0,\cdot\rangle$ & $\langle s_f,1,\cdot\rangle$ 64 | \end{tabular} 65 | \end{enumerate}\pause 66 | 67 | \begin{exm} 68 | Головка --- на первом символе $011$, состояние $s_s$.\pause 69 | 70 | $\underline{0}11$ \pause $\Rightarrow 1\underline{1}1$ \pause $\Rightarrow 10\underline{1}$ \pause $\Rightarrow 100\underline{\varepsilon}$ 71 | \pause 72 | 73 | Состояние $s_f$, завершающее. 74 | \end{exm} 75 | 76 | \end{frame} 77 | 78 | \begin{frame}{Разрешимость} 79 | \begin{dfn}Язык --- множество строк\end{dfn} 80 | \begin{dfn}Язык $L$ разрешим, если существует машина Тьюринга, которая для любого слова $w$ возвращает ответ <<да>>, если $w \in L$, 81 | и <<нет>>, если $w \notin L$.\end{dfn} 82 | \end{frame} 83 | 84 | \begin{frame}{Неразрешимость задачи останова} 85 | \begin{dfn}Рассмотрим все возможные описания машин Тьюринга. Составим упорядоченные пары: описание машины Тьюринга и входная строка. 86 | Из них выделим язык останавливающихся на данном входе машин Тьюринга.\end{dfn} 87 | \begin{thm}Язык всех останавливающихся машин Тьюринга неразрешим\end{thm} 88 | \begin{proof}От противного. Пусть $S(x,y)$ --- машина Тьюринга, определяющая, остановится ли машина $x$, примененная к строке $y$.\pause 89 | \begin{center}W(x) = if (S(x,x)) \{ while (true); return 0; \} else \{ return 1; \}\end{center}\pause 90 | Что вернёт $S(code(W),code(W))$? 91 | \end{proof} 92 | \end{frame} 93 | 94 | \begin{frame}{Кодируем состояние} 95 | \begin{enumerate} 96 | \item внешний алфавит: $n$ 0-местных функциональных символов $q_1, \dots, q_n$; $q_\varepsilon$ --- символ-заполнитель. 97 | \item список: $\varepsilon$ и $c(l,s)$; <> представим как $c(q_a,c(q_b,c(q_c,\varepsilon)))$. 98 | \item положение головки: <> как $(c(q_b,c(q_a,\varepsilon)), c(q_p,c(q_q,\varepsilon)))$. 99 | \item внутренний алфавит: $k$ 0-местных функциональных символов $s_1, \dots, s_k$. Из них выделенные $s_s$ --- начальное и 100 | $s_f$ --- завершающее состояние. 101 | \end{enumerate} 102 | \end{frame} 103 | 104 | \begin{frame}{Достижимые состояния} 105 | Предикатный символ $F_{x,y}(w_l,w_r,s)$: если у машины $x$ с начальной строкой $y$ состояние $s$ достижимо на строке $rev(w_l) @ w_r$. 106 | \pause 107 | Будем накладывать условия: семейство формул $C_m$. \pause 108 | Очевидно, начальное состояние достижимо: 109 | $$C_0 = F_{x,y}(\varepsilon,x,s_s)$$ 110 | \end{frame} 111 | 112 | 113 | \begin{frame}{Кодируем переходы} 114 | \begin{enumerate} 115 | \item Занумеруем переходы.\pause 116 | \item Закодируем переход $m$: $$\langle k, s \rangle \Rightarrow \langle k', s', \rightarrow \rangle$$ 117 | $C_m = \forall w_l.\forall w_r.F_{x,y}(w_l,c(q_k,w_r),s_s) \rightarrow F_{x,y}(c(q_{k'},w_l),w_r,s_{s'})$\pause 118 | 119 | \item Переход посложнее: 120 | $$\langle k, s \rangle \Rightarrow \langle k', s', \leftarrow \rangle$$ 121 | $C_m = \forall w_l.\forall w_r.\forall t.F_{x,y}(c(t,w_l),c(q_k,w_r),s_s) \rightarrow F_{x,y}(w_l,c(t,c(q_{k'},w_r)),s_{s'}) \with 122 | \forall w_l.\forall w_r.F_{x,y}(\varepsilon,c(q_k,w_r),s_s) \rightarrow F_{x,y}(\varepsilon,c(q_\varepsilon,c(q_{k'},w_r)),s_{s'})$\\ 123 | \pause 124 | \item и т.п. 125 | \end{enumerate} 126 | \end{frame} 127 | 128 | \begin{frame}{Итоговая формула} 129 | $$C = C_0 \with C_1 \with \dots \with C_n$$ 130 | <<правильное начальное состояние и правильные переходы между состояниями>>\pause 131 | 132 | \begin{thm} 133 | состояние $s$ со строкой $rev(w_l)@w_r$ достижимо тогда и только тогда, когда 134 | $C \vdash F_{x,y}(w_l,w_r,s)$\pause 135 | \end{thm} 136 | \begin{proof} 137 | $(\Leftarrow)$ Рассмотрим модель: предикат $F_{x,y}(w_l,w_r,s)$ положим истинным, если состояние достижимо. \pause 138 | Это --- модель для $C$ (по построению $C_m$). \pause 139 | Значит, доказуемость влечёт истинность (по корректности). \pause 140 | 141 | $(\Rightarrow)$ Индукция по длине лога исполнения. 142 | \end{proof} 143 | \end{frame} 144 | 145 | \begin{frame}{Неразрешимость исчисления предикатов: доказательство} 146 | \begin{thm}Язык всех доказуемых формул исчисления предикатов неразрешим\end{thm} 147 | Т.е. нет машины Тьюринга, которая бы по любой формуле $s$ определяла, доказуема ли она.\pause 148 | \begin{proof} $s_f$ --- завершающее состояние.\pause 149 | 150 | Умение определять истинность формулы $\exists w_l.\exists w_r.F_{x,y}(w_l,w_r,s_f)$ разрешает задачу останова. 151 | \end{proof} 152 | \end{frame} 153 | 154 | \begin{frame} 155 | \begin{center}\LARGE Аксиоматика Пеано и формальная арифметика\end{center} 156 | 157 | \end{frame} 158 | 159 | \begin{frame}{Какие мы знаем числа?} 160 | \begin{enumerate} 161 | \item Вещественные ($\mathbb{R}$). \pause $X = \{ A, B \}$, где $A,B \subseteq \mathbb{Q}$ --- дедекиндово сечение, если:\pause 162 | \begin{enumerate} 163 | \item $A\cup B = \mathbb{Q}$\pause 164 | \item Если $a \in A$, $x \in \mathbb{Q}$ и $x \le a$, то $x \in A$\pause 165 | \item Если $b \in B$, $x \in \mathbb{Q}$ и $b \le x$, то $x \in B$\pause 166 | \item $A$ не содержит наибольшего.\pause 167 | \end{enumerate} 168 | 169 | $\mathbb{R}$ --- множество всех возможных дедекиндовых сечений. \pause 170 | 171 | \item Рациональные ($\mathbb{Q}$).\pause 172 | 173 | $Q = \mathbb{Z} \times \mathbb{N}$ --- множество всех простых дробей.\pause 174 | 175 | $\langle p,q \rangle$ --- то же, что $\frac{p}{q}$ \pause 176 | 177 | $\langle p_1,q_1 \rangle \equiv \langle p_2, q_2 \rangle$, если $p_1q_2 = p_2q_1$\pause 178 | 179 | \vspace{0.1cm} 180 | $\mathbb{Q} = Q/_\equiv$ 181 | 182 | \end{enumerate} 183 | \end{frame} 184 | 185 | \begin{frame}{Целые числа} 186 | 187 | 188 | {\itshape \hfill \begin{tabular}{r} <<Бог создал целые числа, всё остальное — дело рук человека.>>\\ 189 | Леопольд Кронекер\end{tabular}}\pause 190 | 191 | $$\mathbb{Z}: \dots -3, -2, -1, 0, 1, 2, 3, \dots$$\pause\vspace{-0.5cm} 192 | \begin{itemize} 193 | \item $Z = \{\langle x, y \rangle\ |\ x,y\in \mathbb{N}_0\}$ \pause 194 | \item Интуиция: $\langle x,y\rangle = x-y$\pause 195 | \item $$\begin{array}{rcl} 196 | \langle a, b \rangle + \langle c, d \rangle & = & \langle a + c, b + d \rangle \\ \pause 197 | \langle a, b \rangle - \langle c, d \rangle & = & \langle a + d, b + c \rangle 198 | \end{array}$$\pause 199 | \item Пусть $\langle a, b \rangle \equiv \langle c,d\rangle$, если $a + d = b + c$. Тогда $\mathbb{Z} = Z/_\equiv$\pause 200 | \item $0 = [\langle 0,0 \rangle],\; 1 = [\langle 1,0\rangle],\; -7 = [\langle 0,7 \rangle]$ 201 | 202 | \end{itemize} 203 | \end{frame} 204 | 205 | \begin{frame}{Натуральные числа}\vspace{-0.5cm} 206 | $$\mathbb{N}: 1, 2, \dots \mbox{ или } \mathbb{N}_0: 0, 1, 2, \dots$$\vspace{-1cm}\pause 207 | \begin{dfn} 208 | $N$ (или, более точно, $\langle N, 0, (')\rangle$) \emph{соответствует} аксиоматике Пеано, 209 | если следующее определено/выполнено:\pause 210 | \begin{enumerate} 211 | \item Операция <<штрих>> $('): N \to N$, причём нет $a,b \in N$, что $a \ne b$, но $a' = b'$.\pause 212 | 213 | Если $x = y'$, то $x$ назовём следующим за $y$, а $y$ --- предшествующим $x$.\pause 214 | \item Константа $0 \in N$: нет $x \in N$, что $x' = 0$.\pause 215 | \item Индукция. Каково бы ни было свойство (<<предикат>>) $P: N \to V$, если: 216 | \begin{enumerate} 217 | \item $P(0)$ 218 | \item При любом $x\in N$ из $P(x)$ следует $P(x')$ 219 | \end{enumerate} 220 | то при любом $x \in N$ выполнено $P(x)$. 221 | \end{enumerate} 222 | \end{dfn}\pause 223 | Как построить? Например, в стиле алгебры Линденбаума:\pause 224 | \begin{enumerate} 225 | \item $N$ --- язык, порождённый грамматикой $\nu ::= \texttt{0}\ |\ \nu \texttt{<<'>>}$\pause 226 | \item $0$ --- это $\texttt{<<0>>}$, $x'$ --- это $x \doubleplus \texttt{<<'>>}$ 227 | \end{enumerate} 228 | \end{frame} 229 | 230 | \begin{frame}{Примеры: что не соответствует аксиомам Пеано} 231 | \begin{enumerate} 232 | \item $\mathbb{Z}$, где $x' = x^2$\\\pause 233 | 234 | Функция <<штрих>> не инъективна: $-3^2 = 3^2 = 9$\pause 235 | 236 | \item Кольцо вычетов $\mathbb{Z}/{7\mathbb{Z}}$, где $x' = x+1$\\\pause 237 | 238 | $6' = 0$, что нарушает свойства $0$\pause 239 | 240 | \item $\mathbb{R^+}\cup\{0\}$, где $x' = x+1$\\\pause 241 | 242 | пусть $P(x)$ означает <<$x \in \mathbb{Z}$>>:\pause \begin{enumerate} 243 | \item $P(0)$ выполнено: $0 \in \mathbb{Z}$.\pause 244 | \item Если $P(x)$, то есть $x \in \mathbb{Z}$, то и $x+1 \in \mathbb{Z}$ --- так 245 | что и $P(x')$ выполнено.\pause 246 | \end{enumerate} 247 | Однако $P(0.5)$ ложно. 248 | \end{enumerate} 249 | \end{frame} 250 | 251 | \begin{frame}{Пример доказательства} 252 | \begin{thm}0 единственен: если $t$ таков, что при любом $y$ 253 | выполнено $y' \ne t$, то $t = 0$. 254 | \end{thm}\pause 255 | \begin{proof} 256 | 257 | \begin{itemize} 258 | \item Определим $P(x)$ как <<либо $x = 0$, либо $x = y'$ для некоторого $y \in N$>>.\pause 259 | \begin{enumerate} 260 | \item $P(0)$ выполнено, так как $0 = 0$.\pause 261 | \item Если $P(x)$ выполнено, то возьмём $x$ в качестве $y$: тогда для $P(x')$ 262 | будет выполнено $x' = y'$.\pause 263 | \end{enumerate} 264 | Значит, $P(x)$ для любого $x \in N$.\pause 265 | 266 | \item Рассмотрим $P(t)$: <<либо $t = 0$, либо $t = y'$ для некоторого $y \in N$>>. 267 | Но так как такого $y$ нет, то неизбежно $t = 0$. 268 | \end{itemize} 269 | \end{proof} 270 | \end{frame} 271 | 272 | \begin{frame}{Обозначения и определения} 273 | \begin{dfn} 274 | $1 = 0'$, $2 = 0''$, $3 = 0'''$, $4 = 0''''$, $5 = 0'''''$, $6 = 0''''''$, 275 | $7 = 0'''''''$, $8 = 0''''''''$, $9 = 0'''''''''$ 276 | \end{dfn}\pause 277 | \begin{dfn} 278 | $$a + b = \left\{ \begin{array}{ll} a, & \mbox{если } b = 0\\ 279 | (a + c)', & \mbox{если } b = c' 280 | \end{array}\right.$$ 281 | \end{dfn}\pause 282 | Например, $$2 + 2 = 0'' + 0'' = \pause (0'' + 0')' = \pause ((0'' + 0)')' = \pause ((0'')')' = 0'''' = 4$$\pause 283 | \begin{dfn} 284 | $$a \cdot b = \left\{ \begin{array}{ll} 0, & \mbox{если } b = 0\\ 285 | a \cdot c + a, & \mbox{если } b = c' 286 | \end{array}\right.$$ 287 | \end{dfn} 288 | %\pause 289 | %\begin{dfn} 290 | %$$a^b = \left\{ \begin{array}{ll} 1, & \mbox{если } b = 0\\ 291 | % a^c \cdot a, & \mbox{если } b = c' 292 | % \end{array}\right.$$ 293 | %\end{dfn} 294 | \end{frame} 295 | 296 | \begin{frame}{Пример: коммутативность сложения (лемма 1)} 297 | 298 | \begin{multicols}{2} 299 | \begin{lmm}[1] 300 | $a + 0 = 0 + a$ 301 | \end{lmm} \pause 302 | {\color{gray} 303 | $$a + b = \left\{ \begin{array}{ll} a, & \mbox{если } b = 0\\ 304 | (a + c)', & \mbox{если } b = c' 305 | \end{array}\right.$$} \end{multicols}\pause 306 | \vspace{-1.5cm}\begin{proof} Пусть $P(x)$ --- это $x + 0 = 0 + x$. 307 | \begin{enumerate}\pause 308 | \item Покажем $P(0)$. $0 + 0 = 0 + 0$ \pause 309 | \item Покажем, что если $P(x)$, то $P(x')$. Покажем $P(x')$, то есть $x' + 0 = \dots$ \pause 310 | 311 | \begin{center} 312 | \begin{tabular}{lrl} %Равенство & обоснование \\\hline 313 | $\dots = x'$ & $a=x',b=0$: & $x' + 0 \Rightarrow x'$ \\\pause 314 | $\dots = (x)'$ & \\ \pause 315 | $\dots = (x + 0)'$ & $a=x,b=0$: &$(x + 0) \Leftarrow (x)$ \\ \pause 316 | $\dots = (0 + x)'$ & $P(x)$: &$(x + 0) \Rightarrow (0 + x)$ \\ \pause 317 | $\dots = 0 + x'$ & $a=0,b=x'$: &$0 + x' \Leftarrow (0 + x)'$ 318 | \end{tabular} 319 | \end{center} 320 | \end{enumerate}\pause 321 | Значит, $P(a)$ выполнено для любого $a \in N$. 322 | \end{proof} 323 | \end{frame} 324 | 325 | \begin{frame}{Пример: коммутативность сложения (завершение)} 326 | \begin{lmm}[2] 327 | $a + b' = a' + b$ 328 | \end{lmm}\pause 329 | \begin{proof} $P(x)$ --- это $a + x' = a' + x$\pause 330 | \begin{enumerate} 331 | \item $a + 0' = (a + 0)' = (a)' = a' = a' + 0$\pause 332 | \item Покажем, что $P(x')$ следует из $P(x)$: $a + x'' = (a + x')' = (a' + x)' = a' + x'$ 333 | \end{enumerate} 334 | \end{proof}\pause 335 | 336 | \begin{thm} 337 | $a + b = b + a$ 338 | \end{thm}\pause 339 | \begin{proof}[Доказательство индукцией по $b$: $P(x)$ --- это $a + x = x + a$] 340 | \begin{enumerate} 341 | \item $a + 0 = 0 + a$ (лемма 1)\pause 342 | \item $a + x' = (a + x)' = (x + a)' = x + a' = x' + a$ 343 | \end{enumerate} 344 | \end{proof} 345 | \end{frame} 346 | 347 | \begin{frame}{Уточнение исчисления предикатов} 348 | \begin{itemize} 349 | \item Пусть требуется доказывать утверждения про равенство. Введём $E(p,q)$ --- предикат <<равенство>>.\pause 350 | \item Однако $\not\vdash E(p,q)\to E(q,p)$: если $D = \{0,1\}$ и $E(p,q) ::= (p>q)$, 351 | то $\not\models E(p,q)\to E(q,p)$.\pause 352 | \item Конечно, можем указывать $\forall p.\forall q.E(p,q)\to E(q,p) \vdash \varphi$.\pause 353 | \item Но лучше добавим аксиому $\forall p.\forall q.E(p,q)\to E(q,p)$.\pause 354 | \item Добавив необходимые аксиомы, получим \emph{теорию первого порядка}. 355 | \end{itemize} 356 | \end{frame} 357 | 358 | \begin{frame}{Теория первого порядка} 359 | \begin{dfn} 360 | Теорией первого порядка назовём исчисление предикатов с дополнительными (<<нелогическими>> 361 | или <<математическими>>): 362 | \begin{itemize} 363 | \item предикатными и функциональными символами; 364 | \item аксиомами. 365 | \end{itemize} 366 | 367 | Сущности, взятые из исходного исчисления предикатов, назовём \emph{логическими} 368 | \end{dfn} 369 | \end{frame} 370 | 371 | \begin{frame}{Порядок логики/теории} 372 | \begin{tabular}{llll} 373 | Порядок & Кванторы & Формализует суждения\dots & Пример\\\hline 374 | нулевой & запрещены & об отдельных значениях & И.В.\\ 375 | первый & по предметным переменным & о множествах & И.П.\\ 376 | & & $S = \{ t\ |\ \psi[x := t] \}$ \\ 377 | второй & по предикатным переменным & о множествах множеств \\ 378 | & & $S = \{ \{t\ |\ P(t)\}\ |\ \varphi[p := P] \}$ \\ 379 | & \dots 380 | \end{tabular} 381 | \end{frame} 382 | 383 | \begin{frame}{Формальная арифметика} 384 | \begin{dfn} 385 | Формальная арифметика --- теория первого порядка, со следующими добавленными нелогическими \dots 386 | \begin{itemize} 387 | \item двухместными функциональными символами $(+)$, $(\cdot)$; одноместным функциональным символом $(')$, 388 | нульместным функциональным символом $0$;\pause 389 | \item двухместным предикатным символом $(=)$;\pause 390 | \item восемью нелогическими \emph{аксиомами}:\vspace{0.1cm} 391 | \begin{tabular}{ll} 392 | (A1) $a=b \to a=c \to b=c$ &(A5) $a+0 = a$ \\ 393 | (A2) $a=b \to a'=b'$ &(A6) $a+b' = (a+b)'$ \\ 394 | (A3) $a'=b' \to a=b$ &(A7) $a\cdot 0 = 0$ \\ 395 | (A4) $\neg a' = 0$ &(A8) $a\cdot b' = a \cdot b + a$ 396 | \end{tabular}\pause 397 | \item нелогической схемой аксиом индукции $\psi[x:=0]\with(\forall x.\psi\to \psi[x:=x'])\to \psi$ с метапеременными $x$ и $\psi$. 398 | \end{itemize} 399 | \end{dfn} 400 | \end{frame} 401 | 402 | \begin{frame}{Докажем, что $a=a$} 403 | \small 404 | Пусть $\top ::= 0=0\to 0=0 \to 0=0$, тогда:\pause 405 | 406 | \begin{tabular}{lll} 407 | (1) & $a=b\to a=c \to b=c$ & (Акс. А1)\\ 408 | (2) & $(a=b\to a=c \to b=c) \to \top \to (a=b\to a=c \to b=c)$ & (Сх. акс. 1)\\ 409 | (3) & $\top \to (a=b\to a=c \to b=c)$ & (M.P. 1, 2)\\ 410 | (4) & $\top \to (\forall c.a = b\to a = c \to b = c)$ & (Введ. $\forall$)\\\pause 411 | (5) & $\top \to (\forall b.\forall c.a = b\to a = c \to b = c)$ & (Введ. $\forall$)\\ 412 | (6) & $\top \to (\forall a.\forall b.\forall c.a = b\to a = c \to b = c)$ & (Введ. $\forall$)\\\pause 413 | (7) & $\top$ & (Сх. акс 1)\\ 414 | (8) & $(\forall a.\forall b.\forall c.a = b\to a = c \to b = c)$ & (M.P. 7, 6)\\\pause 415 | (9) & $(\forall a.\forall b.\forall c.a = b\to a = c \to b = c) \to $\\ 416 | & $\to (\forall b.\forall c.a+0 = b\to a+0 = c \to b = c)$ & (Сх. акс. 11)\\\pause 417 | (10) & $\forall b.\forall c.a+0 = b\to a+0 = c \to b = c$ & (M.P. 8, 9)\\\pause 418 | (12) & $\forall c.a+0 = a\to a+0 = c \to a = c$ & (M.P. 10, 11)\\\pause 419 | (14) & $a+0 = a\to a+0 = a \to a = a$ & (M.P. 12, 13)\\\pause 420 | (15) & $a+0 = a$ & (Акс. А5)\\ 421 | (16) & $a+0 = a \to a = a$ & (M.P. 15, 14)\\ 422 | (17) & $a = a$ & (M.P. 15, 16) 423 | \end{tabular} 424 | \end{frame} 425 | 426 | \end{document} 427 | -------------------------------------------------------------------------------- /08-recursive-goedel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/08-recursive-goedel.pdf -------------------------------------------------------------------------------- /08-recursive-goedel.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newtheorem{snote}{Пояснение}[section] 24 | 25 | \newcommand{\divisible}% 26 | {\mathrel{\lower.2ex% 27 | \vbox{\baselineskip=0.7ex\lineskiplimit=0pt% 28 | \kern6pt \hbox{.}\hbox{.}\hbox{.}}% 29 | }} 30 | 31 | \begin{document} 32 | 33 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 34 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 35 | 36 | \begin{frame}{Арифметизация логики} 37 | \end{frame} 38 | 39 | \begin{frame}{Общие замечания} 40 | \begin{itemize} 41 | \item Рассматриваем функции $\mathbb{N}^n_0\to\mathbb{N}_0$. 42 | \item Обозначим вектор $\langle x_1, x_2, \dots, x_n\rangle$ как $\overrightarrow{x}$. 43 | \end{itemize} 44 | \end{frame} 45 | 46 | \begin{frame}{Примитивно-рекурсивные функции} 47 | 48 | \begin{dfn}[Примитивы Z, N, U, S] 49 | \begin{enumerate} 50 | \item Примитив <<Ноль>> ($Z$) \vspace{-0.3cm} 51 | $$Z: \mathbb{N}_0\to\mathbb{N}_0,\ \ \ \ \ Z(x_1) = 0$$\vspace{-0.5cm}\pause 52 | \item Примитив <<Инкремент>> ($N$) \vspace{-0.3cm} 53 | $$N: \mathbb{N}_0\to\mathbb{N}_0,\ \ \ \ \ N(x_1) = x_1+1$$\vspace{-0.5cm}\pause 54 | \item Примитив <<Проекция>> ($U$) — семейство функций; пусть $k,n \in \mathbb{N}_0, k \le n$\vspace{-0.3cm} 55 | $$U^k_n: \mathbb{N}^n_0 \to \mathbb{N}_0,\ \ \ \ \ U^k_n(\overrightarrow{x}) = x_k$$\vspace{-0.5cm}\pause 56 | \item Примитив <<Подстановка>> ($S$) --- семейство функций; пусть $g: \mathbb{N}^k_0 \to \mathbb{N}_0,\ \ f_1,\dots,f_k: \mathbb{N}^n_0 \to \mathbb{N}_0$ 57 | \vspace{-0.3cm} 58 | $$S\langle g,f_1,f_2,\dots,f_k \rangle (\overrightarrow{x}) = g(f_1(\overrightarrow{x}),\dots,f_k(\overrightarrow{x}))$$ 59 | \end{enumerate} 60 | \end{dfn} 61 | \end{frame} 62 | 63 | \begin{frame}[fragile]{Примитивная рекурсия} 64 | \begin{dfn}[примитив <<примитивная рекурсия>>, $R$] 65 | Пусть $f: \mathbb{N}^n_0\to\mathbb{N}_0$ и $g: \mathbb{N}^{n+2}_0 \to\mathbb{N}_0$. 66 | Тогда $R\langle f,g\rangle: \mathbb{N}^{n+1}_0\to\mathbb{N}_0$, причём 67 | 68 | $$R\langle f,g\rangle(\overrightarrow{x},y)= 69 | \left\{\begin{array}{ll} 70 | f(\overrightarrow{x}), &y=0\\ 71 | g(\overrightarrow{x},y-1,R\langle f,g\rangle (\overrightarrow{x},y-1)), &y > 0 72 | \end{array}\right.$$ 73 | \end{dfn}\pause 74 | 75 | \vspace{-0.3cm} 76 | \begin{snote}\vspace{-0.5cm} 77 | \begin{verbatim} 78 | res := f(x1...xn); 79 | for yi = 0 to y-1 do 80 | res := g(x1...xn,yi,res); 81 | \end{verbatim} 82 | \end{snote}\pause 83 | 84 | \vspace{-0.3cm} 85 | \begin{exm}\vspace{-0.5cm} 86 | $$\begin{array}{ll} 87 | R\langle f,g\rangle(\overrightarrow{x},3) &= g(\overrightarrow{x},2,R\langle f,g\rangle(\overrightarrow{x},2)) \\\pause 88 | &= g(\overrightarrow{x},2,g(\overrightarrow{x},1,R\langle f,g\rangle(\overrightarrow{x},1))) \\\pause 89 | &= g(\overrightarrow{x},2,g(\overrightarrow{x},1,g(\overrightarrow{x},0,R\langle f,g\rangle(\overrightarrow{x},1)))) \\\pause 90 | &= g(\overrightarrow{x},2,g(\overrightarrow{x},1,g(\overrightarrow{x},0,f(\overrightarrow{x})))) 91 | \end{array}$$ 92 | \end{exm} 93 | 94 | %$$R\langle f,g\rangle(\overrightarrow{x},y) = \texttt{foldl}\ (\lambda r.\lambda t.g(\overrightarrow{x},t,r))\ f(\overrightarrow{x})\ [0..y-1]$$ 95 | 96 | \end{frame} 97 | 98 | \begin{frame}{Примитивно-рекурсивные функции} 99 | \begin{dfn}Функция $f$ --- примитивно-рекурсивна, если может быть 100 | выражена как композиция примитивов $Z$, $N$, $U$, $S$ и $R$. 101 | \end{dfn}\pause 102 | 103 | \begin{thm} 104 | $f(x) = x+2$ примитивно-рекурсивна 105 | \end{thm}\pause 106 | 107 | \begin{proof} 108 | $f = S \langle N,N \rangle$ 109 | \vspace{0.5cm}\pause 110 | 111 | {\color{gray} 112 | $N(x)=x+1$ 113 | 114 | $S\langle g,f\rangle (x) = g(f(x))$ 115 | }\pause 116 | 117 | \vspace{0.5cm} 118 | $f,g = N$\pause 119 | 120 | $S\langle N,N\rangle (x) = N(N(x)) = (x+1)+1$ 121 | \end{proof} 122 | \end{frame} 123 | 124 | \begin{frame}{Примитивно-рекурсивные функции: $x+y$} 125 | \begin{lmm} 126 | $f(a,b) = a+b$ примитивно-рекурсивна 127 | \end{lmm} 128 | \begin{proof} $f = R \langle U^1_1, S\langle N, U^3_3\rangle \rangle$: 129 | \vspace{0.2cm}\pause 130 | 131 | {\color{gray} 132 | $R\langle f,g\rangle(x,y) 133 | =\left\{\begin{array}{ll} 134 | f(x), &y=0\\ 135 | g(x,y-1,R\langle f,g\rangle (x,y-1)), &y > 0 136 | \end{array}\right.$ 137 | 138 | %$U^1_1(x) = x$ 139 | 140 | %$U^3_3(x,y,r) = r$ 141 | }\vspace{0.2cm}\pause 142 | 143 | \begin{itemize} 144 | \item База. $R\langle U^1_1, S\langle N, U^3_3\rangle \rangle(x,0) = U^1_1(x) = x$\pause 145 | 146 | \item Переход. $R\langle U^1_1, S\langle N, U^3_3\rangle \rangle(x,y+1) = $\pause 147 | 148 | $... = S\langle N, U^3_3\rangle (x,y,R\langle U^1_1(x), S\langle N, U^3_3\rangle\rangle (x,y) ) =$\pause 149 | 150 | $... = S\langle N, U^3_3\rangle (x,y,x + y) = $\pause 151 | 152 | $... = N(x+y) = x+y+1$ 153 | \end{itemize} 154 | 155 | \end{proof} 156 | \end{frame} 157 | 158 | \begin{frame}[fragile]{Какие функции примитивно-рекурсивные?} 159 | \begin{enumerate} 160 | \item Сложение, вычитание\pause 161 | \item Умножение, деление\pause 162 | \item Вычисление простых чисел\pause 163 | \item Неформально: все функции, вычисляемые конечным числом вложенных циклов \verb!for!: 164 | 165 | \begin{verbatim} 166 | for (int i1 = 0; i_1 < g1(x1...xn); i1++) { 167 | for (int i2 = 0; i_2 < g2(x1...xn,i1); i2++) { 168 | ... 169 | for (int ik = 0; ik < gk(x1...xn,i1,i2...); ik++) { 170 | // выражение без циклов 171 | } 172 | ... 173 | } 174 | } 175 | \end{verbatim} 176 | \end{enumerate} 177 | \end{frame} 178 | 179 | \begin{frame}[fragile]{Общерекурсивные функции} 180 | \begin{dfn} 181 | Функция --- общерекурсивная, если может быть построена при помощи 182 | примитивов $Z$, $N$, $U$, $S$, $R$ и примитива минимизации: 183 | $$M\langle f \rangle (x_1,x_2,\dots,x_n) = \min\{y: f(x_1,x_2,\dots,x_n,y) = 0\}$$ 184 | Если $f(x_1,x_2,\dots,x_n,y) > 0$ при любом $y$, результат неопределён. 185 | \end{dfn}\pause 186 | 187 | %Это --- цикл \texttt{while}: 188 | 189 | Пример: 190 | 191 | Пусть $f(x,y) = x-y^2$, тогда $\lceil\sqrt{x}\rceil = M\langle f\rangle (x)$ 192 | 193 | \begin{verbatim} 194 | int sqrt(int x) { 195 | int y = 0; 196 | while (x-y*y > 0) y++; 197 | return y; 198 | } 199 | \end{verbatim} 200 | 201 | \end{frame} 202 | 203 | \begin{frame}{Выразительная сила} 204 | \begin{dfn} 205 | Функция Аккермана: 206 | $$A(m,n) = \left\{\begin{array}{ll} 207 | n+1,&m = 0\\ 208 | A(m-1,1),&m > 0, n = 0\\ 209 | A(m-1,A(m,n-1)),&m > 0, n > 0 210 | \end{array}\right.$$ 211 | \end{dfn} 212 | 213 | \begin{thm} 214 | Функция Аккермана --- общерекурсивная, но не примитивно-рекурсивная. 215 | \end{thm}\pause 216 | 217 | \begin{dfn} 218 | Тезис Чёрча для общерекурсивных функций: любая эффективно-вычислимая 219 | функция $\mathbb{N}^k_0\to\mathbb{N}_0$ является общерекурсивной. 220 | \end{dfn} 221 | \end{frame} 222 | 223 | \begin{frame}{Новые обозначения} 224 | \begin{dfn} 225 | Запись вида $\psi(\theta_1,\dots,\theta_n)$ означает 226 | $\psi[x_1:=\theta_1,\dots,x_n:=\theta_n]$ 227 | \end{dfn}\pause 228 | 229 | \begin{dfn}[Литерал числа] 230 | $$\overline{a} = \left\{\begin{array}{ll} 0, &\mbox{если } a = 0\\ 231 | (\overline{b})', &\mbox{если } a = b+1 232 | \end{array}\right.$$ 233 | \end{dfn}\pause 234 | 235 | Пример: пусть $\psi := x_1 = 0$. \pause Тогда $\psi(\overline{3})$ соответствует формуле $0''' = 0$ 236 | 237 | \end{frame} 238 | 239 | \begin{frame}{Выразимость отношений в Ф.А.} 240 | \begin{dfn} 241 | Будем говорить, что отношение $R\subseteq \mathbb{N}^n_0$ выразимо в ФА, 242 | если существует формула $\rho$, что: 243 | \begin{enumerate} 244 | \item если $\langle a_1,\dots,a_n \rangle \in R$, то $\vdash \rho(\overline{a_1},\dots,\overline{a_n})$ 245 | \item если $\langle a_1,\dots,a_n \rangle \notin R$, то $\vdash \neg\rho(\overline{a_1},\dots,\overline{a_n})$ 246 | \end{enumerate} 247 | \end{dfn}\pause 248 | 249 | \begin{thm} отношение <<равно>> выразимо в Ф.А.: 250 | $R = \{ \langle x,x \rangle\ |\ x \in \mathbb{N}_0 \}$ 251 | \end{thm}\pause 252 | 253 | \begin{proof} 254 | Пусть $\rho := x_1=x_2$. \pause Тогда: 255 | \begin{itemize} 256 | \item $\vdash p = p$ при $p := \overline{k}$ при всех $k \in \mathbb{N}_0$: \pause $\vdash 0=0$, $\vdash 0'=0'$, $\vdash 0''=0''$, ... \pause 257 | \item $\vdash \neg p = q$ при $p := \overline{k}$, $q := \overline{s}$ при всех $k,s \in \mathbb{N}_0$ и $k \ne s$. 258 | 259 | \pause $\vdash \neg 0 = 0'$, $\vdash \neg 0 = 0''$, $\vdash \neg 0''' = 0'$, ... 260 | \end{itemize} 261 | \end{proof} 262 | \end{frame} 263 | 264 | \begin{frame}{Представимость функций в Ф.А.} 265 | \begin{dfn} 266 | Будем говорить, что функция $f: \mathbb{N}^n_0\to\mathbb{N}_0$ представима в ФА, 267 | если существует формула $\varphi$, что: 268 | \begin{enumerate} 269 | \item если $f(a_1,\dots,a_n) = u$, то $\vdash \varphi(\overline{a_1},\dots,\overline{a_n},\overline{u})$ 270 | \item если $f(a_1,\dots,a_n) \ne u$, то $\vdash \neg\varphi(\overline{a_1},\dots,\overline{a_n},\overline{u})$ 271 | \item для всех $a_i \in \mathbb{N}_0$ выполнено $\vdash (\exists x.\varphi(\overline{a_1},\dots,\overline{a_n},x)) \with 272 | (\forall p.\forall q.\varphi(\overline{a_1},\dots,\overline{a_n},p)\with \varphi(\overline{a_1},\dots,\overline{a_n},q)\rightarrow p=q)$ 273 | \end{enumerate} 274 | \end{dfn} 275 | \end{frame} 276 | 277 | \begin{frame}{Соответствие рекурсивных и представимых функций} 278 | \begin{thm}Любая рекурсивная функция представима в Ф.А.\end{thm}\pause 279 | 280 | \begin{thm}Любая представимая в Ф.А. функция рекурсивна.\end{thm} 281 | \end{frame} 282 | 283 | \begin{frame}{Примитивы Z, N, U представимы в Ф.А.} 284 | \begin{thm} 285 | Примитивы $Z$, $N$ и $U^k_n$ представимы в Ф.А. 286 | \end{thm}\pause 287 | 288 | \begin{proof} 289 | \begin{itemize} 290 | \item $\zeta(x_1,x_2) := x_2=0$, \pause формальнее: $\zeta(x_1,x_2) := x_1=x_1 \with x_2=0$\pause 291 | \item $\nu(x_1,x_2) := x_2=x_1'$\pause 292 | \item $\upsilon(x_1,\dots,x_n,x_{n+1}) := x_k = x_{n+1}$ \pause \vspace{0.1cm} 293 | 294 | формальнее: 295 | $\upsilon(x_1,\dots,x_n,x_{n+1}) := (\underset{i\ne k,n+1}{\with} x_i=x_i) \with x_k = x_{n+1}$ 296 | \end{itemize} 297 | \end{proof} 298 | \end{frame} 299 | 300 | \begin{frame}{Примитив S представим в Ф.А.} 301 | 302 | $$S\langle f,g_1,\dots,g_k\rangle(x_1,\dots,x_n) = f(g_1(x_1,\dots,x_n),\dots,g_k(x_1,\dots,x_n))$$\pause 303 | \begin{thm} 304 | Пусть функции $f,g_1,\dots,g_k$ представимы в Ф.А. Тогда $S\langle f,g_1,\dots,g_k \rangle$ представима в Ф.А. 305 | \end{thm}\pause 306 | 307 | \begin{proof} 308 | Пусть $f$, $g_1$, ..., $g_k$ представляются формулами $\varphi$, $\gamma_1$, ..., $\gamma_k$. \pause 309 | 310 | Тогда 311 | $S\langle f,g_1,\dots,g_k\rangle$ будет представлена формулой 312 | $$\exists g_1.\dots.\exists g_k.\varphi(g_1,\dots,g_k,x_{n+1})\with\gamma_1(x_1,\dots,x_n,g_1)\with\dots\with\gamma_k(x_1,\dots,x_n,g_k)$$ 313 | \end{proof} 314 | 315 | \end{frame} 316 | 317 | \begin{frame}{$\beta$-функция Гёделя} 318 | Задача: закодировать последовательность натуральных чисел произвольной длины.\pause 319 | \begin{dfn}$\beta$-функция Гёделя: $\mathcal{\beta}(b,c,i) := b \% (1 + (i+1) \cdot c)$\\ 320 | Здесь (\%) --- остаток от деления. 321 | \end{dfn}\pause 322 | \begin{thm}$\beta$-функция Гёделя представима в Ф.А. формулой 323 | $$\hat{\beta}(b,c,i,d) := \exists q.(b = q \cdot (1 + c \cdot (i+1)) + d) \& (d < 1 + c \cdot (i+1))$$ 324 | \end{thm}\pause\vspace{-0.3cm} 325 | Деление $b$ на $x$ с остатком: найдутся частное $(q)$ и остаток $(d)$, что 326 | $b = q\cdot x + d$ и $0 \le d < x$. 327 | \pause 328 | \begin{thm}Если $a_0, \dots, a_n \in \mathbb{N}_0$, то найдутся такие $b,c \in \mathbb{N}_0$, что 329 | $a_i = \beta(b,c,i)$ 330 | \end{thm} 331 | \end{frame} 332 | 333 | \begin{frame}{Доказательство свойства $\beta$-функции} 334 | \begin{thm}Китайская теорема об остатках (вариант формулировки): если $u_0, \dots, u_n$ --- попарно 335 | взаимно-просты, и $0 \le a_i < u_i$, то существует такой $b$, что $a_i = b \% u_i$. 336 | \end{thm}\pause 337 | Положим $c = \max(a_0,\dots,a_n,n)!$ и $u_i = 1+c\cdot(i+1)$.\pause 338 | \begin{itemize} 339 | \item $\text{НОД}(u_i,u_j) = 1$, если $i \ne j$.\pause 340 | 341 | Пусть $p$ --- простое, $u_i\divisible p$ и $u_j\divisible p$ ($i < j$). \pause 342 | Заметим, что $u_j-u_i = c \cdot (j-i)$. Значит, $c\divisible p$ или $(j-i)\divisible p$. \pause 343 | Так как $j-i \le n$, то $c \divisible (j-i)$, потому если и $(j-i)\divisible p$, всё равно $c \divisible p$. \pause 344 | Но и $(1+c\cdot(i+1))\divisible p$, отсюда $1 \divisible p$ --- что невозможно. \pause 345 | \item $0 \le a_i < u_i$.\pause 346 | \end{itemize} 347 | Условия китайской теоремы об остатках выполнены и найдётся $b$, что \vspace{-0.2cm} 348 | $$a_i = b \% (1 + c\cdot(i+1)) = \beta(b,c,i)$$ 349 | \qed 350 | \end{frame} 351 | 352 | \begin{frame}{Примитив <<примитивная рекурсия>> представим в Ф.А.} 353 | 354 | Пусть $f: \mathbb{N}^n_0\to\mathbb{N}_0$ и $g:\mathbb{N}^{n+2}_0\to\mathbb{N}_0$ представлены формулами $\varphi$ и $\gamma$. 355 | 356 | Зафиксируем $x_1, \dots, x_n, y \in \mathbb{N}_0$.\pause\vspace{0.3cm} 357 | 358 | \begin{tabular}{lll} 359 | Шаг вычисления & Об. & Утверждение в Ф.А.\\ 360 | $R\langle f,g\rangle (x_1,\dots,x_n,0) = f(x_1,\dots,x_n)$ & $a_0$ & $\vdash \varphi(\overline{x_1},\dots,\overline{x_n},\overline{a_0})$\\ \pause 361 | $R\langle f,g\rangle (x_1,\dots,x_n,1) = g(x_1,\dots,x_n,0,a_0)$ & $a_1$ & $\vdash \gamma(\overline{x_1},\dots,\overline{x_n},0,\overline{a_1})$\\ \pause 362 | $\dots$\\ 363 | $R\langle f,g\rangle (x_1,\dots,x_n,y) = g(x_1,\dots,x_n,y-1,a_{y-1})$ & $a_y$ & $\vdash \gamma(\overline{x_1},\dots,\overline{x_n},\overline{y-1},\overline{a_y})$ 364 | \end{tabular}\pause\vspace{0.3cm} 365 | 366 | По свойству $\beta$-функции, найдутся $b$ и $c$, что 367 | $\beta (b,c,i) = a_i$ для $0 \le i \le y$.\pause 368 | 369 | \begin{thm}Примитив $R\langle f,g\rangle$ представим в Ф.А. формулой $\rho(x_1,\dots,x_n,y,a)$:\vspace{-0.1cm} 370 | $$\begin{array}{l}\exists b. \exists c. (\exists a_0. \hat{\beta} (b,c,0,a_0) \& \varphi (x_1,...x_n, a_0)) \\ 371 | \&\;\;\;\;\forall k.k < y \rightarrow \exists d . \exists e . \hat{\beta} (b,c,k,d) \& \hat{\beta} (b,c,k',e) \& \gamma (x_1,..x_n,k,d,e) \\ 372 | \&\;\;\;\;\hat{\beta} (b,c,y,a) 373 | \end{array}$$ 374 | \end{thm} 375 | \end{frame} 376 | 377 | \begin{frame}{Представимость рекурсивных функций в Ф.А.} 378 | \begin{thm}Пусть функция $f:\mathbb{N}^{n+1}_0 \to \mathbb{N}_0$ представима в Ф.А. 379 | формулой $\varphi(x_1,\dots,x_{n},y,r)$. Тогда примитив $M\langle f\rangle$ представим в Ф.А. 380 | формулой $$\mu(x_1,\dots,x_n,y) := \neg\varphi(x_1,\dots,x_n,y,0) \with \forall u.u < y \to \varphi(x_1,\dots,x_n,u,0)$$ 381 | \end{thm}\pause 382 | 383 | \begin{thm}Если $f$ --- рекурсивная функция, то она представима 384 | в Ф.А. 385 | \end{thm} 386 | \begin{proof}Индукция по структуре $f$. 387 | \end{proof} 388 | \end{frame} 389 | 390 | \begin{frame}{Рекурсивность представимых функций в Ф.А.} 391 | Фиксируем $f$ и $x_1, x_2, \dots, x_n$. Обозначим $y = f(x_1,x_2,\dots,x_n)$. \pause 392 | По представимости нам известна $\varphi$, что $\vdash \varphi(\overline{x_1},\overline{x_2},\dots,\overline{x_n},\overline{y})$. \pause 393 | Давайте просто переберём все результаты и доказательства!\pause 394 | 395 | \begin{enumerate} 396 | \item Закодируем доказательства натуральными числами.\pause 397 | \item Напишем рекурсивную функцию, проверяющую доказательства на корректность.\pause 398 | \item Параллельный перебор значений и доказательств: $s = 2^y \cdot 3^p$. Переберём все $s$, по $s$ получим $y$ и $p$. 399 | Проверим, что $p$ --- код доказательства $\vdash \varphi(\overline{x_1},\overline{x_2},\dots,\overline{x_n},\overline{y})$. 400 | \end{enumerate} 401 | \end{frame} 402 | 403 | \begin{frame}{Гёделева нумерация} 404 | 405 | \begin{enumerate} 406 | \item Отдельный символ.\vspace{0.2cm} 407 | 408 | \begin{tabular}{lc|lc||cll} 409 | Номер & Символ & Номер & Символ & Имя & $k,n$ & Гёделев номер\\ 410 | 3 & ( & 17 & $\&$ & 0 & $0,0$ & $27 + 6$\\ 411 | 5 & ) & 19 & $\forall$ & $(')$ & $0,1$ & $27 + 6 \cdot 3$\\ 412 | 7 & , & 21 & $\exists$ & $(+)$ & $0,2$ & $27 + 6 \cdot 9$\\ 413 | 9 & . & 23 & $\vdash$ & $(\cdot)$ & $1,2$ & $27 + 6 \cdot 2 \cdot 9$\\ 414 | 11 & $\neg$ & $25 + 6\cdot k$ & $x_k$ & $(=)$ & $0,2$ & $29 + 6 \cdot 9$\\ 415 | 13 & $\rightarrow$ & $27 + 6\cdot 2^k \cdot 3^n$ & $f_k^n$\\ 416 | 15 & $\vee$ & $29 + 6\cdot 2^k \cdot 3^n$ & $P_k^n$ 417 | \end{tabular}\pause 418 | 419 | \item Формула. $\phi \equiv s_0s_1\dots s_{n-1}$. Гёделев номер: $\ulcorner\phi\urcorner = 2^{\ulcorner s_0\urcorner}\cdot 3^{\ulcorner s_1\urcorner} 420 | \cdot \dots \cdot p_{n-1}^{\ulcorner s_{n-1}\urcorner}$.\pause 421 | 422 | \item Доказательство. $\Pi = \delta_0\delta_1\dots\delta_{k-1}$, его гёделев номер: $\ulcorner\Pi\urcorner = 423 | 2^{\ulcorner \delta_0\urcorner}\cdot 3^{\ulcorner \delta_1\urcorner} \cdot \dots \cdot p_{k-1}^{\ulcorner \delta_{k-1}\urcorner}$ 424 | \end{enumerate} 425 | \end{frame} 426 | 427 | \begin{frame}{Проверка доказательства на корректность} 428 | \begin{thm}Следующая функция рекурсивна: 429 | $$\text{proof}(f,x_1,x_2,\dots,x_n,y,p) = \left\{\begin{array}{ll} 430 | 1, & \mbox{если} \vdash\phi(\overline{x_1},\overline{x_2},\dots,\overline{x_n},\overline{y}),\\ 431 | & p \mbox{ --- гёделев номер вывода}, f = \ulcorner\phi\urcorner \\ 432 | 0, & \mbox{иначе} 433 | \end{array}\right.$$\vspace{-0.1cm}\pause 434 | \end{thm} 435 | \begin{proof}[Идея доказательства] 436 | \begin{enumerate} 437 | %\item По представимости, $\vdash\phi(\overline{x_1},\overline{x_2},\dots,\overline{x_n},\overline{y})$ 438 | %эквивалентно $f(x_1,x_2,\dots,x_n)=y$.\pause 439 | \item Проверка доказательства вычислима.\pause 440 | \item Согласно тезису Чёрча, любая вычислимая функция 441 | вычислима с помощью рекурсивных функций. 442 | \end{enumerate} 443 | \end{proof} 444 | \end{frame} 445 | 446 | \begin{frame}{Перебор доказательств} 447 | \begin{lmm}Следующие функции рекурсивны: 448 | \begin{enumerate} 449 | \item Функции $\text{plog}_k(n) = \max\{p: n \divisible k^p\}$, $\text{fst}(x) = \text{plog}_2(x)$ и $\text{snd}(x) = \text{plog}_3(x)$.\pause 450 | \item Числовые литералы: $\overline{k}: \mathbb{N}_0 \rightarrow \mathbb{N}_0$, $\overline{k}(x) = k$.\pause 451 | \end{enumerate} 452 | \end{lmm} 453 | \begin{thm}Если $f: \mathbb{N}^n_0\rightarrow\mathbb{N}_0$, и $f$ представима в Ф.А. формулой $\varphi$, то $f$ --- рекурсивна. 454 | \end{thm}\pause 455 | \begin{proof} 456 | Пусть заданы $x_1,x_2,\dots,x_n$. Ищем $\langle y, p\rangle$, 457 | что $\text{proof}(\ulcorner\varphi\urcorner,x_1,x_2,\dots,x_n,y,p)=1$, \pause 458 | напомним: $y = f(x_1,x_2,\dots,x_n)$, $p = \ulcorner\Pi\urcorner$, 459 | $\Pi$ --- доказательство $\varphi(\overline{x_1},\overline{x_2},\dots,\overline{x_n},\overline{y})$. \pause 460 | $$f = S \langle \text{fst}, M\langle S \langle \text{proof}, \overline{\ulcorner\varphi\urcorner}, U^1_{n+1}, U^2_{n+1}, \dots, U^n_{n+1}, 461 | S \langle \text{fst},U^{n+1}_{n+1}\rangle, S\langle \text{snd}, U^{n+1}_{n+1}\rangle \rangle \rangle \rangle$$ 462 | \end{proof} 463 | \end{frame} 464 | 465 | \begin{frame}{} 466 | \begin{center}\LARGE Первая теорема Гёделя о неполноте арифметики\end{center} 467 | \end{frame} 468 | 469 | \begin{frame}{Парадокс лжеца} 470 | \begin{center}Предложение, указанное в центре данного слайда --- ложное.\end{center} 471 | \end{frame} 472 | 473 | \begin{frame}{Проблема останова} 474 | \begin{thm}Невозможно разработать программу (функцию) \texttt{bool p (string source, string arg)}, 475 | возвращающую \texttt{true}, если программа с исходным кодом \texttt{source} имеет один аргумент 476 | типа \texttt{string} и оканчивает работу, если ей передать на вход значение \texttt{arg}. 477 | \end{thm} 478 | 479 | \begin{proof} 480 | \begin{itemize} 481 | \item Определим программу \\\texttt{bool s (std::string arg) \{\\ 482 | \hspace{1cm}if (s (arg)) \{ while (true); \}\\ 483 | \hspace{1cm}return true;\\ 484 | \}} 485 | \item Пусть её полный исходный код --- в переменной \texttt{source}. 486 | \item Что вернёт \texttt{p (source, source)}? 487 | \end{itemize} 488 | \end{proof} 489 | \end{frame} 490 | 491 | \begin{frame}{Самоприменимость} 492 | \begin{dfn}Определим функцию $W_1$: 493 | $W_1(x,p)=1$, если 494 | $x = \ulcorner \xi \urcorner$, где $\xi$ --- формула с единственной свободной 495 | переменной $x_1$, а $p$ --- доказательство самоприменения $\xi$: 496 | $$\vdash \xi(\overline{\ulcorner \xi \urcorner})$$ 497 | $W_1(x,p)=0$, если это не так. 498 | \end{dfn} 499 | \end{frame} 500 | 501 | \begin{frame}{Теорема Гёделя, вспомогательные определения} 502 | \begin{thm}Существует формула $\omega_1$ со свободными переменными $x_1$ и $x_2$ такая, что: 503 | \begin{enumerate} 504 | \item $\vdash \omega_1(\overline{\ulcorner \varphi \urcorner},\overline{p})$, если $p$ --- гёделев номер 505 | доказательства самоприменения $\varphi$; 506 | \item $\vdash \neg\omega_1(\overline{\ulcorner \varphi \urcorner},\overline{p})$ иначе. 507 | \end{enumerate} 508 | \end{thm} 509 | \begin{proof}Опираясь на рекурсивность функции proof, легко показать рекурсивность $W_1$. 510 | Значит, эта функция представима в формальной арифметике некоторой формулой $\tau_1$. 511 | Возьмём $\omega_1(x_1,x_2) := \tau_1(x_1,x_2,\overline{1})$. 512 | \end{proof} 513 | 514 | \begin{dfn} 515 | Определим формулу $\sigma(x) := \forall p.\neg\omega(x,p)$ 516 | \end{dfn} 517 | \end{frame} 518 | 519 | \begin{frame}{Омега-непротиворечивость} 520 | \begin{dfn}Если для любой формулы $\phi(x)$ из $\vdash\phi(0)$, $\vdash\phi(\overline{1})$, 521 | $\vdash\phi(\overline{2})$, ... выполнено $\not\vdash\exists x.\neg\phi(x)$, 522 | то теория \emph{омега-непротиворечива}. 523 | \end{dfn} 524 | \begin{thm}Омега-непротиворечивость влечёт непротиворечивость\end{thm} 525 | \begin{proof}Пусть $\phi(x) \equiv (x=x)\rightarrow(x=x)\rightarrow(x=x)$. Тогда $\vdash\phi(x)$ при всех $x$. 526 | Тогда $\not\vdash\exists x.\neg\phi(x)$ --- то есть существует недоказуемая формула, т.е. теория непротиворечива. 527 | \end{proof} 528 | \end{frame} 529 | 530 | \begin{frame}{Первая теорема Гёделя о неполноте арифметики} 531 | 532 | \begin{thm}{Первая теорема Гёделя о неполноте арифметики} 533 | \begin{itemize} 534 | \item Если формальная арифметика непротиворечива, то $\not\vdash\sigma(\overline{\ulcorner\sigma\urcorner})$. 535 | \item Если формальная арифметика $\omega$-непротиворечива, то $\not\vdash\neg\sigma(\overline{\ulcorner\sigma\urcorner})$. 536 | \end{itemize} 537 | \end{thm} 538 | \end{frame} 539 | 540 | \end{document} 541 | -------------------------------------------------------------------------------- /09-goedel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/09-goedel.pdf -------------------------------------------------------------------------------- /09-goedel.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newtheorem{snote}{Пояснение}[section] 24 | 25 | \newcommand{\divisible}% 26 | {\mathrel{\lower.2ex% 27 | \vbox{\baselineskip=0.7ex\lineskiplimit=0pt% 28 | \kern6pt \hbox{.}\hbox{.}\hbox{.}}% 29 | }} 30 | 31 | \begin{document} 32 | 33 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 34 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 35 | 36 | \begin{frame}{} 37 | \LARGE\begin{center}Теоремы Гёделя о неполноте арифметики\end{center} 38 | \end{frame} 39 | 40 | \begin{frame}{Самоприменимость} 41 | \begin{dfn}Пусть $\xi$ --- формула с единственной свободной 42 | переменной $x_1$. Тогда: 43 | $\langle\ulcorner \xi \urcorner,p\rangle \in W_1$, если $\vdash \xi(\overline{\ulcorner \xi \urcorner})$ и $p$ --- номер доказательства. 44 | \end{dfn} 45 | 46 | \begin{dfn}Отношение $W_1$ рекурсивно, поэтому выражено в Ф.А. формулой $\omega_1$ со свободными переменными $x_1$ и $x_2$, причём: 47 | \begin{enumerate} 48 | \item $\vdash \omega_1(\overline{\ulcorner \varphi \urcorner},\overline{p})$, если $p$ --- гёделев номер 49 | доказательства самоприменения $\varphi$; 50 | \item $\vdash \neg\omega_1(\overline{\ulcorner \varphi \urcorner},\overline{p})$ иначе. 51 | \end{enumerate} 52 | \end{dfn} 53 | 54 | \begin{dfn} 55 | Определим формулу $\sigma(x_1) := \forall p.\neg\omega_1(x_1,p)$. 56 | \end{dfn} 57 | \end{frame} 58 | 59 | \begin{frame}{Первая теорема Гёделя о неполноте арифметики} 60 | \begin{dfn}Если для любой формулы $\phi(x)$ из $\vdash\phi(0)$, $\vdash\phi(\overline{1})$, 61 | $\vdash\phi(\overline{2})$, $\dots$ выполнено $\not\vdash\exists x.\neg\phi(x)$, 62 | то теория \emph{омега-непротиворечива}. 63 | \end{dfn} 64 | 65 | \begin{thm}{Первая теорема Гёделя о неполноте арифметики} 66 | \begin{itemize} 67 | \item Если формальная арифметика непротиворечива, то $\not\vdash\sigma(\overline{\ulcorner\sigma\urcorner})$. 68 | \item Если формальная арифметика $\omega$-непротиворечива, то $\not\vdash\neg\sigma(\overline{\ulcorner\sigma\urcorner})$. 69 | \end{itemize} 70 | \end{thm} 71 | \end{frame} 72 | 73 | \begin{frame}{Доказательство теоремы Гёделя} 74 | Напомним: $\sigma(x_1) := \forall p.\neg\omega_1(x_1,p)$. $W_1(\ulcorner\xi\urcorner,p)$ --- $p$ есть доказательство самоприменения $\xi$. 75 | \begin{proof} 76 | \begin{itemize} 77 | \item Пусть $\vdash\sigma(\overline{\ulcorner\sigma\urcorner})$. Значит, $p$ --- номер доказательства. \pause Тогда 78 | $\langle\ulcorner\sigma\urcorner,p\rangle \in W_1$. \pause Тогда $\vdash\omega_1(\overline{\ulcorner\sigma\urcorner},\overline{p})$. \pause 79 | Тогда $\vdash\exists p.\omega_1(\overline{\ulcorner\sigma\urcorner},p)$. \pause То есть 80 | $\vdash\neg\forall p.\neg\omega_1(\overline{\ulcorner\sigma\urcorner},p)$. \pause То есть $\vdash\neg\sigma(\overline{\ulcorner\sigma\urcorner})$. Противоречие. 81 | \pause 82 | \item Пусть $\vdash\neg\sigma(\overline{\ulcorner\sigma\urcorner})$. \pause То есть $\vdash\exists p.\omega_1(\overline{\ulcorner\sigma\urcorner},p)$. 83 | \begin{itemize} 84 | \item 85 | \pause Но найдётся ли натуральное число $p$, что $\vdash\omega_1(\overline{\ulcorner\sigma\urcorner},\overline{p})$? 86 | \pause Пусть нет. То есть $\vdash\neg\omega_1(\overline{\ulcorner\sigma\urcorner},\overline{0})$, 87 | $\vdash\neg\omega_1(\overline{\ulcorner\sigma\urcorner},\overline{1})$, 88 | \dots \pause По $\omega$-непротиворечивости $\not\vdash\exists p.\neg\neg\omega_1(\overline{\ulcorner\sigma\urcorner},p)$. \pause 89 | \end{itemize} 90 | Значит, найдётся натуральное $p$, что $\vdash\omega_1(\overline{\ulcorner\sigma\urcorner},\overline{p})$. \pause 91 | То есть, $\langle\ulcorner\sigma\urcorner, p\rangle\in W_1$. \pause 92 | То есть, $p$ --- доказательство самоприменения $W_1$: $\vdash\sigma(\overline{\ulcorner\sigma\urcorner})$. \pause Противоречие. 93 | \end{itemize} 94 | \end{proof} 95 | \end{frame} 96 | 97 | \begin{frame}{Почему теорема о неполноте?} 98 | \begin{thm}Формальная арифметика с классической моделью --- неполна\end{thm} \pause 99 | \begin{proof} 100 | Полная теория --- теория, в которой любая общезначимая формула доказуема. \pause 101 | Рассмотрим Ф.А. с классической моделью. \pause 102 | Из теоремы Гёделя имеем $\not\vdash\sigma(\overline{\ulcorner\sigma\urcorner})$. \pause 103 | Рассмотрим $\sigma(\overline{\ulcorner\sigma\urcorner}) \equiv \forall p.\neg\omega_1(\overline{\ulcorner\sigma\urcorner}),p$: 104 | нет числа $p$, что $p$ --- номер доказательства $\sigma(\overline{\ulcorner\sigma\urcorner})$. \pause 105 | То есть, $\llbracket \forall p.\neg\omega_1(\overline{\ulcorner\sigma\urcorner}),p) \rrbracket = \text{И}$. \pause 106 | То есть, $\models \sigma(\overline{\ulcorner\sigma\urcorner})$. 107 | \end{proof} 108 | \end{frame} 109 | 110 | \begin{frame}{Первая теорема Гёделя о неполноте в форме Россера} 111 | \begin{dfn}$\theta_1\le\theta_2 \equiv \exists p.p+\theta_1=\theta_2\quad\quad\theta_1<\theta_2\equiv\theta_1\le\theta_2\with\neg\theta_1=\theta_2$\end{dfn}\pause 112 | \begin{dfn}Пусть $\langle \ulcorner\xi\urcorner,p\rangle \in W_2$, если $\vdash\neg\xi(\overline{\ulcorner\xi\urcorner})$. 113 | Пусть $\omega_2$ выражает $W_2$ в формальной арифметике\end{dfn}\pause 114 | \begin{thm}Рассмотрим $\rho(x_1) = \forall p.\omega_1(x_1,p)\rightarrow\exists q.q \le p \with \omega_2(x_2,q)$. \pause 115 | Тогда $\not\vdash\rho(\overline{\ulcorner\rho\urcorner})$ и $\not\vdash\neg\rho(\overline{\ulcorner\rho\urcorner})$. \pause 116 | $\rho(\overline{\ulcorner\rho\urcorner})$: <<Меня легче опровергнуть, чем доказать>> 117 | \end{thm}%\pause 118 | %\begin{proof}Сложное техническое доказательство, использующее утверждения 119 | %вида $\vdash a \le \overline{n} \leftrightarrow a = \overline{0} \vee a = \overline{1} \vee \dots \vee a = \overline{n}$ 120 | %\end{proof} \pause 121 | \end{frame} 122 | 123 | \begin{frame}{Формальное доказательство} 124 | Неполнота варианта теории, изложенной выше, формально доказана на Coq, Russell O'Connor, 2005:\\ 125 | \vspace{0.5cm} 126 | ``My proof, excluding standard libraries and the library for Pocklington’s criterion, 127 | consists of 46 source files, 7 036 lines of specifications, 37 906 lines of proof, 128 | and 1 267 747 total characters. The size of the gzipped tarball (gzip -9) of all 129 | the source files is 146 008 bytes, which is an estimate of the information content of my proof.''\\ 130 | \vspace{0.5cm} 131 | \texttt{Theorem Incompleteness : forall T : System,}\\ 132 | \hspace{0.5cm}\texttt{Included Formula NN T ->}\\ 133 | \hspace{0.5cm}\texttt{RepresentsInSelf T ->}\\ 134 | \hspace{0.5cm}\texttt{DecidableSet Formula T ->}\\ 135 | \hspace{0.5cm}\texttt{exists f : Formula,}\\ 136 | \hspace{0.5cm}\texttt{Sentence f/\textbackslash (SysPrf T f \textbackslash/ SysPrf T (notH f) -> Inconsistent LNN T)}. 137 | \end{frame} 138 | 139 | \begin{frame}{Consis} 140 | \begin{dfn} 141 | Обозначим за $\psi(x,p)$ формулу, выражающую в формальной арифметике рекурсивное 142 | отношение Proof: $\langle \ulcorner\xi\urcorner,p\rangle \in \text{Proof}$, если $p$ --- гёделев номер 143 | доказательства $\xi$. \pause\\ 144 | Обозначим $\pi(x)\equiv\exists p.\psi(x,p)$ 145 | \end{dfn} \pause 146 | \begin{dfn}Формулой Consis назовём формулу 147 | $\neg \pi(\overline{\ulcorner 1=0 \urcorner})$ 148 | \end{dfn} \pause 149 | Неформальный смысл: <<формальная арифметика непротиворечива>> 150 | \end{frame} 151 | 152 | \begin{frame}{Вторая теорема Гёделя о неполноте арифметики} 153 | \begin{thm}Если Consis доказуем, то формальная арифметика противоречива.\end{thm} 154 | \begin{proof}(неформально) \pause 155 | Формулировка 1 теоремы Гёделя о неполноте арифметики: 156 | <<если Ф.А. непротиворечива, то недоказуемо $\sigma(\overline{\ulcorner\sigma\urcorner})$>>. \pause 157 | То есть, $\forall p.\neg\omega_1(\overline{\ulcorner\sigma\urcorner},p)$. \pause То есть, 158 | если $\text{Consis}$, то $\sigma(\overline{\ulcorner\sigma\urcorner})$. \pause 159 | То есть, если $\text{Consis}$, то $\sigma(\overline{\ulcorner\sigma\urcorner})$, --- и это можно доказать, 160 | то есть $\vdash\text{Consis}\rightarrow\sigma(\overline{\ulcorner\sigma\urcorner})$. \pause Однако 161 | если формальная арифметика непротиворечива, то $\not\vdash\sigma(\overline{\ulcorner\sigma\urcorner})$. 162 | \end{proof} 163 | \end{frame} 164 | 165 | \begin{frame}{Условия выводимости Гильберта-Бернайса-Лёфа} 166 | \begin{dfn} 167 | Будем говорить, что формула $\psi$, выражающая отношение Proof, 168 | формула $\pi$ и формула Consis соответствуют 169 | условиям Гильберта-Бернайса-Лёфа, если следующие условия выполнены для любой формулы $\alpha$: 170 | 171 | \begin{enumerate} 172 | \item $\vdash \alpha$ влечет $\vdash \pi(\overline{\ulcorner\alpha\urcorner})$ 173 | \item $\vdash \pi (\overline{\ulcorner\alpha\urcorner}) \rightarrow \pi(\overline{\ulcorner\pi(\overline{\ulcorner\alpha\urcorner})\urcorner})$ 174 | \item $\vdash \pi (\overline{\ulcorner\alpha\rightarrow \beta\urcorner}) \rightarrow \pi(\overline{\ulcorner\alpha\urcorner}) \rightarrow \pi(\overline{\ulcorner\beta\urcorner})$ 175 | \end{enumerate} 176 | \end{dfn} 177 | \end{frame} 178 | 179 | \begin{frame}{Первая теорема Гёделя о неполноте ещё раз} 180 | \begin{lmm}Лемма об автоссылках. Для любой формулы $\phi(x_1)$ можно построить 181 | такую замкнутую формулу $\alpha$ (не использующую неаксиоматических предикатных 182 | и функциональных символов), что $\vdash \phi(\overline{\ulcorner\alpha\urcorner}) \leftrightarrow \alpha$. 183 | \end{lmm} 184 | 185 | \begin{thm}Существует такая замкнутая формула $\gamma$, что если Ф.А. непротиворечива, то 186 | $\not\vdash \gamma$, а если Ф.А. $\omega$-непротиворечива, то и $\not\vdash\neg\gamma$. 187 | \end{thm} 188 | \begin{proof}Рассмотрим $\phi(x_1) \equiv \neg\pi(x_1)$. Тогда по лемме об автоссылках существует 189 | $\gamma$, что $\vdash \gamma \leftrightarrow \neg\pi(\overline{\ulcorner\gamma\urcorner})$. 190 | 191 | \begin{itemize} 192 | \item Предположим, что $\vdash \gamma$. Тогда $\vdash \gamma \rightarrow \neg\pi(\overline{\ulcorner\gamma\urcorner})$, то есть $\not\vdash\gamma$ 193 | \item Предположим, что $\vdash \neg\gamma$. Тогда $\vdash \pi(\overline{\ulcorner\gamma\urcorner})$, 194 | то есть $\vdash \exists p.\psi(\overline{\ulcorner\gamma\urcorner},p)$. Тогда по $\omega$-непротиворечивости 195 | найдётся $p$, что $\vdash \psi(\overline{\ulcorner\gamma\urcorner},\overline{p})$, то есть $\vdash \gamma$. 196 | \end{itemize} 197 | \end{proof} 198 | \end{frame} 199 | 200 | \begin{frame}{Доказательство второй теоремы Гёделя} 201 | \begin{enumerate} 202 | \item Пусть $\gamma$ таково, что $\vdash \gamma \leftrightarrow \neg\pi(\overline{\ulcorner\gamma\urcorner})$. 203 | \item Покажем $\pi(\overline{\ulcorner\gamma\urcorner})\vdash \pi(\overline{\ulcorner 1=0\urcorner})$. 204 | 205 | \begin{enumerate} 206 | \item По условию 2, $\vdash \pi(\overline{\ulcorner\gamma\urcorner}) \rightarrow \pi(\overline{\ulcorner\pi(\overline{\ulcorner\gamma\urcorner})\urcorner})$. 207 | По теореме о дедукции $\pi(\overline{\ulcorner\gamma\urcorner})\vdash \pi(\overline{\ulcorner\pi(\overline{\ulcorner\gamma\urcorner})\urcorner})$; 208 | 209 | \item Так как $\vdash \pi(\overline{\ulcorner\gamma\urcorner})\rightarrow\neg\gamma$, то 210 | по условию 1 $\vdash \pi(\overline{\ulcorner\pi(\overline{\ulcorner\gamma\urcorner})\rightarrow\neg\gamma\urcorner})$; 211 | 212 | \item По условию 3, $\pi(\overline{\ulcorner\gamma\urcorner})\vdash \pi(\overline{\ulcorner\pi(\overline{\ulcorner\gamma\urcorner})\urcorner}) 213 | \rightarrow \pi(\overline{\ulcorner\pi(\overline{\ulcorner\gamma\urcorner})\rightarrow\neg\gamma\urcorner})\rightarrow 214 | \pi(\overline{\ulcorner\neg\gamma\urcorner})$; 215 | 216 | \item Таким образом, $\pi(\overline{\ulcorner\gamma\urcorner})\vdash\pi(\overline{\ulcorner\neg\gamma\urcorner})$; 217 | 218 | \item Однако, $\vdash \gamma\rightarrow\neg\gamma\rightarrow 1=0$. Условие 3 (применить два раза) даст $\pi(\overline{\ulcorner\gamma\urcorner})\vdash \pi(\overline{\ulcorner 1=0 \urcorner})$. 219 | \end{enumerate} 220 | 221 | \item $\neg\pi(\overline{\ulcorner 1=0 \urcorner})\rightarrow\neg\pi(\overline{\ulcorner\gamma\urcorner})$ (т. о дедукции, контрапозиция). 222 | \item $\vdash \neg\pi(\overline{\ulcorner 1=0 \urcorner})\rightarrow\gamma$ (определение $\gamma$). 223 | \end{enumerate} 224 | \end{frame} 225 | 226 | \end{document} 227 | -------------------------------------------------------------------------------- /10-zf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/10-zf.pdf -------------------------------------------------------------------------------- /10-zf.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newtheorem{snote}{Пояснение}[section] 24 | 25 | \newcommand{\divisible}% 26 | {\mathrel{\lower.2ex% 27 | \vbox{\baselineskip=0.7ex\lineskiplimit=0pt% 28 | \kern6pt \hbox{.}\hbox{.}\hbox{.}}% 29 | }} 30 | 31 | \begin{document} 32 | 33 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 34 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 35 | 36 | \begin{frame}{} 37 | \LARGE\begin{center}Теория множеств\end{center} 38 | \end{frame} 39 | 40 | \begin{frame}{Парадоксы теории множеств} 41 | \begin{enumerate} 42 | \item Неограниченный принцип абстракции $\{ x\ |\ P(x)\}$ \pause 43 | \item $X = \{ x\ |\ x \notin x \}$. Выполнено ли $X \in X$? \pause 44 | \item Вариант решения парадокса: а, может, запретить все <<опасные>> ситуации? \pause 45 | \item Аксиоматика Цермело --- 1908 год, оставим только то, что используют математики. \pause 46 | \item Что такое множество? Не будем отвечать, поступим иначе.\pause 47 | 48 | \begin{dfn} Теория множеств --- теория первого порядка, 49 | с дополнительным нелогическим двухместным функциональным символом $\in$, и следующими 50 | дополнительными нелогическими аксиомами и схемами аксиом. 51 | \end{dfn} 52 | \end{enumerate} 53 | \end{frame} 54 | 55 | \begin{frame}{Аксиоматика ZF, равенство} 56 | \begin{dfn} Равенство <<по Лейбницу>>: объекты равны, если неразличимы.\end{dfn} Если нечто ходит как утка, выглядит как 57 | утка и крякает как утка, то это утка.\pause 58 | \begin{dfn} Принцип объёмности: объекты равны, если состоят из одинаковых частей\end{dfn}\pause 59 | 60 | \begin{dfn} $A \subseteq B \equiv \forall x.x \in A \rightarrow x \in B$ \\\pause 61 | $A = B \equiv A \subseteq B \with B \subseteq A$ \end{dfn}\pause 62 | \begin{dfn} Аксиома равенства: равные множества содержатся в одних и тех же множествах. 63 | $\forall x. \forall y. \forall z. x = y \with x \in z \rightarrow y \in z$. 64 | \end{dfn} 65 | \end{frame} 66 | 67 | \begin{frame}{Аксиоматика ZF, конструктивные аксиомы} 68 | \begin{dfn} Аксиома пустого. Существует пустое множество $\varnothing$. $$\exists s.\forall t.\neg t \in s$$ \end{dfn}\pause 69 | \begin{dfn} Аксиома пары. Существует $\{a,b\}$. 70 | Каковы бы ни были два множества $a$ и $b$, существует множество, состоящее 71 | в точности из них. 72 | 73 | $$\forall a.\forall b.\exists s.a \in s \with b \in s \with \forall c.c \in s \rightarrow c = a \vee c = b$$ \end{dfn} 74 | \end{frame} 75 | 76 | \begin{frame}{Аксиоматика ZF, конструктивные аксиомы 2} 77 | \begin{dfn} Аксиома объединения: существует $\cup x$. 78 | Для любого непустого множества $x$ найдется такое множество, которое состоит в точности 79 | из тех элементов, из которых состоят элементы $x$. 80 | $$\forall x.(\exists y.y \in x) \rightarrow \exists p.\forall y.y \in p \leftrightarrow \exists s.y \in s \with s \in x$$ 81 | \end{dfn}\pause 82 | \begin{dfn} Аксиома степени: существует $\mathcal{P}(x)$. 83 | Каково бы ни было множество $x$, существует множество, содержащее в точности 84 | все возможные подмножества множества $x$. 85 | $$\forall x.\exists p.\forall y.y \in p \leftrightarrow y \subseteq x$$ 86 | \end{dfn} 87 | \end{frame} 88 | 89 | \begin{frame}{Аксиоматика ZF. Схема аксиом выделения} 90 | \begin{dfn} Схема аксиом выделения: существует $\{ t \in x\ |\ \varphi(t)\}$. 91 | Для любого множества $x$ и любой формулы от одного аргумента $\varphi(y)$ 92 | ($b$ не входит свободно в $\varphi$), найдется $b$, в которое 93 | входят те и только те элементы из множества $x$, что $\phi(y)$ истинно. 94 | 95 | $$\forall x.\exists b.\forall y.y \in b \leftrightarrow (y \in x \with \varphi(y))$$ 96 | \end{dfn} 97 | \end{frame} 98 | 99 | \begin{frame}{Немного теорем} 100 | \begin{thm}Для любого множества $X$ существует множество $\{X\}$, содержащее в точности $X$.\end{thm}\pause 101 | \begin{proof}Воспользуемся аксиомой пары: $\{X,X\}$\end{proof}\pause 102 | \begin{thm}Пустое множество единственно.\end{thm}\pause 103 | \begin{proof}Пусть $\forall p.\neg p \in s$ и $\forall p.\neg p \in t$. 104 | Тогда $s \subseteq t$ и $t \subseteq s$.\end{proof}\pause 105 | \begin{thm}Для двух множеств $s$ и $t$ существует множество, являющееся их пересечением.\end{thm}\pause 106 | \begin{proof}$s \cap t = \{ x\in s\ |\ x \in t\}$\end{proof} 107 | \end{frame} 108 | 109 | \begin{frame}{Упорядоченная пара} 110 | \begin{dfn}{Упорядоченная пара.} 111 | Упорядоченной парой двух множеств $a$ и $b$ назовём 112 | $\{\{a\},\{a,b\}\}$, или $\langle{}a,b\rangle$ 113 | \end{dfn} 114 | 115 | \begin{thm} 116 | Упорядоченную пару можно построить для любых множеств. 117 | \end{thm} 118 | \begin{proof}Применить аксиому пары, теорему о существовании $\{X\}$, аксиому пары.\end{proof} 119 | 120 | \begin{thm} 121 | $\langle{}a,b\rangle = \langle{}c,d\rangle$ тогда и только тогда, 122 | когда $a = c$ и $b = d$. 123 | \end{thm} 124 | \end{frame} 125 | 126 | \begin{frame}{Аксиома бесконечности} 127 | \begin{dfn}Инкремент: $x' \equiv x \cup \{x\}$\end{dfn}\pause 128 | \begin{dfn}Аксиома бесконечности. Существует $N: \varnothing \in N \with \forall x.x \in N\rightarrow x' \in N$\end{dfn}\pause 129 | 130 | В $N$ есть всевозможные множества вида $\varnothing$\pause, $\{\varnothing\}$\pause, $\{\varnothing,\{\varnothing\}\}$, \pause 131 | $\{\varnothing,\{\varnothing\},\{\varnothing,\{\varnothing\}\}\}$, \dots\pause 132 | \\\vspace{0.5cm} 133 | (неформально) $\omega = \{\varnothing, \varnothing', \varnothing'', \dots\}$. \pause 134 | Тогда $N_1 = \omega\cup\{\omega,\omega',\omega'',\dots\}$ подходит. 135 | \end{frame} 136 | 137 | \begin{frame}{Полный порядок (вполне упорядоченные множества)} 138 | \begin{enumerate} 139 | \item Частичный: рефлексивность ($a \preceq a$), антисимметричность ($a \preceq b \rightarrow b \preceq a\rightarrow a=b$), 140 | транзитивность ($a \preceq b \rightarrow b \preceq c \rightarrow a \preceq c$).\pause 141 | \item Линейный: частичный + $\forall a.\forall b.a \preceq b \vee b \preceq a$.\pause 142 | \item Полный: линейный + в любом непустом подмножестве есть наименьший элемент.\pause 143 | \end{enumerate} 144 | 145 | \begin{exm}$\mathbb{Z}$ не вполне упорядочено: в $\mathbb{Z}$ нет наименьшего.\end{exm}\pause 146 | \begin{exm}Отрезок $[0,1]$ не вполне упорядочен: $(0,1)$ не имеет наименьшего.\end{exm}\pause 147 | \begin{exm}$\mathbb{N}$ вполне упорядочено.\end{exm} 148 | \end{frame} 149 | 150 | \begin{frame}{Ординалы} 151 | \begin{dfn}Транзитивное множество $X$: $\forall x.\forall y.x \in y \with y \in X \rightarrow x \in X$.\end{dfn}\pause 152 | \begin{dfn}Ординал --- вполне упорядоченное отношением $(\in)$ транзитивное множество.\end{dfn}\pause 153 | \begin{exm}Ординалы: $\varnothing$, \pause $\varnothing'$, \pause $\varnothing''$, \dots\end{exm}\pause 154 | \begin{dfn}Предельный ординал: такой $x$, что $x \ne \varnothing$ и нет $y: y' = x$\end{dfn}\pause 155 | \begin{dfn}Ординал $x$ конечный, если он меньше любого предельного.\end{dfn}\pause 156 | \begin{thm}Если $x,y$ --- ординалы, то $x\in y$ или $y \in x$.\end{thm} 157 | \end{frame} 158 | \begin{frame}{Предельные ординалы, $\omega$} 159 | \begin{dfn}$\omega$ --- наименьший предельный ординал.\end{dfn}\pause 160 | \begin{thm}$\omega$ существует.\end{thm}\pause 161 | \begin{proof}Пусть $\omega = \{ x \in N\ |\ x\text{ конечен}\}$. 162 | Пусть $\theta$ таков, что $\theta \in \omega$. Тогда $\theta$ конечен. \pause 163 | Пусть $\theta$ таков, что $\theta' = \omega$. Тогда $\theta \in \omega$.\end{proof} 164 | \begin{exm}$\omega'$ --- тоже ординал.\end{exm} 165 | \end{frame} 166 | 167 | \begin{frame}{Операции над ординалами} 168 | \begin{dfn}$\sup x$ --- наименьший ординал, содержащий $x$: $x \subseteq \sup x$.\end{dfn} \pause 169 | \begin{exm}$\sup \{ \varnothing', \varnothing'', \varnothing'''' \} = \{ {\color{blue}\varnothing}, 170 | \varnothing', \varnothing'', {\color{blue} \varnothing '''}, \varnothing'''' \} = \pause \varnothing'''''$\end{exm} \pause 171 | $$a + b \equiv \left\{ \begin{array}{rl} 172 | a, & b \equiv \varnothing\\ 173 | (a + c)', & b \equiv c'\\ 174 | \sup \{ a+c \mid c \prec b \}, &\mbox{$b$ --- предельный ординал }\end{array}\right.$$\pause 175 | 176 | \begin{exm}$\omega + 1 = \omega \cup \{\omega\}$; \pause $1 + \omega = \sup\{ 1+\varnothing, 1+1, 1+2, \dots \} \pause = \omega$\end{exm} 177 | \end{frame} 178 | 179 | \begin{frame}{Ещё операции над ординалами} 180 | $$a \cdot b \equiv \left\{ \begin{array}{rl} 181 | 0, & b \equiv \varnothing\\ 182 | (a \cdot c) + a, & b \equiv c'\\ 183 | \sup \{ a \cdot c \mid c \prec b \}, &\mbox{$b$ --- предельный ординал }\end{array}\right.$$ 184 | \pause 185 | $$a ^ b \equiv \left\{ \begin{array}{rl} 186 | 1, & b \equiv \varnothing\\ 187 | (a ^ c) \cdot a, & b \equiv c'\\ 188 | \sup \{ a^c \mid c \prec b \}, &\mbox{$b$ --- предельный ординал }\end{array}\right.$$ 189 | \pause 190 | \begin{exm}$\omega \cdot \omega = \sup\{\omega,\omega\cdot 2, \omega\cdot 3, \dots\}$\end{exm} 191 | \end{frame} 192 | 193 | \begin{frame}{Ординалы (порядковые числа) и порядок} 194 | \begin{exm}Гостиница с $\omega$ номерами, въезжает постоялец. \pause $1 + \omega = \omega$ \pause Добавить элемент перед бесконечностью.\end{exm} 195 | \begin{exm}Ввести особое значение $+\infty$. \pause $\omega + 1 \ne \omega$ \pause Добавить элемент после бесконечности.\end{exm} \pause 196 | \begin{exm}Упорядочивание алгебраических типов.\end{exm} \pause 197 | Neg of nat | Pos of nat \pause 198 | 199 | $\omega + \omega$ --- в самом деле, $\texttt{Neg 5} \prec \texttt{Pos 5}$. $\texttt{Neg 5}$ в данном упорядочении 200 | соответствует $5$, а $\texttt{Pos 5}$ соответствует $\omega + 5$. 201 | \end{frame} 202 | 203 | \begin{frame}{Дизъюнктные множества} 204 | \begin{dfn}Дизъюнктное (разделённое) множество --- множество, элементы которого 205 | не пересекаются. 206 | $$Dj(x) \equiv \forall y.\forall z.(y \in x \with z \in x \with \neg y=z) \rightarrow 207 | \neg \exists t.t \in y \with t \in z$$ 208 | \end{dfn}\pause 209 | 210 | \begin{exm}Дизъюнктное: $\{\{1,2\},\{\rightarrow\},\{\alpha,\beta,\gamma\}\}$\\ \pause 211 | Не дизъюнктное: $\{\{1,2\},\{\rightarrow\},\{\alpha,\beta,\gamma,1\}\}$ 212 | \end{exm} 213 | \end{frame} 214 | 215 | \begin{frame}{Прямое произведение множеств} 216 | \begin{dfn}Прямое произведение дизъюнктного множества $a$ --- 217 | множество $\times a$ всех таких множеств $b$, что: 218 | \begin{itemize} 219 | \item $b$ пересекается с каждым из элементов множества $a$ в точности в одном элементе 220 | \item $b$ содержит элементы только из $\cup a$. 221 | \end{itemize} 222 | 223 | $$\forall b .b \in \times a \leftrightarrow (b \subseteq \cup a \with \forall y .y \in a \rightarrow \exists ! x .x \in y \with x \in b)$$ 224 | \end{dfn}\pause 225 | 226 | \begin{exm} 227 | $\times\{\{\triangle,\square\},\{1,2,3\}\} = \{\{\triangle,1\},\{\triangle,2\},\{\triangle,3\},\{\square,1\},\{\square,2\},\{\square,3\}\}$ 228 | \end{exm} 229 | 230 | \end{frame} 231 | 232 | \begin{frame}{Аксиома выбора} 233 | \begin{dfn} 234 | Прямое произведение непустого дизъюнктного множества, 235 | не содержащего пустых элементов, непусто. 236 | 237 | $$\forall t.Dj (t) \rightarrow 238 | (\forall x.x \in t \rightarrow \exists p.p \in x) \rightarrow 239 | (\exists p.p \in \times t)$$ 240 | \end{dfn}\pause 241 | 242 | Альтернативные варианты: любое множество можно вполне упорядочить, \pause любая сюръективная функция имеет частичную обратную, 243 | и т.п. 244 | \begin{dfn}Аксиоматика ZF + аксиома выбора = ZFC\end{dfn}\pause 245 | \end{frame} 246 | 247 | \begin{frame}{Дискуссия вокруг аксиомы выбора} 248 | \begin{exm}Парадокс Банаха-Тарского: трёхмерный шар равносоставен двум своим копиям.\end{exm}\pause 249 | \begin{thm}Теорема (Гёдель, 1938): аксиома выбора не добавляет противоречий в ZF.\end{thm}\pause 250 | \begin{thm}Теорема (Коэн, 1963): аксиома выбора не следует из других аксиом ZF.\end{thm}\pause 251 | \begin{exm}Односторонние функции: Sha256 и т.п. У Sha256 есть обратная.\end{exm}\pause 252 | \begin{thm}Теорема Диаконеску: ZFC поверх интуиционистского исчисления предикатов содержит правило исключённого третьего.\end{thm} 253 | \end{frame} 254 | 255 | \begin{frame}{Ещё аксиомы} 256 | \begin{dfn}Аксиома фундирования. 257 | В каждом непустом множестве найдется элемент, не пересекающийся с исходным множеством. 258 | $$\forall x .x = \varnothing \vee \exists y .y \in x \with y \cap x = \varnothing$$ 259 | \end{dfn} 260 | 261 | Аксиома фундирования исключает множества, которые могут принадлежать 262 | сами себе (возможно, через цепочку принадлежностей): 263 | $X \in Y \in Z \in X$\pause 264 | 265 | \begin{dfn}Схема аксиом подстановки. 266 | Если задана некоторая функция f, представимая в исчислении предикатов 267 | (то есть задана некоторая формула $\phi$, такая, что $f(x) = y$ 268 | тогда и только тогда, когда $\phi(x,y) \with \exists ! z \phi(x,z)$), 269 | то для любого множества S существует множество f(S) --- образ 270 | множества S при отображении f. 271 | $$\forall s .(\forall x .\forall y_1 .\forall y_2 .x \in s \with \phi (x,y_1) \with \phi 272 | (x,y_2) \rightarrow y_1=y_2) \rightarrow 273 | (\exists t .\forall y .y \in t 274 | \leftrightarrow \exists x . x \in s \with \phi (x,y)) $$ 275 | \end{dfn} 276 | \end{frame} 277 | 278 | \end{document} 279 | -------------------------------------------------------------------------------- /12-sl.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/12-sl.pdf -------------------------------------------------------------------------------- /12-sl.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newtheorem{snote}{Пояснение}[section] 24 | 25 | \newcommand{\divisible}% 26 | {\mathrel{\lower.2ex% 27 | \vbox{\baselineskip=0.7ex\lineskiplimit=0pt% 28 | \kern6pt \hbox{.}\hbox{.}\hbox{.}}% 29 | }} 30 | 31 | \begin{document} 32 | 33 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 34 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 35 | 36 | \begin{frame}{} 37 | \LARGE\begin{center}Теорема Лёвенгейма-Сколема\end{center} 38 | \end{frame} 39 | 40 | \begin{frame}{Как пересчитать вещественные числа (неформально)?} 41 | \begin{enumerate} 42 | \item Номер вещественного числа --- первое упоминание в литературе, т.е. $\langle j, y, n, p, r, c \rangle$:\\ 43 | j --- гёделев номер названия научного журнала (книги);\\ 44 | y --- год издания;\\ 45 | n --- номер;\\ 46 | p --- страница;\\ 47 | r --- строка;\\ 48 | c --- позиция\pause 49 | \item Попробуете предъявить число $x$, не имеющее номера? Это рассуждение сразу даст номер.\\ 50 | \end{enumerate} 51 | \end{frame} 52 | 53 | \begin{frame}{Мощность модели и аксиоматизации} 54 | \begin{dfn} Пусть задана модель $\langle D, F_n, P_n \rangle$ для некоторой теории первого порядка. 55 | Её мощностью будем считать мощность $D$. 56 | \end{dfn}\pause 57 | 58 | \begin{dfn} Пусть задана формальная теория с аксиомами $\alpha_n$. Её мощность --- мощность множества $\{\alpha_n\}$. 59 | \end{dfn}\pause 60 | 61 | \begin{exm} Формальная арифметика, исчисление предикатов, исчисление высказываний --- счётно-аксиоматизируемые. 62 | \end{exm} 63 | \end{frame} 64 | 65 | \begin{frame}{Элементарная подмодель} 66 | \begin{dfn}$\mathcal{M}' = \langle D', F'_n, P'_n \rangle$ --- элементарная подмодель $\mathcal{M} = \langle D, F_n, P_n \rangle$, 67 | если: \pause 68 | \begin{enumerate} 69 | \item $D' \subseteq D$, \pause $F'_n$, $P'_n$ --- сужение $F_n$, $P_n$ (замкнутое на $D'$). \pause 70 | \item $\mathcal{M}\models \varphi(x_1,\dots,x_n)$ тогда и только тогда, когда $\mathcal{M}'\models \varphi(x_1,\dots,x_n)$ 71 | при $x_i \in D'$. \pause 72 | \end{enumerate} 73 | \end{dfn} 74 | 75 | \begin{exm}Когда сужение $M$ не является элементарной подмоделью? \pause 76 | 77 | $\forall x.\exists y.x \ne y$. Истинно в $\mathbb{N}$. \pause Но пусть $D' = \{ \square \}$. 78 | \end{exm} 79 | \end{frame} 80 | 81 | \begin{frame}{Теорема Лёвенгейма-Сколема} 82 | \begin{thm}Пусть $T$ --- множество всех формул теории первого порядка. 83 | Пусть теория имеет некоторую модель $\mathcal{M}$. 84 | Тогда найдётся элементарная подмодель $\mathcal{M'}$, причём $|\mathcal{M'}| = \max(\aleph_0, |T|)$. 85 | \end{thm}\pause 86 | 87 | \begin{proof} (Схема доказательства) 88 | \begin{enumerate} 89 | \item Построим $D_0$ --- множество всех значений, которые упомянуты в языке теории. \pause 90 | \item Будем последовательно пополнять $D_i$: $D_0 \subseteq D_1 \subseteq D_2 \dots$, следя за мощностью. 91 | $D' = \cup D_i$. 92 | \item Покажем, что $\langle D', F_n, P_n\rangle$ --- требуемая подмодель. 93 | \end{enumerate} 94 | \end{proof} 95 | \end{frame} 96 | 97 | \begin{frame}{Начальный $D_0$} 98 | Пусть $\{f^0_k\}$ --- все 0-местные функциональные символы теории. \pause 99 | \begin{enumerate} 100 | \item $D_0 = \{ \llbracket f^0_k \rrbracket \}$, если есть хотя бы один $f^0_k$. \pause 101 | \item Если таких $f^0_k$ нет, возьмём какое-нибудь одно значение из $D$. \pause 102 | \end{enumerate}\pause 103 | 104 | Очевидно, $|D_0| \le |T|$. 105 | \end{frame} 106 | 107 | \begin{frame}{Пополнение $D$} 108 | Фиксируем некоторый $D_k$. Напомним, $T$ --- множество всех формул теории. Рассмотрим $\varphi \in T$.\pause 109 | \begin{enumerate} 110 | \item $\varphi$ не имеет свободных переменных --- пропустим. \pause 111 | \item $\varphi$ имеет хотя бы одну свободную переменную $y$. \pause 112 | \begin{enumerate} 113 | \item $\varphi (y, x_1, \dots, x_n)$ при $y,x_i \in D_k$ бывает истинным и ложным --- ничего не меняем \pause 114 | \item $\varphi (y, x_1, \dots, x_n)$ при $y \in D$ и $x_i \in D_k$ либо всегда истинен, либо всегда ложен --- ничего не меняем \pause 115 | \item $\varphi (y, x_1, \dots, x_n)$ при $y,x_i \in D_k$ тождественно истинен или ложен, но при 116 | $y' \in D \setminus D_k$ отличается --- добавим $y'$ к $D_{k+1}$. \pause 117 | Вместе добавим всевозможные $\llbracket\theta(y')\rrbracket$. 118 | \end{enumerate} 119 | \end{enumerate}\pause 120 | 121 | Всего добавили не больше $|T| \cdot |D_k|$. \pause $|\cup D_i| \le |T| \cdot |D_k| \cdot |\aleph_0| = \max (|T|, |\aleph_0|)$ 122 | \end{frame} 123 | 124 | \begin{frame}{$\mathcal{M}'$ --- элементарная подмодель} 125 | Индукцией по структуре формул $\tau \in T$ покажем, 126 | что все формулы можно вычислить, и что $\llbracket \varphi \rrbracket_\mathcal{M'} = \llbracket \varphi \rrbracket_\mathcal{M}$.\pause 127 | 128 | \begin{enumerate} 129 | \item База, 0 связок. $\tau \equiv P(f_1(x_1,\dots,x_n),\dots,f_n(x_1,\dots,x_n))$. \pause Если $x_i \in D'$, то значит, 130 | добавлены на некоторых шагах (максимальный пусть $t$). Поэтому в $D_{t+1}$ можно вычислить формулу, и её значение сохранилось. \pause 131 | \item Переход. Пусть формулы из $k$ связок сохраняют значения. Рассмотрим $\tau$ с $k+1$ связкой. \pause 132 | \begin{enumerate} 133 | \item $\tau \equiv \rho \star \sigma$ --- очевидно. \pause 134 | \item $\tau\equiv\forall y.\varphi(y,x_1,\dots,x_n)$. \pause 135 | Каждый $x_i$ добавлен на каком-то шаге --- максимум $t$. \pause 136 | Если $\varphi(y,x_1,\dots,x_n)$ бывает истинен и ложен при $y_t, y_f \in D$, то $y_t, y_f \in D_{t+1}$ (по построению). \pause 137 | Поэтому, если $\mathcal{M}\not\models\forall y.\varphi(y,x_1,\dots,x_n)$, то и 138 | $\mathcal{M'}\not\models\forall y.\varphi(y,x_1,\dots,x_n)$. \pause 139 | Если же $\varphi(y,x_1,\dots,x_n)$ не меняется от $y$, то тем более 140 | $\llbracket \varphi \rrbracket_\mathcal{M'} = \llbracket \varphi \rrbracket_\mathcal{M}$. \pause 141 | \item $\tau\equiv\exists y.\varphi(y,x_1,\dots,x_n)$ --- аналогично. 142 | \end{enumerate} 143 | \end{enumerate} 144 | \end{frame} 145 | 146 | \begin{frame}{<<Парадокс>> Сколема} 147 | \begin{enumerate} 148 | \item Как известно, $|\mathbb{R}| = |\mathcal{P}(\mathbb{N})| > |\mathbb{N}| = \aleph_0$. \pause Однако, ZFC --- счётно-аксиоматизируемая теория. \pause 149 | Значит, существует счётная модель ZFC, то есть $|\mathbb{R}| = \aleph_0$. \pause В чём ошибка? \pause 150 | \item У равенств разный смысл, первое --- в предметном языке, второе --- в метаязыке. \pause Внутри теории не выразить все 151 | способы нумерации, которые возможны. 152 | \end{enumerate} 153 | \end{frame} 154 | 155 | \end{document} 156 | -------------------------------------------------------------------------------- /13-correctness.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/13-correctness.pdf -------------------------------------------------------------------------------- /13-correctness.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newtheorem{snote}{Пояснение}[section] 24 | 25 | \newcommand{\divisible}% 26 | {\mathrel{\lower.2ex% 27 | \vbox{\baselineskip=0.7ex\lineskiplimit=0pt% 28 | \kern6pt \hbox{.}\hbox{.}\hbox{.}}% 29 | }} 30 | 31 | \begin{document} 32 | 33 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 34 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 35 | 36 | \begin{frame}{} 37 | \LARGE\begin{center}Теорема о корректности формальной арифметики\end{center} 38 | \end{frame} 39 | 40 | \begin{frame}{Два вида индукции} 41 | \begin{dfn}\emph{(Принцип математической индукции)} 42 | Какое бы ни было $\varphi(x)$, если $\varphi(0)$ и при всех $x$ выполнено $\varphi(x)\rightarrow \varphi(x')$, то 43 | при всех $x$ выполнено и само $\varphi(x)$. 44 | \end{dfn} 45 | 46 | \begin{dfn}\emph{(Принцип полной математической индукции)} 47 | Какое бы ни было $\psi(x)$, если $\psi(0)$ и при всех $x$ выполнено $(\forall t.x < t \rightarrow \psi(x))\rightarrow \psi(x')$, то 48 | при всех $x$ выполнено и само $\psi(x)$. 49 | \end{dfn} 50 | 51 | \begin{thm}Принципы математической индукции эквивалентны\end{thm} 52 | \begin{proof} 53 | $(\Rightarrow)$ взяв $\varphi := \psi$, имеем выполненность $\varphi(x)\rightarrow\varphi(x')$, значит, $\forall x.\psi(x)$. \pause\\ 54 | $(\Leftarrow)$ возьмём $\psi(x) := \forall t.t\le x\rightarrow\varphi(t)$ 55 | \end{proof} 56 | \end{frame} 57 | 58 | \begin{frame}{Трансфинитная индукция} 59 | \begin{thm}Принцип трансфинитной индукции. Если для $\varphi(x)$ --- некоторого утверждения 60 | теории множеств --- выполнено: 61 | \begin{enumerate} 62 | \item $\varphi(\varnothing)$ 63 | \item Если $\forall u.u \in \upsilon \rightarrow \varphi(u)$, то $\varphi(\upsilon)$ (где $\upsilon$ - это ординал) 64 | \end{enumerate} 65 | то $\forall u.\varphi(u)$ 66 | \end{thm} 67 | \end{frame} 68 | 69 | \begin{frame}{Индукция для натуральных чисел} 70 | \begin{lmm}Свойство индукции выполнено для натуральных чисел: 71 | если $\varphi(0)$ и $\forall x\in\mathbb{N}_0.f(x) \rightarrow f(x')$, то $\forall x\in\mathbb{N}_0.f(x)$. 72 | \end{lmm} 73 | 74 | \begin{proof} 75 | Пусть $\varphi(\varnothing)$ и $\forall u.(u \in \omega) \rightarrow \varphi(u) \rightarrow \varphi(u')$. 76 | Рассмотрим $\tau(n) = \forall u.u \in n \rightarrow \varphi(u)$. Очевидно, 77 | что если $m \in n$, то $\tau(n) \rightarrow \tau(m)$. Значит, выполнены условия принципа 78 | трансфинитной индукции для $\omega$, отсюда $\tau(\omega)$, отсюда $\forall u.(u \in \omega) \rightarrow \varphi(u)$. 79 | \end{proof} 80 | \end{frame} 81 | 82 | \begin{frame}{Исчисление $S_\infty$} 83 | \begin{enumerate} 84 | \item Язык: связки $\neg$, $\vee$, $\forall$; нелогические символы: $(+)$,$(\cdot)$,$(')$,$0$,$(=)$. 85 | \item Аксиомы: все истинные формулы вида $\theta_1=\theta_2$; все истинные отрицания формул вида $\neg\theta_1=\theta_2$ 86 | ($\theta_i$ --- термы без переменных). 87 | \item Структурные (слабые) правила: 88 | $$\infer{\zeta\vee\beta\vee\alpha\vee\delta}{\zeta\vee\alpha\vee\beta\vee\delta} \quad\quad 89 | \infer{\alpha\vee\delta}{\alpha\vee\alpha\vee\delta}$$ 90 | 91 | сильные правила 92 | $$\infer{\alpha\vee\delta}{\delta}\quad 93 | \infer{\neg(\alpha\vee\beta)\vee\delta}{\neg\alpha\vee\delta\quad\neg\beta\vee\delta}\quad 94 | \infer{\neg\neg\alpha\vee\delta}{\alpha\vee\delta}\quad 95 | \infer{(\neg\forall x.\alpha)\vee\delta}{\neg\alpha[x := \theta]\vee\delta}\quad$$ 96 | 97 | и ещё два правила \dots 98 | \end{enumerate} 99 | \end{frame} 100 | 101 | \begin{frame}{Ещё правила $S_\infty$} 102 | бесконечная индукция 103 | $$\infer{(\forall x.\alpha)\vee\delta}{\alpha[x:=\overline{0}]\vee\delta 104 | \quad\alpha[x:=\overline{1}]\vee\delta 105 | \quad\alpha[x:=\overline{2}]\vee\delta\quad\dots}$$ 106 | 107 | сечение 108 | $$\infer{\zeta\vee\delta}{\zeta\vee\alpha\quad\quad\neg\alpha\vee\delta}$$ 109 | Здесь: \\ 110 | $\alpha$ --- секущая формула \\ 111 | Число связок в $\neg\alpha$ --- степень сечения. 112 | \end{frame} 113 | 114 | \begin{frame}{Дерево доказательства} 115 | \begin{enumerate} 116 | \item Доказательства образуют деревья. 117 | \item Каждой формуле в дереве сопоставим порядковое число (ординал). 118 | \item Порядковое число заключения любого неструктурного правила строго больше порядкового числа его посылок 119 | (больше или равно в случае структурного правила). 120 | 121 | $$\infer{(\forall a.a = a)_\omega}{ 122 | \infer{0 = 0}{}\quad 123 | \infer{0'= 0'}{\infer{\dots}{\infer{0= 0}{}}}\quad 124 | \infer{0''= 0''}{\infer{\dots}{\infer{0'= 0'}{\infer{\dots}{\infer{0= 0}{}}}}}\quad\dots 125 | }\quad\quad\infer{(\forall a.a = a)_1}{ 126 | \infer{0 = 0}{}\quad 127 | \infer{0'= 0'}{}\quad 128 | \infer{0''= 0''}{}\quad\dots 129 | }$$ 130 | 131 | %$$\infer{(\neg\neg\forall x.\neg x'=0)_{\omega+1}}{\infer{(\forall x.\neg x' = 0)_\omega}{(\neg 1=0)_1\quad (\neg 2=0)_2 \quad (\neg 3=0)_4 \quad (\neg 4 = 0)_8 \dots}}$$ 132 | 133 | \item Существует конечная максимальная степень сечения в дереве (назовём её степенью вывода). 134 | \end{enumerate} 135 | \end{frame} 136 | 137 | \begin{frame}{Любая теорема Ф.А. --- теорема $S_\infty$} 138 | \begin{thm}Если $\vdash_\text{фа}\alpha$, то $\vdash_\infty|\alpha|_\infty$ \end{thm} 139 | \begin{thm}Если Ф.А. противоречива, то противоречива и $S_\infty$\end{thm} 140 | \begin{exm}Обратное неверно: $$\infer{\forall x.\neg\omega(x,\overline{\ulcorner\sigma\urcorner})} 141 | {\neg\omega(\overline{0},\overline{\ulcorner\sigma\urcorner})\quad\quad 142 | \neg\omega(\overline{1},\overline{\ulcorner\sigma\urcorner})\quad\quad 143 | \neg\omega(\overline{2},\overline{\ulcorner\sigma\urcorner})\quad\quad\dots}$$ 144 | \end{exm} 145 | \end{frame} 146 | 147 | \begin{frame}{Обратимость правил} 148 | \begin{thm} 149 | Если формула $\alpha$ доказана и имеет вид, похожий на заключение правил де Моргана, 150 | отрицания и бесконечной индукции --- то посылки соответствующих правил могут быть получены из самой 151 | формулы $\alpha$ доказательством, причём доказательством с не большей степенью и не большим порядком. 152 | \end{thm} 153 | \begin{proof} 154 | Например, формула вида $\neg\neg \alpha\vee\delta$. \pause 155 | 156 | Проследим историю $\alpha$; она получена: 157 | \begin{enumerate} 158 | \item ослаблением --- заменим $\neg\neg\alpha$ на $\alpha$ в этом узле и последующих. 159 | \item отрицанием --- выбросим правило, заменим $\neg\neg\alpha$ на $\alpha$ в последующих. 160 | \end{enumerate} 161 | Изменённый вывод --- доказательство требуемого. 162 | \end{proof} 163 | \end{frame} 164 | 165 | \begin{frame}{Устранение сечений} 166 | \begin{thm}Если $\alpha$ имеет вывод степени $m>0$ порядка $t$, то 167 | можно найти вывод степени строго меньшей $m$ с порядком $2^t$. 168 | \end{thm} 169 | 170 | \begin{proof}Трансфинитная индукция по порядку $t$.\begin{enumerate} 171 | \item База. Если $t=0$, то неструктурных правил нет, отсюда $m = 0$. 172 | \item Переход. Рассмотрим заключительное правило. 173 | \begin{enumerate} 174 | \item Не сечение. 175 | \item Сечение, секущая формула --- элементарная. 176 | \item Сечение, секущая формула --- $\neg\alpha$. 177 | \item Сечение, секущая формула --- $\alpha\vee\beta$. 178 | \item Сечение, секущая формула --- $\forall x.\alpha$. 179 | \end{enumerate} 180 | \end{enumerate} 181 | \end{proof} 182 | \end{frame} 183 | 184 | \begin{frame}{Случай 2.1. Не сечение} 185 | $$\infer{\alpha}{\pi_{t_0}\quad\pi_{t_1}\quad\pi_{t_2}\quad\dots}$$ 186 | Заменим доказательства посылок $\pi_i$ по индукционному предположению. 187 | 188 | \begin{enumerate} 189 | \item Если $m'_i < m_i$, то $\max m'_i < \max m_i$ 190 | \item Если $t_i \le t$, то $2^{t_i} \le 2^t$. 191 | \end{enumerate} 192 | \end{frame} 193 | 194 | \begin{frame}{Случай 2.5. Сечение с формулой вида $\forall x.\alpha$} 195 | $$\infer{\zeta\vee\delta}{\zeta\vee\forall x.\alpha\quad\quad\neg(\forall x.\alpha)\vee\delta}$$ 196 | Причём степень и порядок выводов компонент, соответственно, $(m_1,t_1)$ и $(m_2,t_2)$. 197 | \begin{enumerate} 198 | \item По индукции, вывод $\zeta\vee\forall x.\alpha$ можно упростить до $(m_1',2^{t_1})$. 199 | \item По обратимости, для постоянного $\theta$ можно построить вывод $\zeta\vee\alpha[x := \theta]$ за $(m_1',2^{t_1})$. 200 | \item В формуле $(\neg \forall x. \alpha)\vee\delta$ формула $\neg\forall x.\alpha$ получена 201 | либо ослаблением, либо квантификацией из $\neg\alpha[x := \theta_k]\vee\delta_k$. 202 | \begin{enumerate} 203 | \item Каждое правило квантификации заменим на: 204 | $$\infer{\zeta\vee\delta_k}{\zeta\vee\alpha[x := \theta_k]\quad\quad(\neg\alpha[x := \theta_k])\vee\delta_k}$$ 205 | \item Остальные вхождения $\neg\forall x.\alpha$ заменим на $\zeta$ (в правилах ослабления). 206 | \end{enumerate} 207 | \item В получившемся дереве меньше степень --- так как в $\neg\alpha[x := \theta]$ меньше связок, чем в $\neg\forall x.\alpha$. 208 | \item Нумерацию можно также перестроить. 209 | \end{enumerate} 210 | \end{frame} 211 | 212 | \begin{frame}{Теорема об устранении сечений} 213 | \begin{dfn}Итерационная экспонента 214 | $$(a\uparrow)^m(t) = 215 | \left\{ 216 | \begin{array}{ll} t,&m=0\\ 217 | a^{(a\uparrow)^{m-1}(t)},&m > 0 218 | \end{array} 219 | \right. 220 | $$ 221 | \end{dfn} 222 | \begin{thm}Если $\vdash_\infty\sigma$ степени $m$ порядка $t$, то найдётся доказательство без сечений 223 | порядка $(2\uparrow)^m(t)$ 224 | \end{thm} 225 | \begin{proof} 226 | В силу конечности $m$ воспользуемся индукцией по $m$ и теоремой об уменьшении степени. 227 | \end{proof} 228 | \end{frame} 229 | 230 | \begin{frame}{Непротиворечивость формальной арифметики} 231 | \begin{thm}Система $S_\infty$ непротиворечива\end{thm} 232 | \begin{proof} \pause 233 | Рассмотрим формулу $\neg 0=0$. 234 | Если эта формула выводима в $S_\infty$, то она выводима и в $S_\infty$ без сечений. 235 | Тогда какое заключительное правило? \pause 236 | \begin{enumerate} 237 | \item Правило Де-Моргана? \pause Нет отрицаний дизъюнкции ($\neg(\alpha\vee\beta)\vee\delta$). \pause 238 | \item Отрицание? \pause Нет двойного отрицания ($\neg\neg\alpha\vee\delta$). \pause 239 | \item Бесконечная индукция или квантификация? \pause Нет квантора. \pause 240 | \item Ослабление? \pause Нет дизъюнкции ($\alpha \vee \delta$). \pause 241 | \end{enumerate} 242 | 243 | То есть, неизбежно, $\neg 0=0$ --- аксиома, что также неверно. 244 | \end{proof} 245 | \end{frame} 246 | 247 | \end{document} 248 | -------------------------------------------------------------------------------- /14-curry-howard.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/14-curry-howard.pdf -------------------------------------------------------------------------------- /14-curry-howard.tex: -------------------------------------------------------------------------------- 1 | \documentclass[aspectratio=169]{beamer} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{cancel} 5 | \usepackage{amssymb} 6 | \usepackage{stmaryrd} 7 | \usepackage{cmll} 8 | \usepackage{graphicx} 9 | \usepackage{amsthm} 10 | \usepackage{tikz} 11 | \usepackage{multicol} 12 | \usetikzlibrary{patterns} 13 | \usepackage{chronosys} 14 | \usepackage{proof} 15 | \usepackage{multirow} 16 | \setbeamertemplate{navigation symbols}{} 17 | %\usetheme{Warsaw} 18 | 19 | \newtheorem{thm}{Теорема}[section] 20 | \newtheorem{dfn}{Определение}[section] 21 | \newtheorem{lmm}{Лемма}[section] 22 | \newtheorem{exm}{Пример}[section] 23 | \newtheorem{snote}{Пояснение}[section] 24 | 25 | \newcommand{\divisible}% 26 | {\mathrel{\lower.2ex% 27 | \vbox{\baselineskip=0.7ex\lineskiplimit=0pt% 28 | \kern6pt \hbox{.}\hbox{.}\hbox{.}}% 29 | }} 30 | 31 | \begin{document} 32 | 33 | \newcommand\doubleplus{+\kern-1.3ex+\kern0.8ex} 34 | \newcommand\mdoubleplus{\ensuremath{\mathbin{+\mkern-10mu+}}} 35 | 36 | \begin{frame}{} 37 | \begin{center}\Large Изоморфизм Карри-Ховарда \end{center} 38 | \end{frame} 39 | 40 | \begin{frame}{Лямбда-исчисление} 41 | Синтаксис: 42 | $$\Lambda ::= (\lambda x.\Lambda) | (\Lambda\ \Lambda) | x$$ 43 | 44 | \pause 45 | 46 | Интуиция: вызов функции. 47 | \begin{center}\begin{tabular}{l|l} 48 | $\lambda$-выражение & Python \\\hline 49 | $\lambda f.\lambda x.f\ x$ & \texttt{def one(f,x): return f(x)}\\ 50 | $(\lambda x.x\ x)\ (\lambda x.x\ x)$ & \texttt{(lambda x: x x) (lambda x: x x)}\\ 51 | & \texttt{def omega(x): return x(x); omega(omega)} 52 | \end{tabular}\end{center} 53 | 54 | \pause 55 | 56 | Исчисление: изучаем преобразования формул --- редукция. 57 | 58 | $$(\lambda x.A)\ B \rightarrow_\beta A [x := B]$$ 59 | 60 | \begin{exm} 61 | $(\lambda x.x\ x)\ (\lambda n.n) \rightarrow_\beta (\lambda n.n)\ (\lambda n.n) \rightarrow_\beta \lambda n.n$\\ 62 | $(\lambda x.x\ x)\ (\lambda x.x\ x) \rightarrow_\beta (\lambda x.x\ x)\ (\lambda x.x\ x)$ 63 | \end{exm} 64 | \end{frame} 65 | 66 | \begin{frame}{Чёрчевские нумералы} 67 | $$f^{(n)}(x) = \left\{\begin{array}{ll}x, & n = 0\\f(f^{(n-1)}(x)), & n > 0\end{array}\right.$$ 68 | 69 | \begin{dfn} 70 | Чёрчевский нумерал $\overline{n} = f^{(n)}(x)$ 71 | \end{dfn} 72 | 73 | \begin{exm} 74 | $\overline{3} = \lambda f.\lambda x.f(f(f(x)))$ 75 | 76 | Инкремент: $Inc = \lambda n.\lambda f.\lambda x.n\ f\ (f\ x)$ 77 | \end{exm}\vspace{-0.3cm} 78 | 79 | $$\begin{array}{l}(\lambda n.\lambda f.\lambda x.n\ f\ (f\ x))\ \overline{0} = (\lambda n.\lambda f.\lambda x.n\ f\ (f\ x))\ (\lambda f'.\lambda x'.x') \rightarrow_\beta \pause\\ 80 | \dots\lambda f.\lambda x.(\lambda f'.\lambda x'.x')\ f\ (f\ x) \rightarrow_\beta \pause\\ 81 | \dots\lambda f.\lambda x.(\lambda x'.x')\ (f\ x) \rightarrow_\beta \pause\\ 82 | \dots\lambda f.\lambda x.f\ x = \overline{1}\end{array}$$ 83 | \pause 84 | 85 | Декремент: $Dec = \lambda n.\lambda f.\lambda x.n\ (\lambda g.\lambda h.h\ (g\ f))\ (\lambda u.x)\ (\lambda u.u)$ 86 | \end{frame} 87 | 88 | \begin{frame}{Просто-типизированное лямбда-исчисление} 89 | 90 | \begin{dfn}Импликационный фрагмент интуиционистской логики: 91 | 92 | $$\infer{\Gamma,\varphi \vdash \varphi}{} \quad\quad 93 | \infer{\Gamma\vdash\varphi\rightarrow\psi}{\Gamma,\varphi\vdash\psi} \quad\quad 94 | \infer{\Gamma\vdash\psi}{\Gamma\vdash\varphi\quad\quad\Gamma\vdash\varphi\rightarrow\psi}$$ 95 | \end{dfn} 96 | 97 | \begin{dfn} 98 | Просто-типизированное лямбда-исчисление. \pause Типы: $\tau ::= \alpha | (\tau\rightarrow\tau)$. \pause Язык: $\Gamma\vdash A:\varphi$ 99 | $$\infer[x \notin \Gamma]{\Gamma,x:\varphi \vdash x:\varphi}{} \quad\quad 100 | \infer[x \notin \Gamma]{\Gamma\vdash \lambda x.A: \varphi\rightarrow\psi}{\Gamma,x:\varphi\vdash A:\psi} \quad\quad 101 | \infer{\Gamma\vdash B A:\psi}{\Gamma\vdash A:\varphi\quad\quad\Gamma\vdash B:\varphi\rightarrow\psi}$$ 102 | \end{dfn} 103 | \end{frame} 104 | 105 | \begin{frame}{Изоморфизм Карри-Ховарда} 106 | 107 | \begin{tabular}{ll} 108 | $\lambda$-исчисление & исчисление высказываний\\\hline 109 | Выражение & доказательство\\ 110 | Тип выражения & высказывание\\ 111 | Тип функции & импликация \\ 112 | Упорядоченная пара & конъюнкция \\ 113 | Алгебраический тип & дизъюнкция 114 | \end{tabular} 115 | 116 | \end{frame} 117 | 118 | \begin{frame}{Изоморфизм Карри-Ховарда: отрицание} 119 | 120 | \begin{dfn}Ложь ($\bot$) --- необитаемый тип; 121 | $\texttt{failwith/raise/throw} : \alpha\rightarrow\bot$; $\neg\varphi\equiv\varphi\rightarrow\bot$ 122 | \end{dfn} 123 | 124 | Например, контрапозиция: 125 | $(\alpha\rightarrow\beta)\rightarrow(\neg\beta\rightarrow\neg\alpha)$ 126 | 127 | $$\infer[\lambda]{\lambda f^{\alpha\rightarrow\beta}.\lambda n^{\beta\rightarrow\bot}.\lambda a^\alpha.n\ (f\ a): (\alpha\rightarrow\beta)\rightarrow(\neg\beta\rightarrow\neg\alpha)} 128 | {\infer[\lambda]{f:\alpha\rightarrow\beta\vdash\lambda n^{\beta\rightarrow\bot}.\lambda a^\alpha.n\ (f\ a): \neg\beta\rightarrow\neg\alpha} 129 | {\infer[\lambda]{f:\alpha\rightarrow\beta,n:\beta\rightarrow\bot\vdash\lambda a^\alpha.n\ (f\ a): \neg\alpha}{ 130 | \infer[App]{f:\alpha\rightarrow\beta,n:\beta\rightarrow\bot, a:\alpha \vdash n\ (f\ a): \bot}{ 131 | \infer[App]{\Phi \vdash f\ a: \beta}{\infer[Ax]{\Phi \vdash f:\alpha\rightarrow\beta}{}\quad\quad \infer[Ax]{\Phi \vdash a: \alpha}{}} 132 | \quad\quad \infer[Ax]{\Phi \vdash n: \beta\rightarrow\bot}{} 133 | } 134 | }}}$$ 135 | 136 | Снятие двойного отрицания: $((\alpha\rightarrow\bot)\rightarrow\bot)\rightarrow\alpha$, то есть $\lambda f^{(\alpha\rightarrow\bot)\rightarrow\bot}.?: \alpha$. 137 | \end{frame} 138 | 139 | \begin{frame}{Исчисление второго порядка} 140 | \begin{itemize} 141 | \item Напомним о порядках: 142 | 143 | \begin{tabular}{lll} 144 | Порядок & Объекты & Пример\\\hline 145 | 0 (И.В.) & Атомарные & $P$ \\ 146 | 1 (И.П. 1) & Множества & $\{ x | P(x) \}$ \\ 147 | 2 (И.П. 2) & Множества множеств & $\{ P | \forall t.t > 0 \rightarrow P(t) \}$ 148 | \end{tabular}\pause 149 | 150 | \item Можно заменить схемы аксиом на аксиомы: 151 | $\forall a.\forall b.a \rightarrow b \rightarrow a$\pause 152 | 153 | \item 154 | Не так просто! $W(x) := \forall p.\forall x.p(x)$, рассматриваем ли 155 | $\llbracket \forall x.p(x) \rrbracket^{p := W(x)}$? (импредикативность) 156 | \pause 157 | 158 | \item 159 | Простой вариант: только пропозициональные переменные. $\forall p.p \rightarrow p$ \pause 160 | $$\llbracket\forall p.Q\rrbracket = \left\{\begin{array}{ll}\text{И}, & 161 | \llbracket Q \rrbracket^{p := \text{И}} = \llbracket Q \rrbracket^{p := \text{Л}} = \text{И}\\ 162 | \text{Л}, & \text{иначе}\end{array}\right.$$ 163 | 164 | 165 | \end{itemize} 166 | \end{frame} 167 | 168 | \begin{frame}{Изоморфизм Карри-Ховарда для логики второго порядка} 169 | Типы и значения, зависящие от типов. 170 | \begin{itemize} 171 | \item Что такое $T: \forall x.x \rightarrow x$? \pause \\ 172 | \texttt{template class T \{ x f (x); \}} \pause 173 | \item Что такое $T: \exists x.\tau(x)$? \pause \\ 174 | Абстрактный тип данных: $\texttt{interface T \{$\tau$\}; f(T x)}$ 175 | \end{itemize} 176 | \end{frame} 177 | 178 | \begin{frame}{Зависимые типы} 179 | \begin{itemize}\item Рассмотрим код\\ \texttt{int n; cin >{}>{} n; int arr[n];} \\ 180 | Каков тип \texttt{arr}? \pause 181 | \item $\texttt{sizeof(arr)} = n \cdot \texttt{sizeof(int)}$ \pause 182 | \item $arr = \Pi n^{\texttt{int}}.\texttt{int[}n\texttt{]}$ \pause 183 | \item Аналогично, \texttt{printf(const char*, ...)} --- капитуляция. \pause 184 | \item Есть языки, где тип выписывается (например, Идрис). 185 | \end{itemize} 186 | \end{frame} 187 | 188 | \begin{frame}{Прямолинейное: доказательства в коде} 189 | \begin{itemize} 190 | \item \texttt{Div2: (l: int) -> (even l) -> int}\pause 191 | \item \texttt{even l} --- что это?\pause 192 | \item $$even (x) ::= \left\{\begin{array}{ll} EZ, & x = 0\\ EP(even(y)), & x = y''\end{array}\right.$$\pause 193 | \item \texttt{Div2 10 (EP (EP (EP (EP (EP EZ)))))}\pause 194 | \item А если \texttt{Div2 p}? В общем случае сложно. 195 | 196 | \texttt{Plus2: (l: int) -> (p: even l) -> (l+2, even (l+2)) = (l+2, EP p)} 197 | \end{itemize} 198 | \end{frame} 199 | 200 | \begin{frame}{Интереснее: доказательства утверждений} 201 | 202 | Натуральные числа: $\texttt{Nat} ::= 0 | \texttt{suc Nat}$, 203 | 204 | $$a + b = \left\{\begin{array}{ll} a, & b = 0\\ \texttt{suc }(a + c), & b = \texttt{suc }c\end{array}\right.$$ 205 | 206 | \texttt{\\func pmap {A B : \\Type} (f : A -> B) \{a a' : A\} (p : a = a') : f a = f a' => ...} 207 | 208 | \texttt{\\func +-comm (n m : Nat) : n + m = m + n\\ 209 | | 0, 0 => idp\\ 210 | | suc n, 0 => pmap suc (+-comm n 0)\\ 211 | | 0, suc m => pmap suc (+-comm 0 m)\\ 212 | | suc n, suc m => pmap suc (+-comm (suc n) m *> \\ 213 | pmap suc (inv (+-comm n m)) *> +-comm n (suc m))} 214 | 215 | \end{frame} 216 | 217 | \begin{frame}{Гомотопическая теория типов} 218 | \begin{dfn}Изоморфизм Карри-Ховарда-Воеводского. 219 | 220 | \begin{tabular}{lll} 221 | Логика & $\lambda$-исчисление & Топология\\\hline 222 | Утверждение & Тип & Пространство \\ 223 | Доказательство & Значение & Точка в пространстве\\ 224 | Предикат $(=)$ & Зависимый тип $(=)$ & Путь между точками 225 | \end{tabular}\end{dfn} 226 | 227 | \begin{enumerate} 228 | \item Точный смысл равенства. 229 | \item Позволяет легко формулировать утверждения про топологию, гомологическую алгебру и т.п. 230 | \item Можно реализовать (кубическая теория типов). Реализации для Агды, Кока, ..., отдельные языки (Аренд) 231 | \end{enumerate} 232 | \end{frame} 233 | 234 | \begin{frame}{Какие вопросы пытаемся решать?} 235 | \begin{exm}Самое простое: $x=y$. Почему $x^2 = y^2$?\end{exm} \pause 236 | 237 | А что если так $(a = b) = \{ \langle a,b \rangle | a < 10 \with b < 10 \}$? 238 | Тогда $5=7$, но $25 \ne 49$. \pause 239 | 240 | Постулируется в формальной арифметике: $(A2)\ a = b \rightarrow a' = b'$ \pause 241 | 242 | \begin{proof}Путь $x$ в $y$ --- функция $f: [0,1] \rightarrow S$, 243 | $f(0)=x$, $f(1)=y$. $f(x) = x^2$ --- непрерывная функция. Тогда $f(x^2)$ --- тоже непрерывная, 244 | то есть $x^2 = y^2$.\end{proof} 245 | \end{frame} 246 | 247 | \begin{frame}{Что ещё} 248 | \begin{itemize} 249 | \item Метод резолюций и рядом --- Prolog, SMT-солверы,... 250 | \item Можно пытаться совмещать (F*, ...) 251 | \end{itemize} 252 | \end{frame} 253 | \end{document} 254 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Курс математической логики, КТ, весна 2022 2 | ========================== 3 | [![Build latex files](https://github.com/shd/logic2022/actions/workflows/build_latex.yml/badge.svg)](https://github.com/shd/logic2022/actions/workflows/build_latex.yml) 4 | ## Материалы 5 | + [Конспект 2018 года](https://github.com/shd/logic2018/blob/master/conspect.pdf) 6 | + [Конспект 2011 года](https://github.com/shd/logic2011/blob/master/conspect.pdf) 7 | + [Теоретические домашние задания](https://github.com/shd/logic2022/blob/master/hw-theory.pdf) 8 | 9 | + [Краткая инструкция по утилите make](https://github.com/shd/logic2018/blob/master/make.pdf) 10 | 11 | ## Лекция 1 12 | ### Исчисление высказываний 13 | + Немного об истории вопроса 14 | + Язык исчисления высказываний 15 | + Доказательство высказываний, выводимость 16 | ### Где почитать 17 | + Н.К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Языки и исчисления. 18 | https://www.mccme.ru/free-books/shen/shen-logic-part2-2.pdf 19 | + Конспекты 2011 и 2018 года по логике. 20 | + О противоречиях в математическом анализе: Джордж Беркли, «Аналитик. Беседа, адресованная неверному математику: 21 | где исследуется, являются ли объект, принципы и выводы современного анализа более отчетливо 22 | задуманы или более явно выведены, чем религиозные мистерии и точки веры» --- М.: Мысль, 1978 23 | 24 | ## Лекция 2 25 | ### Теоремы об исчислении высказываний 26 | + Теория моделей, оценка высказываний. 27 | + Следование, корректность, полнота 28 | + Теорема о дедукции 29 | + Теорема о корректности И.В. 30 | + Теорема о полноте И.В. 31 | + Введение в интуиционистское исчисление высказываний 32 | ### Где почитать 33 | + Н.К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Языки и исчисления. 34 | https://www.mccme.ru/free-books/shen/shen-logic-part2-2.pdf 35 | + Конспекты 2011 и 2018 года по логике. 36 | + Morten Heine B. Sørensen, Pawel Urzyczyn: Lections on the Curry-Howard Isomorphism 37 | https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf 38 | + В.Е.Плиско, В.Х.Хаханян, Интуиционистская логика, Мех-Мат МГУ 2009 39 | http://logic.math.msu.ru/wp-content/uploads/plisko/intlog.pdf 40 | 41 | ## Лекция 3 42 | ### Модели интуиционистского исчисления высказываний 43 | + Общая топология, базовые определения 44 | + Натуральный вывод 45 | + Решётки 46 | ### Где почитать 47 | + О. Я. Виро, О. А. Иванов, Н. Ю. Нецветаев, В. М. Харламов. Элементарная топология. --- М.: Издательство МЦНМО, 2010 48 | + В.Е.Плиско, В.Х.Хаханян, Интуиционистская логика, Мех-Мат МГУ 2009 49 | http://logic.math.msu.ru/wp-content/uploads/plisko/intlog.pdf 50 | + Morten Heine B. Sørensen, Pawel Urzyczyn: Lections on the Curry-Howard Isomorphism 51 | https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf 52 | 53 | ## Лекция 4 54 | ### Теоремы об интуиционистской логике 55 | + Алгебра Линденбаума 56 | + Дизъюнктивность ИИВ 57 | + Модели Крипке 58 | + Нетабличность ИИВ 59 | ### Где почитать 60 | + В.Е.Плиско, В.Х.Хаханян, Интуиционистская логика, Мех-Мат МГУ 2009 61 | http://logic.math.msu.ru/wp-content/uploads/plisko/intlog.pdf 62 | + Morten Heine B. Sørensen, Pawel Urzyczyn: Lections on the Curry-Howard Isomorphism 63 | https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf 64 | 65 | ## Лекция 5 66 | ### Исчисление предикатов 67 | + Язык исчисления предикатов 68 | + Оценки формул исчисления предикатов 69 | + Свобода вхождения, свобода для подстановки 70 | + Теорема о дедукции для исчисления предикатов 71 | + Следование 72 | ### Где почитать 73 | + Н.К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Языки и исчисления. 74 | https://www.mccme.ru/free-books/shen/shen-logic-part2-2.pdf 75 | + Конспекты 2011 и 2018 года по логике. 76 | + Слайды к лекции (05-lection-predicate) 77 | 78 | ## Лекция 6 79 | ### Теорема Гёделя о полноте исчисления предикатов 80 | + Непротиворечивые множества формул 81 | + Модели для непротиворечивых множеств формул 82 | + Теорема Гёделя о полноте исчисления предикатов 83 | + Следствие о полноте исчисления предикатов 84 | ### Где почитать 85 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 86 | + Н.К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Языки и исчисления. 87 | https://www.mccme.ru/free-books/shen/shen-logic-part2-2.pdf 88 | + Конспекты 2011 и 2018 года по логике. 89 | + Слайды к лекции (06-lection-completeness) 90 | 91 | ## Лекция 7 92 | ### Неразрешимость исчисления предикатов, аксиоматика Пеано и формальная арифметика 93 | + Машина Тьюринга 94 | + Теорема о неразрешимости исчисления предикатов 95 | + Аксиоматика Пеано 96 | + Формальная арифметика 97 | ### Где почитать 98 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 99 | + Конспекты 2011 и 2018 года по логике. 100 | 101 | ## Лекция 8 102 | ### Представимость рекурсивных функций в формальной арифметике. Теорема Гёделя о неполноте арифметики. 103 | + Рекурсивные функции. 104 | + Представимость рекурсивных функций в формальной арифметике. 105 | + Рекурсивность представимых в формальной арифметике функций. 106 | + Самоприменимость. 107 | + Формулировка первой теоремы Гёделя о неполноте арифметики. 108 | ### Где почитать 109 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 110 | + Конспекты 2011 и 2018 года по логике. 111 | + Э. Мендельсон, Введение в математическую логику --- М.: Изд-во <<Наука>>, 1971. 112 | 113 | ## Лекция 9 114 | ### Теоремы Гёделя о неполноте арифметики 115 | + Омега-непротиворечивость. 116 | + Первая теорема Гёделя о неполноте арифметики. 117 | + Теорема Гёделя о неполноте арифметики в форме Россера. 118 | + Consis 119 | + Условия выводимости Гильберта-Бернайса-Лёфа. 120 | + Лемма об автоссылках, другая формулировка теоремы Гёделя о неполноте арифметики. 121 | + Вторая теорема Гёделя о неполноте арифметики. 122 | ### Где почитать 123 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 124 | + Конспекты 2011 и 2018 года по логике. 125 | + Гилберт Д., Бернайс П., Основания математики --- М.: Изд-во <<Наука>>, 1982. 126 | 127 | ## Лекция 10 128 | ### Теория множеств 129 | + История возникновения теории 130 | + Аксиомы теории множеств 131 | + Ординалы 132 | ### Где почитать 133 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 134 | + Конспекты 2011 и 2018 года по логике. 135 | + Френкель А.А., Бар-Хиллел И. Основания теории множеств. --- УРСС, 2010 136 | 137 | ## Лекция 11 138 | ### Теория множеств, мощность множеств 139 | + Равномощные множества 140 | + Кардинальные числа 141 | + Теорема Кантора 142 | + Теорема Кантора-Бернштейна 143 | ### Где почитать 144 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 145 | + Конспекты 2011 и 2018 года по логике. 146 | + Френкель А.А., Бар-Хиллел И. Основания теории множеств. --- УРСС, 2010 147 | + Н.К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Начала теории множеств. 148 | https://www.mccme.ru/free-books/shen/shen-logic-part1.pdf 149 | 150 | ## Лекция 12 151 | ### Теорема Лёвенгейма-Сколема 152 | + Счётная аксиоматизация теории 153 | + Теорема Лёвенгейма-Сколема 154 | + Парадокс Сколема 155 | ### Где почитать 156 | + П.Дж. Коэн, Теория множеств и континуум-гипотеза --- М.: Изд-во <<Мир>>, 1969. 157 | + Н.К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Языки и исчисления. 158 | https://www.mccme.ru/free-books/shen/shen-logic-part2-2.pdf 159 | 160 | ## Лекция 13 161 | ### Непротиворечивость формальной арифметики 162 | + Система S_\infty 163 | + Сведение непротиворечивости формальной арифметики к непротиворечивости S_\infty 164 | + Непротиворечивость S_\infty 165 | ### Где почитать 166 | + Э. Мендельсон, Введение в математическую логику --- М.: Изд-во <<Наука>>, 1971. 167 | 168 | ## Лекция 14 169 | ### Изоморфизм Карри-Ховарда: некоторые применения логики к программированию 170 | + Бестиповое лямбда-исчисление 171 | + Изоморфизм Карри-Ховарда для исчисления высказываний 172 | + Немного о логике 2 порядка 173 | + Немного о зависимых типах и доказательствах 174 | ### Где почитать 175 | + Morten Heine B. Sørensen, Pawel Urzyczyn: Lections on the Curry-Howard Isomorphism 176 | https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf 177 | -------------------------------------------------------------------------------- /hw-theory.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/hw-theory.pdf -------------------------------------------------------------------------------- /hw-theory.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt,a4paper,oneside]{article} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage{amsmath} 5 | \usepackage{amsthm} 6 | \usepackage{amssymb} 7 | \usepackage{enumerate} 8 | \usepackage{stmaryrd} 9 | \usepackage{cmll} 10 | \usepackage{mathrsfs} 11 | \usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm,bindingoffset=0cm]{geometry} 12 | \usepackage{proof} 13 | \usepackage{tikz} 14 | \usepackage{multicol} 15 | \usepackage{mathabx} 16 | 17 | \makeatletter 18 | \newcommand{\dotminus}{\mathbin{\text{\@dotminus}}} 19 | 20 | \newcommand{\@dotminus}{% 21 | \ooalign{\hidewidth\raise1ex\hbox{.}\hidewidth\cr$\m@th-$\cr}% 22 | } 23 | \makeatother 24 | 25 | \usetikzlibrary{arrows,backgrounds,patterns,matrix,shapes,fit,calc,shadows,plotmarks} 26 | 27 | \newtheorem{definition}{Определение} 28 | \begin{document} 29 | 30 | \begin{center}{\Large\textsc{\textbf{Теоретические домашние задания}}}\\ 31 | \it Математическая логика, ИТМО, М3235-М3239, весна 2022 года\end{center} 32 | 33 | \section*{Задание №1. Знакомство с классическим исчислением высказываний.} 34 | 35 | \begin{enumerate} 36 | 37 | \item Будем говорить, что высказывание $\alpha$ выводится из гипотез $\gamma_1, \gamma_2, \dots, \gamma_n$ 38 | (и записывать это как $\gamma_1, \gamma_2, \dots, \gamma_n \vdash \alpha$), если существует 39 | такой вывод $\delta_1, \delta_2, \dots, \delta_n$, что $\alpha\equiv\delta_n$, и каждый из $\delta_i$ 40 | есть либо гипотеза, либо аксиома, либо получается из каких-то предыдущих высказываний по правилу 41 | Modus Ponens. Несколько гипотез мы можем обозначить какой-нибудь большой буквой середины греческого 42 | алфавита ($\Gamma,\Delta,\Pi,\Sigma,\Xi$): например, $\Gamma,\alpha,\beta\vdash\sigma$; здесь 43 | $\Gamma$ обозначает какое-то множество гипотез. 44 | 45 | Докажите: 46 | \begin{enumerate} 47 | \item $\vdash (A \rightarrow A \rightarrow B) \rightarrow (A \rightarrow B)$ 48 | \item $\vdash A \with B \rightarrow B \with A$ 49 | \item $\vdash A \with B \rightarrow A \vee B$ 50 | \item $\vdash A \rightarrow \neg \neg A$ 51 | \item $A \with \neg A \vdash B$ 52 | \item $\vdash \neg (A \with \neg A)$ 53 | \end{enumerate} 54 | 55 | \item Известна теорема о дедукции: $\Gamma, \alpha \vdash \beta$ тогда и только тогда, 56 | когда $\Gamma \vdash \alpha \rightarrow \beta$. Теорема доказывается конструктивно, то есть 57 | она даёт метод для перестроения одного вывода в другой. 58 | В рамках данного задания разрешается результат её применения вписать как часть другого вывода 59 | как <<чёрный ящик>> (как макроподстановку). Докажите с её использованием: 60 | \begin{enumerate} 61 | \item $\neg A, B \vdash \neg(A\& B)$ 62 | \item $A,\neg B \vdash \neg( A\& B)$ 63 | \item $\neg A,\neg B \vdash \neg( A\& B)$ 64 | \item $\neg A,\neg B \vdash \neg( A\vee B)$ 65 | \item $ A,\neg B \vdash \neg( A\rightarrow B)$ 66 | \item $\neg A, B \vdash A\rightarrow B$ 67 | \item $\neg A,\neg B \vdash A\rightarrow B$ 68 | \item $\vdash A \with (B \with B) \rightarrow A \with B$ 69 | \item $\vdash (A \rightarrow B) \rightarrow (B \rightarrow C) \rightarrow (A \rightarrow C)$ 70 | \item $\vdash (A \rightarrow B) \rightarrow (\neg B \rightarrow \neg A)$ \emph{(закон контрапозиции)} 71 | \item $\vdash A \with B \rightarrow \neg (\neg A \vee \neg B)$ \emph{(правило де Моргана)} 72 | \item $\vdash \neg (\neg A \with \neg B) \rightarrow A \vee B$ \emph{(правило де Моргана)} 73 | \item $\vdash A \with (B \vee C) \rightarrow (A \with B) \vee (A \with C)$ \emph{(дистрибутивность 1)} 74 | \item $\vdash A \vee (B \with C) \rightarrow (A \vee B) \with (A \vee C)$ \emph{(дистрибутивность 2)} 75 | \end{enumerate} 76 | 77 | \item Существует несколько аналогов схемы аксиом 10 (аксиомы снятия двойного отрицания). Докажите при любых 78 | высказываниях $\alpha$ и $\beta$: 79 | \begin{enumerate} 80 | \item $\vdash \alpha \vee \neg \alpha$ \emph{(правило исключённого третьего)} 81 | \item $\vdash ((\alpha \rightarrow \beta) \rightarrow \alpha)\rightarrow \alpha$ \emph{(закон Пирса)} 82 | \item Предположим, 10 схема аксиом заменена на две другие схемы аксиом: 83 | $((\alpha\rightarrow\beta)\rightarrow\alpha)\rightarrow\alpha$ и $\alpha\rightarrow\neg\alpha\rightarrow\beta$. 84 | В этих условиях покажите $\neg\neg \alpha\rightarrow \alpha$. 85 | \item Предположим, 10 схема аксиом заменена на две другие схемы аксиом: 86 | $\alpha\vee\neg\alpha$ и $\alpha\rightarrow\neg\alpha\rightarrow\beta$. 87 | В этих условиях покажите 88 | $\neg\neg \alpha\rightarrow \alpha$. 89 | \end{enumerate} 90 | 91 | \item Докажите следующие <<странные>> формулы: 92 | \begin{enumerate} 93 | \item $\vdash (A \rightarrow B) \vee (B \rightarrow A)$. В самом деле, получается, что из любых двух 94 | наугад взятых фактов либо первый следует из второго, либо второй из первого. Например <<выполнено как 95 | минимум одно из утверждений: (а) если сегодня пасмурно, то курс матлогики все сдадут на A; (б) наоборот, если все сдадут курс матлогики на A, 96 | то сегодня пасмурно>>. 97 | \item Обобщение предыдущего пункта: при любом $n\ge 1$ и любых $\alpha_1, \dots, \alpha_n$ выполнено 98 | $\vdash (\alpha_1 \rightarrow \alpha_2) \vee (\alpha_2 \rightarrow \alpha_3) \vee \dots \vee (\alpha_{n-1}\rightarrow\alpha_n) 99 | \vee (\alpha_n\rightarrow\alpha_1)$ 100 | \end{enumerate} 101 | 102 | \item В рамках данного задания неравными высказываниями будем называть высказывания 103 | $\alpha$ и $\beta$, у которых нет такого переименования переменных, чтобы их 104 | таблицы истинности совпали. Например, $A$ и $B\with B$ --- равные высказывания, 105 | ведь высказывания $E$ и $E\with E$ имеют одну и ту же таблицу истинности: 106 | 107 | \begin{center}\begin{tabular}{c|c} 108 | $E$ & $E \with E$\\\hline 109 | И & И\\\hline 110 | Л & Л 111 | \end{tabular}\end{center} 112 | 113 | Однако, высказывания $A$ и $A \rightarrow A$ не равны. 114 | 115 | Даны высказывания $\alpha$ и $\beta$, причём $\vdash \alpha\rightarrow\beta$ и $\alpha\ne\beta$. 116 | Укажите способ построения высказывания $\gamma$, такого, что 117 | $\vdash\alpha\rightarrow\gamma$ и $\vdash\gamma\rightarrow\beta$, причём $\alpha\ne\gamma$ и 118 | $\beta\ne\gamma$ . 119 | 120 | \item Покажите, что если $\alpha \vdash \beta$ и $\neg\alpha\vdash\beta$, то $\vdash\beta$. 121 | \end{enumerate} 122 | 123 | \section*{Задание №2. Теоремы о корректности и полноте классического исчисления высказываний. Интуиционистская логика.} 124 | 125 | \begin{enumerate} 126 | 127 | \item Теоремы о корректности и полноте классического исчисления высказываний. 128 | \begin{enumerate} 129 | \item Заполните пробел в доказательстве корректности исчисления высказываний: 130 | покажите, что если $\vdash \alpha$ и в доказательстве высказывание 131 | $\delta_n$ получено с помощью Modus Ponens из $\delta_j$ и $\delta_k \equiv \delta_j\rightarrow\delta_n$, 132 | то $\models \delta_n$. 133 | 134 | \item Покажите, что если $\Gamma \vdash \alpha$, то $\Gamma \models \alpha$. 135 | \item Покажите, что если $\Gamma \models \alpha$, то $\Gamma \vdash \alpha$. 136 | \end{enumerate} 137 | 138 | \item Предложите топологические пространства и оценку для пропозициональных переменных, 139 | опровергающие следующие высказывания: 140 | 141 | \begin{enumerate} 142 | \item $A \vee \neg A$ (на лекции приводился пример в $\mathbb{R}$; в данном же задании предложите оценку в 143 | каком-то другом пространстве, например в $\mathbb{R}^2$) 144 | \item $(((A \rightarrow B) \rightarrow A) \rightarrow A)$ 145 | \item $\neg\neg A \rightarrow A$ 146 | \item $(A \rightarrow (B \vee \neg B)) \vee (\neg A \rightarrow (B \vee \neg B))$ 147 | \item $(A \rightarrow B) \vee (B \rightarrow C) \vee (C \rightarrow A)$ 148 | \item $\bigvee_{i=1,n} \left((A_i \rightarrow A_{(i\mod n) + 1}) \with (A_{(i\mod n)+1} \rightarrow A_i)\right)$ 149 | \end{enumerate} 150 | 151 | \item Доказуемы ли следующие высказывания в интуиционистской логике? 152 | \begin{enumerate} 153 | \item $\neg\neg\neg\neg A \rightarrow \neg\neg A$ 154 | \item $\neg A \vee \neg\neg A \vee \neg\neg\neg A$ 155 | \item $A \vee B \rightarrow \neg (\neg A \with \neg B)$ 156 | \item $\neg (\neg A \vee \neg B) \rightarrow A \with B$ 157 | \item $(A \rightarrow B) \rightarrow (\neg A \vee B)$ 158 | \item $(\neg A \vee B) \rightarrow (A \rightarrow B)$ 159 | \end{enumerate} 160 | 161 | \item Известно, что в классической логике любая связка может быть \emph{выражена} как композиция 162 | конъюнкций и отрицаний: существует схема высказываний, использующая только конъюнкции и отрицания, 163 | задающая высказывание, логически эквивалентное исходной связке. 164 | Например, для импликации можно взять $\neg(\alpha\with\neg\beta)$, ведь 165 | $\alpha\rightarrow\beta\vdash\neg(\alpha\with\neg\beta)$ и $\neg(\alpha\with\neg\beta)\vdash\alpha\rightarrow\beta$. 166 | Возможно ли в интуиционистской логике выразить через остальные связки: 167 | \begin{enumerate} 168 | \item конъюнкцию? 169 | \item дизъюнкцию? 170 | \item импликацию? 171 | \item отрицание? 172 | \end{enumerate} 173 | Если да, предложите формулу и два вывода. Если нет --- докажите это (например, предложив соответствующую 174 | модель). 175 | 176 | \item \emph{Теорема Гливенко.} Обозначим доказуемость высказывания $\alpha$ в классической логике 177 | как $\vdash_\text{к}\alpha$, а в интуиционистской --- как $\vdash_\text{и}\alpha$. 178 | Оказывается возможным показать, что какое бы ни было $\alpha$, если $\vdash_\text{к}\alpha$, 179 | то $\vdash_\text{и}\neg\neg\alpha$. А именно, покажите, что: 180 | 181 | \begin{enumerate} 182 | \item Если $\alpha$ --- аксиома, полученная из схем 1--9 исчисления высказываний, то $\vdash_\text{и}\neg\neg\alpha$. 183 | \item $\vdash_\text{и}\neg\neg(\neg\neg\alpha\rightarrow\alpha)$ 184 | \item $\neg\neg\alpha,\neg\neg(\alpha\rightarrow\beta) \vdash_\text{и}\neg\neg\beta$ 185 | \item Докажите утверждение теоремы ($\vdash_\text{к}\alpha$ влечёт $\vdash_\text{и}\neg\neg\alpha$), 186 | опираясь на предыдущие пункты, и покажите, что классическое исчисление высказываний противоречиво 187 | тогда и только тогда, когда противоречиво интуиционистское. 188 | \end{enumerate} 189 | 190 | \item Возможно ли предложить такой набор множеств $S$ из $\mathbb{R}$ (формально: $S \subseteq \mathcal{P}(\mathbb{R})$), 191 | чтобы при выборе его в качестве истинностного множества $\mathbb{V}$, при сохранении правил вычисления 192 | значений связок для интуиционистской логики, получилась бы полная и корректная модель для классического 193 | исчисления высказываний? 194 | 195 | \item Пусть $S$ --- некоторое множество. Рассмотрим $\mathbb{V} = \mathcal{P}(S)$, 196 | определим связки так: 197 | $$\begin{array}{ccc} 198 | \llbracket\alpha \with \beta\rrbracket & = & \llbracket\alpha\rrbracket \cap \llbracket\beta\rrbracket \\ 199 | \llbracket\alpha \vee \beta\rrbracket & = & \llbracket\alpha\rrbracket \cup \llbracket\beta\rrbracket \\ 200 | \llbracket\alpha \rightarrow \beta\rrbracket & = & S\setminus\llbracket\alpha\rrbracket \cup \llbracket\beta\rrbracket \\ 201 | \llbracket\neg\alpha\rrbracket & = & S\setminus\llbracket\alpha\rrbracket \\ 202 | \end{array}$$ 203 | 204 | Также, будем считать, что $\models \alpha$, если $\llbracket\alpha\rrbracket = S$. 205 | 206 | Покажите, что получившееся: 207 | \begin{enumerate} 208 | \item корректная модель классического исчисления высказываний. 209 | Для уменьшения рутинной работы достаточно показать выполнение схем аксиом 5,9,10 и правила Modus Ponens. 210 | 211 | \item полная модель классического исчисления высказываний. 212 | \end{enumerate} 213 | 214 | \end{enumerate} 215 | 216 | \section*{Задание №3. Интуиционистская логика и натуральный вывод.} 217 | 218 | \begin{enumerate} 219 | \item Напомним определения: \emph{замкнутое} множество --- такое, дополнение которого открыто. 220 | \emph{Внутренностью} множества $A^\circ$ назовём наибольшее открытое множество, содержащееся в $A$. 221 | \emph{Замыканием} множества $\overline{A}$ назовём наименьшее замкнутое множество, содержащее $A$. 222 | Назовём \emph{окрестностью} точки $x$ такое открытое множество $V$, что $x \in V$. 223 | Будем говорить, что точка $x \in A$ \emph{внутренняя}, если существует окрестность $V$, что $V \subseteq A$. 224 | Точка $x\in A$ --- \emph{граничная}, если любая её окрестность $V$ пересекается как с $A$, так и с его дополнением. 225 | \begin{enumerate} 226 | \item Покажите, что $A$ открыто тогда и только тогда, когда все точки $A$ --- внутренние. 227 | Также покажите, что $A^\circ = \{ x|x \in A \with x\text{ --- внутренняя точка}\}$. 228 | \item Покажите, что $A$ замкнуто тогда и только когда, когда содержит все свои граничные точки. 229 | Также покажите, что $\overline{A} = \{ x|x \in A \with x\text{ --- внутренняя или граничная точка}\}$. 230 | Верно ли, что $\overline{A} = X \ ((X\setminus A)^\circ)$? 231 | \item Покажите, что внутренность и замыкание корректно определены (что существуют соответствующие наибольшее и наименьшее множества). 232 | \item Введём топологию на деревьях способом, рассмотренным на лекции. Рассмотрим некоторое множество 233 | вершин $V$. Опишите множества $V^\circ$ и $\overline{V}$. Какие вершины будут являться граничными для $V$? 234 | \item Пусть $A \subseteq B$. Как связаны $A^\circ$ и $B^\circ$, а также $\overline{A}$ и $\overline{B}$? 235 | \item Верно ли $(A \cap B)^\circ = A^\circ \cap B^\circ$ и $(A \cup B)^\circ = A^\circ \cup B^\circ$? 236 | \item Покажите, что $\overline{\left(\overline{A^\circ}\right)^\circ} = \overline{A^\circ}$. 237 | \item \emph{Задача Куратовского.} Будем применять операции взятия внутренности и замыкания к некоторому множеству 238 | всевозможными способами. Сколько различных множеств может всего получиться? 239 | \end{enumerate} 240 | 241 | \item Примеры топологий. 242 | Для каждого из примеров ниже проверьте, задано ли в нём топологическое пространство, и ответьте на следующие вопросы, если это так: 243 | каковы окрестности точек в данной топологии; 244 | каковы будут внутренность и замыкание для данного множества (определите это прямо); 245 | каковы замкнутые множества в данной топологии; 246 | является ли данная топология моделью для классической логики; 247 | связно ли данное пространство. 248 | 249 | \begin{enumerate} 250 | \item Топология Зарисского на $\mathbb{R}$: 251 | $\Omega = \{\varnothing\} \cup \{ X \subseteq \mathbb{R}\ |\ \mathbb{R} \setminus X\ \text{конечно} \}$, 252 | то есть пустое множество и все множества с конечным дополнением. 253 | \item Топология стрелки на $\mathbb{R}$: 254 | $\Omega = \{\varnothing, \mathbb{R}\} \cup \{ (x,+\infty) | x \in \mathbb{R} \}$, то есть пустое, 255 | всё пространство и все открытые лучи. 256 | \item Множество всех бесконечных подмножеств $\mathbb{R}$: 257 | $\Omega = \{\varnothing\} \cup \{ X \subseteq \mathbb{R}\ |\ X\ \text{бесконечно} \}$ 258 | \item Множество всевозможных объединений арифметических прогрессий: 259 | $A(a) = \{ a\cdot x\ |\ x \in \mathbb{Z}\}$; 260 | $X \in \Omega$, если $X=\varnothing$ или $X = \bigcup_i A(a_i)$ (все $a_i > 0$). 261 | Будет ли это топологическим пространством, если мы будем рассматривать арифметические прогрессии 262 | в полной форме, в виде $a \cdot x + b$? 263 | \end{enumerate} 264 | 265 | 266 | 267 | \item Связность. 268 | \begin{enumerate} 269 | \item Связны ли $\mathbb{Q}$ и $\mathbb{R}\setminus\mathbb{Q}$ как топологические подпространства $\mathbb{R}$? 270 | \item Связно ли множество $\{0,1\}$ в топологии стрелки и в топологии Зарисского? 271 | \item Покажите, что дерево с отмеченным корнем (с рассмотренной на лекции топологией) связно. 272 | \item Покажите, что если лес связен в топологическом смысле, то он состоит из одного дерева. 273 | \end{enumerate} 274 | 275 | \item Натуральный вывод был описан на лекции, но примеров доказательств не приводилось. Приведём такой пример: 276 | $$\infer{\alpha\with\beta\vdash\beta\with\alpha}{ 277 | \infer{\alpha\with\beta\vdash\beta}{\infer{\alpha\with\beta\vdash\alpha\with\beta}{}}\quad\quad 278 | \infer{\alpha\with\beta\vdash\alpha}{\infer{\alpha\with\beta\vdash\alpha\with\beta}{}} 279 | }$$ 280 | 281 | Постройте следующие доказательства в натуральном выводе: 282 | 283 | \begin{enumerate} 284 | \item $\alpha\vdash\neg\neg\alpha$ 285 | \item $\neg \alpha\vee \beta\vdash \alpha \rightarrow \beta$ 286 | \item $\alpha \rightarrow \beta \vdash \neg \beta \rightarrow \neg \alpha$ 287 | \item $\alpha \vee \beta \vdash \neg (\neg\alpha\with\neg\beta)$ 288 | \end{enumerate} 289 | 290 | \item Чтобы избежать путаницы, обозначим выводимость в ИИВ <<гильбертовского стиля>> как $\vdash_\text{г}$, 291 | а знак $\vdash$ в ИИВ <<системы натурального (естественного) вывода>> как $\vdash_\text{н}$. 292 | 293 | Напомним, что языки гильбертовского и натурального выводов отличаются (обозначим эти 294 | языки как $\mathcal{L}_\text{г}$ и $\mathcal{L}_\text{н}$ соответственно. 295 | 296 | Определим функции, отображающие языки друг в друга: 297 | $|\cdot|_\text{н}: \mathcal{L}_\text{г}\rightarrow\mathcal{L}_\text{н}$ и 298 | $|\cdot|_\text{г}: \mathcal{L}_\text{н}\rightarrow\mathcal{L}_\text{г}$. 299 | Они сохраняют почти все значения, 300 | кроме лжи ($\bot$) и отрицания ($\neg$): 301 | 302 | \begin{center} 303 | \begin{tabular}{ll} 304 | \begin{minipage}{0.4\hsize} 305 | $$|\sigma|_\text{н} = \left\{\begin{array}{ll} 306 | |\alpha|_\text{н}\rightarrow\bot, &\sigma\equiv\neg\alpha\\ 307 | |\alpha|_\text{н} \star |\beta|_\text{н}, &\sigma\equiv\alpha\star\beta\\ 308 | X, & \sigma \equiv X 309 | \end{array}\right.$$ 310 | \end{minipage} 311 | & 312 | \begin{minipage}{0.4\hsize} 313 | $$|\sigma|_\text{г} = \left\{\begin{array}{ll} 314 | A\with\neg A, &\sigma\equiv\bot\\ 315 | |\alpha|_\text{г} \star |\beta|_\text{г}, &\sigma\equiv\alpha\star\beta\\ 316 | X, & \sigma \equiv X 317 | \end{array}\right.$$ 318 | \end{minipage} 319 | \end{tabular} 320 | \end{center} 321 | 322 | Естественным образом расширим эти операции на контексты: $|\gamma_1,\gamma_2,\dots,\gamma_n| = |\gamma_1|,|\gamma_2|,\dots,|\gamma_n|$. 323 | 324 | \begin{enumerate} 325 | \item Пусть $\Gamma\vdash_\text{г}\alpha$. Покажите, что $|\Gamma|_\text{н}\vdash_\text{н}|\alpha|_\text{н}$: 326 | предложите общую схему перестроения доказательства, постройте доказательства для трёх случаев базы 327 | (схема аксиом 2, схема аксиом 5, схема аксиом 9) и одного случая перехода индукции. 328 | \item Пусть $\Gamma\vdash_\text{н}\alpha$. Покажите, что $|\Gamma|_\text{г}\vdash_\text{г}|\alpha|_\text{г}$ 329 | (постройте схему доказательства, и покажите один случай базы и три случая перехода индукции). 330 | \item Покажите аналог теоремы о дедукции: $\Gamma\vdash_\text{н}\alpha\rightarrow\beta$ 331 | тогда и только тогда, когда $\Gamma,\alpha\vdash_\text{н}\beta$. 332 | \end{enumerate} 333 | 334 | \item Покажите, что открытые множества топологического пространства с отношением порядка $(\subseteq)$ 335 | образуют импликативную решётку с нулём. 336 | 337 | \item Напомним, что линейным порядком называется такой порядок $\langle X, \preceq \rangle$, что 338 | для любых $x,y \in X$ выполнено $x \preceq y$ или $y \preceq x$. Задаёт ли линейный порядок решётку? 339 | Дистрибутивна, импликативна ли она, есть ли в ней 0 и 1? 340 | 341 | \item Рассмотрим $\mathbb{N}_0$ (натуральные числа с нулём) с традиционным отношением порядка как решётку. 342 | Каков будет смысл операций $(+)$, $(\cdot)$ и $(\rightarrow)$ в данной решётке, определены ли 0 или 1? 343 | Верно ли, что $2 \cdot 2 = 4$ или $2 + 2 = 4$? Приведите какие-нибудь три свойства традиционных определений 344 | $(+)$ и $(\cdot)$, которые будут всё равно выполнены при таком переопределении, и три свойства, которые 345 | перестанут выполняться. 346 | 347 | \item Постройте следующие примеры: 348 | \begin{enumerate} 349 | \item непустого частично-упорядоченного множества, имеющего операцию $(+)$ для всех элементов, но не имеющего $(\cdot)$ для некоторых; 350 | имеющего операцию $(\cdot)$ для всех элементов, но не имеющего $(+)$ для некоторых. 351 | \item решётки, не являющейся дистрибутивной решёткой; импликативной решётки без 0. 352 | \item дистрибутивной, но не импликативной решётки (эта решётка не может быть конечной). 353 | \end{enumerate} 354 | 355 | \item Покажите, что в дистрибутивной решётке (всегда $a + (b \cdot c) = (a + b) \cdot (a + c)$) также выполнено 356 | и $(a + b)\cdot c = (a \cdot c) + (b \cdot c)$. 357 | 358 | \item Покажите следующие тождества и свойства для импликативных решёток: 359 | \begin{enumerate} 360 | \item ассоциативность: $a + (b + c) = (a + b) + c$ и $a \cdot (b \cdot c) = (a \cdot b) \cdot c$; 361 | \item монотонность: пусть $a \preceq b$ и $c \preceq d$, тогда $a + c \preceq b + d$ и $a \cdot c \preceq b \cdot d$; 362 | \item \emph{Законы поглощения:} $a \cdot (a + b) = a$; $a + (a \cdot b) = a$; 363 | \item $a \preceq b$ выполнено тогда и только тогда, когда $a \rightarrow b = 1$; 364 | \item из $a \preceq b$ следует $b\rightarrow c \preceq a\rightarrow c$ и $c\rightarrow a \preceq c \rightarrow b$; 365 | \item из $a \preceq b \rightarrow c$ следует $a \cdot b \preceq c$; 366 | \item $b \preceq a \rightarrow b$ и $a \rightarrow (b \rightarrow a) = 1$; 367 | \item $a \rightarrow b \preceq ((a \rightarrow (b \rightarrow c)) \rightarrow (a \rightarrow c))$; 368 | \item $a \preceq b \rightarrow a \cdot b$ и $a \rightarrow (b \rightarrow (a \cdot b)) = 1$ 369 | \item $a \rightarrow c \preceq (b \rightarrow c) \rightarrow (a + b \rightarrow c)$ 370 | \item импликативная решётка дистрибутивна: $a + (b \cdot c) = (a + b) \cdot (a + c)$ 371 | \end{enumerate} 372 | 373 | \item Докажите, основываясь на формулах предыдущих заданий, что ИИВ (вариант натурального вывода) 374 | корректно, если в качестве модели выбрать импликативную решётку с 0, а функции оценок определить так: 375 | $$\begin{array}{ccc} 376 | \llbracket\alpha \with \beta\rrbracket & = & \llbracket\alpha\rrbracket \cdot \llbracket\beta\rrbracket \\ 377 | \llbracket\alpha \vee \beta\rrbracket & = & \llbracket\alpha\rrbracket + \llbracket\beta\rrbracket \\ 378 | \llbracket\alpha \rightarrow \beta\rrbracket & = & \llbracket\alpha\rrbracket \rightarrow \llbracket\beta\rrbracket \\ 379 | \llbracket\neg\alpha\rrbracket & = & \llbracket\alpha\rrbracket \rightarrow 0 \\ 380 | \llbracket\bot\rrbracket & = & 0 \\ 381 | \end{array}$$ 382 | Оценка турникета определяется через импликацию: 383 | $\llbracket \gamma_1,\dots,\gamma_n \vdash \alpha \rrbracket = \llbracket \gamma_1 \rightarrow \dots \gamma_n \rightarrow \alpha\rrbracket$. 384 | 385 | \end{enumerate} 386 | 387 | \section*{Задание №4. Интуиционистская логика.} 388 | 389 | \begin{enumerate} 390 | \item Покажите, что какая бы ни была формула $\alpha$ и модель Крипке, 391 | если $W_i \Vdash \alpha$ и $W_i \preceq W_j$, то $W_j \Vdash \alpha$. 392 | 393 | \item Общезначимы ли следующие высказывания в ИИВ? Опровергните, построив модель Крипке, или докажите, построив натуральный вывод. 394 | \begin{enumerate} 395 | \item $P \vee \neg P$; 396 | \item $\neg\neg P \rightarrow P$; 397 | \item $P \vee \neg P \vee \neg\neg P \vee \neg\neg\neg P$; 398 | \item $((P \rightarrow Q) \rightarrow P) \rightarrow P$; 399 | \item $(A \rightarrow B) \vee (B \rightarrow C) \vee (C \rightarrow A)$; 400 | \item $\neg(\neg A \with \neg B) \rightarrow A \vee B$; 401 | \item $(\neg A \vee B) \rightarrow (A \rightarrow B)$; 402 | \item $(A \rightarrow B) \rightarrow (\neg A \vee B)$; 403 | \item $\neg\bot$. 404 | \end{enumerate} 405 | 406 | \item Рассмотрим некоторую модель Крипке $\langle\mathfrak{W},\preceq,\Vdash\rangle$. 407 | Пусть $\Omega = \{ \mathcal{W} \subseteq \mathfrak{W}\ |\ \text{если }W_i \in \mathcal{W}\text{ и }W_i \preceq W_j\text{, то } W_j \in \mathcal{W}\}$. 408 | Пусть $\mathcal{W}_\alpha := \{ W_i \in \mathfrak{W}\ |\ W_i \Vdash \alpha \}$ (множество миров, где вынуждена формула $\alpha$). 409 | \begin{enumerate} 410 | \item На лекции формулировалась теорема без доказательства, что пара $\langle\mathfrak{W}, \Omega\rangle$ --- топологическое пространство. Докажите её. 411 | \item Пусть $\mathcal{W}_\alpha$ и $\mathcal{W}_\beta$ --- открытые множества. Выразите $\mathcal{W}_{\alpha\with\beta}$ и $\mathcal{W}_{\alpha\vee\beta}$ 412 | через $\mathcal{W}_\alpha$ и $\mathcal{W}_\beta$ и покажите, что они также открыты. 413 | \item Пусть $\mathcal{W}_\alpha$ и $\mathcal{W}_\beta$ --- открытые множества. Выразите $\mathcal{W}_{\alpha\rightarrow\beta}$ через 414 | них и покажите, что оно также открыто. 415 | \item Покажите, что $\Omega$ --- в точности множество всех множеств миров, на которых может быть вынуждена какая-либо формула. 416 | А именно, покажите, что для любой формулы $\alpha$ множество миров $\mathcal{W}_\alpha$, где она вынуждена, всегда открыто 417 | ($\mathcal{W}_\alpha \in \Omega$) --- и что для любого открытого множества найдётся формула, которая вынуждена ровно на нём 418 | (для $Q \in \Omega$ существует формула $\alpha$, что $\mathcal{W}_\alpha = Q$). 419 | \end{enumerate} 420 | 421 | \item Постройте топологическое пространство, соответствующее (в смысле предыдущего задания) модели Крипке, опровергающей 422 | высказывание $\neg\neg P\rightarrow P$. 423 | Постройте соответствующую ему табличную модель. 424 | 425 | \item Назовём \emph{древовидной} моделью Крипке модель, в которой множество 426 | миров $\mathfrak{W}$ упорядочено как дерево: (a) существует наименьший мир 427 | $W_0$; (b) для любого $W_i \ne W_0$ существует единственный предшествующий мир 428 | $W_k: W_k \prec W_i$. 429 | \begin{enumerate} 430 | \item Докажите, что любое высказывание, опровергаемое моделью Крипке, может 431 | быть опровергнуто древовидной моделью Крипке. 432 | \item Найдите высказывание, которое не может быть опровергнуто древовидной моделью Крипке 433 | высотой менее 2. 434 | \item Покажите, что для любого натурального $n$ найдётся опровержимое в моделях Крипке высказывание, 435 | неопровергаемое никакой моделью с $n$ мирами. 436 | \end{enumerate} 437 | 438 | \item Покажите, что модель Крипке с единственным миром задаёт классическую модель (в ней выполнены 439 | все доказуемые в КИВ высказывания). 440 | 441 | \item Пусть заданы алгебры Гейтинга $\mathcal{A},\mathcal{B}$, гомоморфизм $\varphi: \mathcal{A} \rightarrow \mathcal{B}$ 442 | и согласованные оценки $\llbracket\rrbracket_\mathcal{A}$ и $\llbracket\rrbracket_\mathcal{B}$: 443 | $\varphi(\llbracket\alpha\rrbracket_\mathcal{A}) = \llbracket\alpha\rrbracket_\mathcal{B}$. 444 | \begin{enumerate} 445 | \item Покажите, что гомоморфизм сохраняет порядок: если $a_1\preceq a_2$, то $\varphi(a_1) \preceq \varphi(a_2)$. 446 | \item Покажите, что если $\llbracket \alpha \rrbracket_\mathcal{A} = 1_\mathcal{A}$, то $\llbracket\alpha\rrbracket_\mathcal{B} = 1_\mathcal{B}$. 447 | \end{enumerate} 448 | 449 | \item Пусть заданы алгебры Гейтинга $\mathcal{A},\mathcal{B}$. Всегда ли можно построить гомоморфизм $\varphi: \mathcal{A}\rightarrow\mathcal{B}$? 450 | 451 | \item Пусть $\mathcal{A}$ --- алгебра Гейтинга. Покажите, что $\Gamma(\mathcal{A})$ --- алгебра Гейтинга и гёделева алгебра. 452 | 453 | \item Пусть $\mathcal{A}$ --- булева алгебра. Всегда ли (возможно ли, что) $\Gamma(\mathcal{A})$ будет булевой алгеброй? 454 | \end{enumerate} 455 | 456 | \section*{Задание №5. Исчисление предикатов} 457 | \begin{enumerate} 458 | \item Докажем теоремы про подстановку и свободу для подстановки: 459 | \begin{enumerate} 460 | \item Рассмотрим замену $\alpha[x := y]$. Пусть в этой замене есть свобода для подстановки $y$ вместо $x$ в $\alpha$ и 461 | $y$ не входит свободно в $\alpha$. Необходимы ли оба условия --- или какое-нибудь следует из другого? 462 | \item Если $y$ свободен 463 | для подстановки вместо $x$ в $\alpha$, то 464 | $\llbracket\alpha[x := y]\rrbracket = \llbracket\alpha\rrbracket^{ x := y }$. 465 | \item Eсли $\theta$ свободна 466 | для подстановки вместо $x$ в $\alpha$, то $\llbracket\alpha[x := \theta]\rrbracket = \llbracket\alpha\rrbracket^{ x := \theta }$. 467 | \item Eсли нет свободы 468 | для подстановки $\theta$ вместо $x$ в $\alpha$, то бывает, что 469 | $\llbracket\alpha[x := \theta]\rrbracket \ne \llbracket\alpha\rrbracket^{ x := \theta }$. 470 | \item Возможны ли случаи, когда нет свободы 471 | для подстановки $\theta$ вместо $x$ в $\alpha$, но $\llbracket\alpha[x := \theta]\rrbracket = \llbracket\alpha\rrbracket^{ x := \theta }$? 472 | \end{enumerate} 473 | 474 | \item Покажите, что исчисление предикатов корректно: 475 | \begin{enumerate} 476 | \item если $\vdash \alpha$, то $\models\alpha$; 477 | \item если $\Gamma\vdash\alpha$, то $\Gamma\models\alpha$ 478 | \end{enumerate} 479 | 480 | \item Докажите следующие формулы в исчислении предикатов: 481 | \begin{enumerate} 482 | \item $(\forall x.\phi)\rightarrow (\forall y.\phi[x := y])$, если есть свобода для подстановки $y$ вместо $x$ в $\phi$ и $y$ не входит свободно в $\phi$. 483 | \item $(\exists x.\phi)\rightarrow (\exists y.\phi[x := y])$, если есть свобода для подстановки $y$ вместо $x$ в $\phi$ и $y$ не входит свободно в $\phi$. 484 | \item $(\forall x.\phi)\rightarrow (\exists x.\phi)$ 485 | \item $(\forall x.\forall x.\phi) \rightarrow (\forall x.\phi)$ 486 | \item $(\forall x.\phi) \rightarrow (\neg \exists x.\neg \phi)$ 487 | \item $(\exists x.\phi) \rightarrow (\neg \forall x.\neg \phi)$ 488 | \item $(\forall x.\neg\phi) \rightarrow (\neg \exists x.\phi)$ 489 | \item $(\exists x.\neg\phi) \rightarrow (\neg \forall x.\phi)$ 490 | \end{enumerate} 491 | 492 | \item Опровергните формулы $\phi\rightarrow\forall x. \phi$ и $(\exists x.\phi)\rightarrow (\forall x.\phi)$ 493 | 494 | \item Рассмотрим формулу $\alpha$ с двумя свободными переменными $x$ и $y$ (мы предполагаем, 495 | что эти метапеременные соответствуют разным переменным). 496 | Определите, какие из сочетаний кванторов выводятся из каких --- и приведите соответствующие 497 | доказательства или опровержения: 498 | \begin{enumerate} 499 | \item $\forall x.\forall y.\alpha$, $\forall y.\forall x.\alpha$ 500 | \item $\exists x.\exists y.\alpha$, $\exists y.\exists x.\alpha$ 501 | \item $\forall x.\forall y.\alpha$, $\forall x.\exists y.\alpha$, $\exists x.\forall y.\alpha$, $\exists x.\exists y.\alpha$ 502 | \item $\forall x.\exists y.\alpha$, $\exists y.\forall x.\alpha$ 503 | \end{enumerate} 504 | 505 | \item Научимся выносить квантор всеобщности <<наружу>>: 506 | \begin{enumerate} 507 | \item Покажите, что если $x$ не входит свободно в $\alpha$, то 508 | $$ 509 | \vdash(\alpha \with \forall x.\beta) \rightarrow (\forall x.\alpha\with\beta)\quad 510 | \mbox{и}\quad 511 | \vdash((\forall x.\beta)\with\alpha) \rightarrow (\forall x.\beta\with\alpha)\quad 512 | $$ 513 | \item Покажите, что $$\vdash((\forall x.\alpha) \with (\forall y.\beta)) \rightarrow \forall x.\forall y.\alpha\with\beta$$ 514 | где $x$ не входит свободно в $\beta$, а $y$ --- в $\alpha$. 515 | \end{enumerate} 516 | 517 | \item Научимся вносить квантор всеобщности <<внутрь>>: 518 | \begin{enumerate} 519 | \item Покажите, что если $x$ не входит свободно в $\alpha$, то 520 | $$ 521 | \vdash (\forall x.\alpha\with\beta)\rightarrow(\alpha \with \forall x.\beta)\quad 522 | \mbox{и}\quad 523 | \vdash (\forall x.\beta\with\alpha)\rightarrow((\forall x.\beta)\with\alpha)\quad 524 | $$ 525 | 526 | \item Покажите, что если $x$ не входит свободно в $\beta$, а $y$ --- в $\alpha$, то 527 | $$\vdash(\forall x.\forall y.\alpha\with\beta) \rightarrow (\forall x.\alpha) \with (\forall y.\beta)$$ 528 | \end{enumerate} 529 | 530 | \item Научимся работать со спрятанными глубоко кванторами. Пусть $\vdash\alpha\rightarrow\beta$, тогда: 531 | \begin{enumerate} 532 | \item Докажите: $$\vdash\psi\vee\alpha \rightarrow \psi\vee\beta\quad\vdash\psi\with\alpha \rightarrow \psi\with\beta\quad 533 | \vdash(\psi\rightarrow\alpha) \rightarrow (\psi\rightarrow\beta)\quad\vdash(\beta\rightarrow\psi) \rightarrow (\alpha\rightarrow\psi)$$ 534 | \item Сформулируйте и докажите аналогичное свойство для отрицания. 535 | \item Докажите $\vdash(\forall x.\alpha)\rightarrow(\forall x.\beta)$. 536 | Надо ли наложить на формулы $\alpha$ и $\beta$ какие-либо ограничения? 537 | \item Докажите $\vdash(\exists x.\alpha)\rightarrow(\exists x.\beta)$. 538 | Надо ли наложить на формулы $\alpha$ и $\beta$ какие-либо ограничения? 539 | \end{enumerate} 540 | 541 | \end{enumerate} 542 | 543 | \section*{Задание №6. Неразрешимость исчисления предикатов, аксиоматика Пеано и формальная арифметика} 544 | 545 | \begin{enumerate} 546 | \item Постройте машины Тьюринга: 547 | \begin{enumerate} 548 | \item Превращающую строку из 0 и 1 в пустую (заменяет все символы на $\varepsilon$); 549 | \item Прибавляющую 1 к двоичному числу на ленте; 550 | \item Разрешающую язык четверичных чисел, делящихся на 3 (оставляющую на ленте букву 551 | <<д>> или <<н>>, в зависимости от делимости); 552 | \item Копирующую строку из 0 и 1, заканчивающуюся на *, на свободное место на ленте за 553 | звёздочкой. Например, \verb!10100*! станет \verb!10100*10100!. 554 | \end{enumerate} 555 | 556 | \item Предложите способ закодировать машину Тьюринга в алфавите из конечного количества символов 557 | (количество не должно зависеть от машины). 558 | 559 | \item Покажите в аксиоматике Пеано: 560 | \begin{enumerate} 561 | \item ассоциативность сложения; 562 | \item коммутативность умножения; 563 | \item дистрибутивность $(a + b) \cdot c = a \cdot c + b \cdot c$; 564 | \item ассоциативность умножения; 565 | \end{enumerate} 566 | 567 | \item Рассмотрим аксиоматику Пеано. Определим отношение <<меньше или равно>> так: $0 \le a$ и $a' \le b'$, если $a \le b$. Покажите, что: 568 | \begin{enumerate} 569 | \item $x \le x+y$; 570 | \item $x \le x \cdot y$ (укажите, когда это так --- в остальных случаях приведите контрпримеры); 571 | \item $a'' + b'' \le (a'') \cdot (b'')$; 572 | \item Если существует $n$, что $x + n = y$, то $x \le y$. 573 | \item Будем говорить, что $a$ делится на $b$ с остатком, если существуют такие $p$ и $q$, что 574 | $a = b \cdot p + q$ и $0 \le q < b$. Покажите, что $p$ и $q$ всегда существуют и единственны, 575 | если $b > 0$. 576 | \end{enumerate} 577 | 578 | \item Обозначим за $\overline{n}$ представление числа $n$ в формальной арифметике, по сути это ноль с $n$ штрихами: 579 | 580 | $$\overline{n} = \left\{\begin{array}{ll}0, &n = 0\\ 581 | (\overline{k})', & n=k+1\end{array}\right.$$ 582 | 583 | Докажите в формальной арифметике: 584 | \begin{enumerate} 585 | \item $\vdash \overline{2} \cdot \overline{2} = \overline{4}$ (теперь вы знаете правду); 586 | \item $\vdash \forall p.(\exists q.q' = p) \vee p = 0$ (единственность нуля --- нужна ли здесь аксиома А3?); 587 | \item $\vdash p \cdot q = 0 \rightarrow p = 0 \vee q = 0$ (отсутствие делителей нуля); 588 | \end{enumerate} 589 | 590 | \item Будем говорить, что $k$-местное отношение $R$ выразимо в формальной арифметике, 591 | если существует формула формальной арифметики $\rho$ со свободными переменными $x_1, \dots, x_k$, что: 592 | \begin{enumerate} 593 | \item для всех $\langle a_1, \dots, a_k \rangle \in R$ выполнено $\vdash\rho[x_1 := \overline{a_1}]\dots[x_k := \overline{a_k}]$ 594 | (доказуема формула $\rho$ с подставленными значениями $a_1, \dots, a_k$ вместо свободных переменных $x_1, \dots, x_k$); 595 | \item для всех $\langle a_1, \dots, a_k \rangle \notin R$ выполнено $\vdash\neg\rho[x_1 := \overline{a_1}]\dots[x_k := \overline{a_k}]$. 596 | \end{enumerate} 597 | 598 | Выразите в формальной арифметике (укажите формулу $\rho$ и докажите требуемые свойства про неё): 599 | \begin{enumerate} 600 | \item <<полное>> отношение $R = \mathbb{N}^2$; 601 | \item отношение $(=)$; 602 | \item унарное отношение <<быть чётным числом>>. 603 | \end{enumerate} 604 | 605 | \end{enumerate} 606 | 607 | \section*{Задание №7. Выразимость и представимость. Теорема Гёделя о неполноте арифметики.} 608 | \begin{enumerate} 609 | \item Докажите, что следующие функции примитивно-рекурсивны. Для каждой функции предложите программу; например, на языке C++ (с шаблонами), 610 | или на любом другом языке, где можно формально записать выражение для рекурсивной функции. 611 | \begin{enumerate} 612 | \item ограниченное вычитание: $$a \dotminus b = \left\{\begin{array}{ll}a - b,&a \ge b\\0, &\text{иначе}\end{array}\right.$$ 613 | \item умножение; 614 | \item возведение в степень; 615 | \item целочисленное деление; 616 | \item остаток от деления; 617 | \item проверка числа на простоту; 618 | \item поиск $n$-го простого числа; 619 | \item наибольший общий делитель двух чисел; 620 | \item частичный логарифм; 621 | \item пусть $l = 2^{a_0} \cdot 3^{a_1} \cdot \dots \cdot {p_{n-1}}^{a_{n-1}}$, определите функцию <<голова списка>>; 622 | \item хвост списка; 623 | \item конкатенация списков. 624 | \end{enumerate} 625 | \item Покажите, что функция Аккермана рекурсивна, для этого: 626 | \begin{enumerate} 627 | \item реализуйте стек: функции добавления элемента в стек и изъятия элемента из стека; 628 | \item реализуйте функцию Аккермана. 629 | \end{enumerate} 630 | \item Докажите (без пропусков частей доказательств), что следующие функции представимы в формальной арифметике: 631 | \begin{enumerate} 632 | \item примитив $Z$; 633 | \item примитив $N$; 634 | \item декремент (ограниченное вычитание 1). 635 | \end{enumerate} 636 | \item Найдите константы $b$ и $c$ бета-функции Гёделя для последовательности трёх чисел $10,3,7$. 637 | \item Определим характеристическую функцию для отношения $R$: 638 | $$C_R(x_1, \dots, x_n) = \left\{\begin{array}{ll}1,&\langle x_1,\dots,x_n\rangle \in R\\0,&\text{иначе}\end{array}\right.$$ 639 | Покажите, что $C_R(x_1,\dots,x_n)$ представимо в формальной арифметике тогда и только тогда, когда $R$ выразимо 640 | в формальной арифметике. 641 | \item Покажите, что в теории первого порядка доказуемы все формулы тогда и только тогда, когда доказуема формула $\overline{1} = 0$ 642 | (иными словами, когда теория противоречива). 643 | \item Предложите непротиворечивую, но $\omega$-противоречивую теорию первого порядка. 644 | \end{enumerate} 645 | 646 | \section*{Задание 8. Теория множеств} 647 | \begin{enumerate} 648 | \item Пусть заданы списки (в любом языке программирования) $L(\alpha)$, хранящие значения типа $\alpha$. 649 | Реализуйте следующие функции, являющиеся аналогами конструктивных аксиом теории множеств: 650 | \begin{enumerate} 651 | \item $\texttt{empty}: L(\alpha)$, строит пустой список, и $\texttt{pair}: (\alpha, \alpha) \rightarrow L(\alpha)$, формирует список из двух своих аргументов. 652 | \item $\texttt{flatten}: L(L(\alpha)) \rightarrow L(\alpha)$, соединяет все списки внутри списка в один. 653 | \item $\texttt{powerset}: L(\alpha) \rightarrow L(L(\alpha))$, делает из списка список всех возможных подсписков. 654 | \item $\texttt{filter}: (\alpha \rightarrow \texttt{bool}) \rightarrow L(\alpha) \rightarrow L(\alpha)$, 655 | выделяет из списка все элементы, соответствующие условию. 656 | \end{enumerate} 657 | \item На самом деле ординалы --- это не списки, а деревья. Перепишите задачу 1 соответствующим образом, 658 | и напишите функцию $\texttt{ordinal}: \texttt{int} \rightarrow \texttt{set}$, строящую ординал, 659 | соответствующий заданному числу. Множество можно строить только через аналоги функций из 1 задания. 660 | \item Определим упорядоченную пару $\langle a,b\rangle := \{\{a\},\{a,b\}\}$. Покажите, что: 661 | \begin{enumerate} 662 | \item Упорядоченная пара --- множество. 663 | \item $\langle a,b \rangle = \langle c,d\rangle$ тогда и только тогда, когда $a = c$ и $b = d$. 664 | \end{enumerate} 665 | \item Докажите, что следующие конструкции являются множествами: 666 | \begin{enumerate} 667 | \item пересечение всех элементов множества ($\bigcap a$); 668 | \item $a\ \setminus\ b$ (разность множеств); 669 | \item $a \uplus b$ (дизъюнктное объединение множеств: $\{\langle x,0\rangle\mid x\in a\}\cup\{\langle x,1\rangle\mid x\in b\}$); 670 | \item $a \times b$ (декартово произведение множеств: $\{\langle p,q\rangle\ |\ p\in a, q\in b\}$). 671 | \end{enumerate} 672 | \item Определите формулу $\varphi(x)$ для свойства <<$x$ --- конечный ординал>>. Укажите замкнутый 673 | вид для формулы $\omega$. 674 | \item Покажите, что если $x$ --- ординал, то $x'$ --- тоже ординал. 675 | \item Верно ли, что если $x'$ --- ординал, то $x$ --- тоже ординал? 676 | \item Покажите, что на множестве $\omega$ выполняется аксиоматика Пеано (полная формализация рассуждений не требуется, 677 | но из изложения должно быть понятно, как эту формализацию в рамках теории первого порядка получить): 678 | \begin{enumerate} 679 | \item $\forall x.x \in \omega \rightarrow \neg x' = \varnothing$ 680 | \item $\forall x.\forall y.x \in \omega \with y \in \omega \rightarrow x' = y' \rightarrow x = y$ 681 | \item (\emph{указание к следующему пункту}) покажите, что если $\vdash\forall x.\neg\phi(x)\rightarrow A\with\neg A$, то $\vdash\forall x.\phi(x)$. 682 | \item Если $\phi(\varnothing)$ и $\forall x.x \in \omega \rightarrow \phi(x) \rightarrow \phi(x')$, 683 | то $\forall x.x \in \omega \rightarrow \phi(x)$. 684 | \end{enumerate} 685 | \item Проверьте следующие равенства (докажите или опровергните): 686 | \begin{enumerate} 687 | \item $\omega\cdot\overline{2} = \overline{2}\cdot\omega$ 688 | \item $\omega\cdot\overline{2} = \omega + \omega$ 689 | \item $(\omega+\overline{1})^{\overline{2}} = \omega^{\overline{2}} + \overline{2}\cdot \omega + \overline{1}$ 690 | \item $\omega ^ \omega = (\omega ^ {\overline{2}}) ^ \omega$ 691 | \item $\omega ^ {\omega + \overline{1}} = \omega ^ \omega + \overline{1}$ 692 | \item Имеет ли место ассоциативность сложения и/или умножения? 693 | \end{enumerate} 694 | \end{enumerate} 695 | 696 | \section*{Задание 9. Аксиома выбора. Мощность множеств} 697 | \begin{enumerate} 698 | \item Верно ли, что $1^\omega = \omega$ и/или $\omega^1 = \omega$? 699 | \item Зачёт за пункт ставится, если одновременно решены два подпункта: 700 | (i) Покажите, что множество $\omega^\omega$ имеет счётную мощность. 701 | (ii) Определим $\uparrow k$ (башню из омег) так: 702 | 703 | $$\uparrow k = \left\{\begin{array}{ll}\omega,&k = 1\\\omega^{\uparrow n},&k = n'\end{array}\right.$$ 704 | 705 | Скажем, $\uparrow 3 = \omega^{\left(\omega^\omega\right)}$. Будет ли счётным ординал $\sup\{\uparrow k\ |\ k \in \omega\}$? 706 | \item Существует ли ординал, которому соответствует множество неотрицательных рациональных чисел и упорядоченность на нём? 707 | То есть, существует ли ординал $\sigma$, что существует биекция $f: \mathbb{Q^+} \rightarrow \sigma$, причём 708 | для всех $a,b \in \mathbb{Q^+}$ из $a \le b$ следует $f(a) \le f(b)$ (и обратно). 709 | \item Верно ли, что для любого отношения полного порядка на счётном множестве существует соответствующий ему ординал, 710 | имеющий тот же порядок? 711 | \item Покажите следующее (обозначим за $\mathcal{F}(p,q)$ множество функций из $p$ в $q$): 712 | \begin{enumerate} 713 | \item $|a|=0$ тогда и только тогда, когда $a = \varnothing$; 714 | \item если $|a|\le|b|$, то $|\mathcal{F}(g,a)| \le |\mathcal{F}(g,b)|$; 715 | \item если $|a|\le|b|$ и $\overline{0}<|g|$, то $|\mathcal{F}(a,g)| \le |\mathcal{F}(b,g)|$; 716 | \item $|\mathcal{F}(\overline{0},a)| = \overline{1}$, $|\mathcal{F}(\overline{1},a)| = \overline{1}$; если $|a| > 0$, то $|\mathcal{F}(a,\overline{0})| = \overline{0}$; 717 | \item если $|a|\ge\aleph_0$ и $0 < |n| < \aleph_0$, то $|\mathcal{F}(a,n)| = a$. 718 | \end{enumerate} 719 | \item Покажите эквивалентность следующих определений конечного множества (задание $(k)$ предполагает доказательство 720 | импликации $(k)\rightarrow(k')$; возможно, некоторые из переходов потребуют аксиому выбора): 721 | \begin{enumerate} 722 | \item $a$ конечно, если каждое непустое семейство подмножеств $a$ имеет максимальный по включению элемент. 723 | Например, при $a = \{0,1,2\}$ в семействе подмножеств $\{\varnothing,\{0,1\},\{1,2\}\}$ элементы $\{0,1\}$ и $\{1,2\}$ --- максимальны. 724 | \item $a$ конечно, если $\mathcal{P}(a)$ не равномощно своему собственному подмножеству (собственное подмножество --- подмножество, не совпадающее с множеством). 725 | \item $a$ конечно, если оно не равномощно своему собственному подмножеству. 726 | \item $a$ конечно, если $|a|=\varnothing$ или $|a|\cdot\overline{2} > |a|$. 727 | \item $a$ конечно, если $|a|=\varnothing$ или $|a|=\overline{1}$ или $|a|^2 > |a|$. 728 | \item $a$ конечно, если $|a|<\aleph_0$. 729 | \end{enumerate} 730 | \item Покажите, что функция $f: a \rightarrow b$ биективна (т.е. инъективна и сюръективна) тогда и только тогда, 731 | когда $\forall y.\exists!x.\phi(x,y)$. Здесь за $\phi(x,y)$ мы обозначаем формулу, представляющую функцию $f$ 732 | в теории множеств, по аналогии с формальной арифметикой. 733 | \item Покажите, что если $a$ и $b$ --- непустые множества, то существует функция из $a$ в $b$ 734 | (однако, функция не обязана быть инъективной или сюръективной). 735 | \item Пусть множество $a$ вполне упорядоченное. Назовём множество $\{ x\in a \mid x < y\}$, где $y\in a$, начальным отрезком $a$. 736 | Рассмотрим произвольную пару вполне упорядоченных множеств $a$ и $b$. 737 | Покажите, что либо между $a$ и $b$ есть биекция, сохраняющая порядок (такая, что $x < y$ влечёт $f(x) < f(y)$), либо есть инъективное отображение из одного множества в начальный отрезок другого, также сохранающее порядок. 738 | \end{enumerate} 739 | 740 | \section*{Задание 10. Система $S_\infty$} 741 | 742 | \begin{enumerate} 743 | \item Определите отношение <<больше или равно>>. Покажите, что $x^2 \ge x$. 744 | \item Покажите аксиому $\forall a.a \cdot 0 = 0$. 745 | \item Постройте и докажите дополнительное правило вывода $$\infer{\forall a.\forall b.a' = b'}{\forall a.\forall b.a = b}$$ 746 | Какой порядок имеет доказательство? 747 | \item Постройте утверждение, доказательство которого не может иметь порядок, меньший $\omega$. 748 | \item Добавьте в исчисление связку $(\rightarrow)$ и: 749 | \begin{enumerate} 750 | \item Введите правила для импликации. Покажите, что в $S_\infty$ эти правила выполнены. 751 | \item Покажите, что если $\pi$ и $\rho$ --- замкнутые формулы, то 752 | в $S_\infty$ выполнен закон Пирса ($((\pi\rightarrow\rho)\rightarrow\pi)\rightarrow\pi$). 753 | \end{enumerate} 754 | \item Пусть формулы $\alpha\rightarrow\beta\rightarrow\alpha$ и 755 | $(\alpha\rightarrow\beta)\rightarrow(\alpha\rightarrow\beta\rightarrow\gamma)\rightarrow(\alpha\rightarrow\gamma)$ 756 | доказаны при любых формулах $\alpha$, $\beta$ и $\gamma$. 757 | \begin{enumerate} 758 | \item Достройте доказательство $$\infer{\alpha\rightarrow\alpha}{\alpha\rightarrow(\alpha\rightarrow\alpha)\rightarrow\alpha 759 | \quad\quad(\alpha\rightarrow(\alpha\rightarrow\alpha)\rightarrow\alpha)\rightarrow(\alpha\rightarrow\alpha)}$$ 760 | \item Устраните сечения согласно методу из разобранной на занятии теоремы из доказательства в предыдущем пункте. 761 | \end{enumerate} 762 | \end{enumerate} 763 | 764 | \section*{Задание 11. Лямбда-исчисление} 765 | 766 | \begin{enumerate} 767 | \item Напомним правила расстановки скобок в лямбда-выражениях. Лямбда-абстракция ведёт себя жадно: 768 | включает всё, что может. Пример: $\lambda z.(\lambda x.a\ b\ c\ \lambda y.d\ e)\ f$ 769 | эквивалентно $\lambda z.((\lambda x.(a\ b\ c\ (\lambda y.(d\ e))))\ f)$. 770 | В аппликациях скобки расставляются слева направо: 771 | $\lambda z.(\lambda x.(a\ b\ c\ (\lambda y.(d\ e))))\ f$ можно преобразовать в 772 | $(\lambda z.((\lambda x.((((a\ b)\ c)\ (\lambda y.(d\ e)))))\ f))$. 773 | 774 | \begin{enumerate} 775 | \item Расставьте скобки в выражении: 776 | $\lambda z.\lambda x.a\ b\ c\ \lambda y.d\ e\ f$ 777 | \item Уберите все <<лишние>> скобки из выражения: 778 | $(\lambda f.((\lambda x.(f\ (f\ (x\ (\lambda z.(z\ x))))))\ z))$ 779 | \item Всегда ли лишние скобки можно убрать единственным образом (когда из результирующего 780 | выражения нельзя больше убрать ни одной пары скобок)? Докажите или опровергните. 781 | \end{enumerate} 782 | 783 | \item Напомним/дадим следующие определения: 784 | 785 | \begin{enumerate} 786 | \item Бета-редекс --- выражение вида $(\lambda x.A) B$ 787 | 788 | \item Редукция лямбда-выражения --- подстановка выражения вместо переменной в бета-редексе: 789 | $(\lambda x.A)\ B \rightarrow_\beta A[x:=B]$. Замена может производиться внутри выражения: 790 | $\lambda s.(\lambda x.x)\ t \rightarrow_\beta \lambda s.t$ 791 | 792 | \item Многошаговая бета-редукция (бета-редуцируемость) --- транзитивное и рефлексивное 793 | замыкание бета-редукции: $(\lambda x.x)\ (\lambda x.x)\ (\lambda x.x)\ (\lambda x.x) \twoheadrightarrow_\beta \lambda x.x$ 794 | 795 | \item Лямбда-выражение в нормальной форме --- в нём невозможно сделать ни одной редукции. 796 | 797 | \item Некоторые термы для представления логических выражений в лямбда-исчислении: 798 | 799 | \begin{tabular}{lll} 800 | Обозначение & лямбда-терм & название\\\hline 801 | $T$ & $\lambda a.\lambda b.a$ & истина\\ 802 | $F$ & $\lambda a.\lambda b.b$ & ложь\\ 803 | $Not$ & $\lambda x.x\ F\ T$ & отрицание\\ 804 | $And$ & $\lambda x.\lambda y.x\ y\ F$ & конъюнкция 805 | \end{tabular} 806 | 807 | \end{enumerate} 808 | Проредуцируйте следующие выражения и найдите нормальную форму: 809 | 810 | \begin{enumerate} 811 | \item $T\ F$ 812 | \item $(T\ Not\ (\lambda t.t))\ F$ 813 | \item $And\ (And\ F\ F)\ T$ 814 | \end{enumerate} 815 | 816 | \item Постройте лямбда-выражения для следующих булевских выражений: 817 | \begin{enumerate} 818 | \item Дизъюнкция 819 | \item Стрелка Пирса (<<или-не>>) 820 | \item Исключающее или 821 | \end{enumerate} 822 | 823 | \item Напомним определения с лекций: 824 | 825 | $$f^{(n)}\ X ::= \left\{\begin{array}{ll} X, & n=0\\ 826 | f^{(n-1)}\ (f\ X), & n>0\end{array}\right.$$ 827 | 828 | \begin{center}\begin{tabular}{lll} 829 | Обозначение & лямбда-терм & название\\\hline 830 | $\overline{n}$ & $\lambda f.\lambda x.f^{(n)}\ x$ & чёрчевский нумерал\\ 831 | $(+1)$ & $\lambda n.\lambda f.\lambda x.n\ f\ (f\ x)$ & прибавление 1\\ 832 | $(+)$ & $\lambda a.\lambda b.a\ (+1)\ b$ & сложение\\ 833 | \end{tabular}\end{center} 834 | 835 | Используя данные определения и определения операций из аксиоматики Пеано, 836 | постройте выражения для следующих операций над числами. Для демонстрации 837 | корректности работы используйте интерпретатор лямбда-исчисления, например 838 | LCI \texttt{http://www.chatzi.org/lci/}. 839 | 840 | \begin{enumerate} 841 | \item Умножение на 2 ($Mul2$) 842 | \item Умножение 843 | \item Возведение в степень 844 | \item Проверка на чётность 845 | \item IsZero: возвращает $T$, если аргумент равен нулю, иначе $F$ 846 | \item Деление на 3 847 | \end{enumerate} 848 | 849 | \item Ещё немного определений: 850 | 851 | \begin{tabular}{lll} 852 | Обозначение & лямбда-терм & название\\\hline 853 | $MkPair$ & $\lambda a.\lambda b.(\lambda x.x\ a\ b)$ & создание пары\\ 854 | $PrL$ & $\lambda p.p\ T$ & левая проекция\\ 855 | $PrR$ & $\lambda p.p\ F$ & правая проекция\\\hline 856 | \end{tabular} 857 | 858 | \begin{enumerate} 859 | \item Убедитесь, что $PrL\ (MkPair\ a\ b) \twoheadrightarrow_\beta a$. 860 | \item Постройте операцию вычитания 1 из числа 861 | \item Постройте операцию вычитания чисел 862 | \item Постройте операцию деления на 3 (могут потребоваться пары и/или вычитания) 863 | \item Постройте операцию деления чисел 864 | \item Сравнение двух чисел ($IsLess$) — истина, если первый аргумент меньше второго. 865 | \end{enumerate} 866 | 867 | Для демонстрации 868 | корректности работы используйте интерпретатор лямбда-исчисления, например 869 | LCI \texttt{http://www.chatzi.org/lci/}. 870 | 871 | \item Покажите при помощи изоморфизма Карри-Ховарда следующие высказывания (для 872 | демонстрации укажите выражение на Хаскеле/Окамле, имеющее соответствующий тип): 873 | \begin{enumerate} 874 | \item $\alpha\rightarrow\beta\rightarrow\alpha$ 875 | \item $(\alpha\rightarrow\beta)\rightarrow(\alpha\rightarrow\neg\beta)\rightarrow\neg\alpha$ 876 | \item $\alpha\rightarrow\neg\neg\alpha$ 877 | \item $(\neg\alpha\vee\beta)\rightarrow(\alpha\rightarrow\beta)$ 878 | \item $(\alpha\with\beta)\rightarrow\neg(\neg\alpha\vee\neg\beta)$ 879 | \end{enumerate} 880 | 881 | \item Алгебраические типы называются так потому, что позволяют ввести своеобразную 882 | алгебру на типах: собственно алгебраический тип (тип-сумма) ($\alpha + \beta$) --- сумма, 883 | пара ($\alpha \times \beta$) --- произведение, функция 884 | ($\alpha \rightarrow \beta$) --- возведение в степень $\beta^\alpha$. 885 | Докажите следующие тождества (напишите две функции --- первая из правой части 886 | равенства делает левую, а вторая --- из левой правую): 887 | 888 | \begin{enumerate} 889 | \item $\alpha \times (\beta+\gamma) = \alpha\times\beta + \alpha\times\gamma$ 890 | \item $\alpha ^ {\beta + \gamma} = \alpha ^ \beta \times \alpha ^ \gamma$ 891 | \item $\alpha ^ {\beta \times \gamma} = \left(\alpha ^ \beta\right) ^ \gamma$ (иначе называется \emph{карринг}) 892 | \end{enumerate} 893 | 894 | \end{enumerate} 895 | 896 | \end{document} 897 | -------------------------------------------------------------------------------- /questions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/questions.pdf -------------------------------------------------------------------------------- /questions.tex: -------------------------------------------------------------------------------- 1 | \documentclass[11pt,a4paper,oneside]{scrartcl} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage[top=1cm,bottom=1cm,left=1cm,right=1cm]{geometry} 5 | 6 | \begin{document} 7 | \pagestyle{empty} 8 | 9 | \begin{center} 10 | {\large\scshape\bfseries Список вопросов к курсу <<Математическая логика>>}\\ 11 | ИТМО, группы M3234--M3239, весна 2022 г. 12 | \end{center} 13 | 14 | %\vspace{0.3cm} 15 | 16 | \begin{enumerate} 17 | \item Исчисление высказываний. Общезначимость, следование, доказуемость, выводимость. Корректность, полнота, непротиворечивость. 18 | Теорема о дедукции для исчисления высказываний. 19 | \item Теорема о полноте исчисления высказываний. 20 | \item Интуиционистское исчисление высказываний. Вывод в Гильбертовском стиле и натуральный вывод. 21 | BHK-интерпретация. Решётки. Булевы и псевдобулевы алгебры. 22 | \item Алгебра Линденбаума. Полнота интуиционистского исчисления высказываний в псевдобулевых алгебрах. 23 | Модели Крипке. Сведение моделей Крипке к псевдобулевым алгебрам. Нетабличность 24 | интуиционистского исчисления высказываний. 25 | \item Гёделева алгебра. Операция $\Gamma(A)$. Дизъюнктивность интуиционистского исчисления высказываний. 26 | \item Исчисление предикатов. Общезначимость, следование, выводимость. Теорема о дедукции в исчислении предикатов. 27 | Теорема о корректности исчисления предикатов. 28 | \item Непротиворечивые множества формул. Доказательство существования моделей у непротиворечивых множеств формул 29 | в бескванторном исчислении предикатов. 30 | Теорема Гёделя о полноте исчисления предикатов. Доказательство полноты исчисления предикатов. 31 | \item Машина Тьюринга. Задача об останове, её неразрешимость. Доказательство неразрешимости исчисления предикатов. 32 | \item Порядок теории (0, 1, 2). Теории первого порядка, структуры и модели. Аксиоматика Пеано. Арифметические операции. Формальная арифметика. 33 | \item Примитивно-рекурсивные и рекурсивные функции. Примитивная рекурсивность 34 | арифметических функций, функций вычисления простых чисел, частичного логарифма. 35 | Выразимость отношений и представимость функций в формальной арифметике. Харктеристические функции. 36 | Представимость примитивов $N$, $Z$, $S$, $U$ в формальной арифметике. 37 | \item Бета-функция Гёделя. Представимость примитивов $R$ и $M$ и рекурсивных функций в формальной арифметике. 38 | Гёделева нумерация. Рекурсивность представимых в формальной арифметике функций. 39 | \item Непротиворечивость (эквивалентные определения, доказательство эквивалентности) и $\omega$-не\-про\-ти\-во\-речивость. 40 | Первая теорема Гёделя о неполноте арифметики. 41 | Формулировка первой теоремы Гёделя о неполноте арифметики в форме Россера. Неполнота арифметики. 42 | Формулировка второй теоремы Гёделя о неполноте арифметики, $Consis$. 43 | Неформальное пояснение метода доказательства. 44 | \item Теория множеств. Определения равенства. Аксиоматика Цермело-Френкеля. Частичный, линейный, полный порядок. 45 | Ординальные числа, аксиома бесконечности. Конечные ординалы, существование ординала $\omega$, 46 | операции над ординалами, доказательство $1+\omega\ne\omega+1$. Связь ординалов и упорядочений. 47 | \item Кардинальные числа, мощность множеств. Теорема Кантора-Бернштейна, теорема Кантора. 48 | Аксиома выбора. Теорема Диаконеску (формулировка). 49 | \item Теорема Лёвенгейма-Сколема, парадокс Сколема. 50 | \item Система $S_\infty$. Доказательство непротиворечивости формальной арифметики. 51 | \end{enumerate} 52 | \end{document} 53 | -------------------------------------------------------------------------------- /test-paper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shd/logic2022/c2b8c8b405ebe3693233e907650ce817a508cf86/test-paper.pdf -------------------------------------------------------------------------------- /test-paper.tex: -------------------------------------------------------------------------------- 1 | \documentclass[11pt,a4paper,oneside]{scrartcl} 2 | \usepackage[utf8]{inputenc} 3 | \usepackage[english,russian]{babel} 4 | \usepackage[top=1cm,bottom=1cm,left=1cm,right=1cm]{geometry} 5 | \usepackage{amssymb} 6 | 7 | \begin{document} 8 | \pagestyle{empty} 9 | 10 | \begin{center} 11 | {\large\scshape\bfseries Контрольная работа по математической логике}\\ 12 | ИТМО, группы M3234--M3239, весна 2022 г.\\ 13 | \itshape Вариант 1 14 | \end{center} 15 | 16 | %\vspace{0.3cm} 17 | 18 | \begin{enumerate} 19 | \item Постройте модель Крипке, опровергающую формулу $(A \rightarrow B) \vee (B \rightarrow A)$. 20 | \item Покажите, что $\vdash 1+2 = 2+ 1$ (постройте полное доказательство). 21 | \item Пусть $a \le b := \exists x.a + x = b$. Покажите, что доказуемо $\forall a.\forall b.a \le b \vee b \le a$ 22 | (достаточно рассуждения на метаязыке). 23 | \item Покажите, что $f(x,y) = \max(x-y,y-x)$ --- примитивно-рекурсивна. 24 | \item Раскройте скобки: $(\omega + 1)^k$ 25 | \end{enumerate} 26 | 27 | \vspace{3cm} 28 | \begin{center} 29 | {\large\scshape\bfseries Контрольная работа по математической логике}\\ 30 | ИТМО, группы M3234--M3239, весна 2022 г.\\ 31 | \itshape Вариант 2 32 | \end{center} 33 | 34 | \begin{enumerate} 35 | \item Постройте модель Крипке, опровергающую формулу $(A \rightarrow B) \rightarrow (\neg A \vee B)$. 36 | \item Покажите, что $\vdash 1 + 3 = 4$ (постройте полное доказательство). 37 | \item Пусть $a \le b := \exists x.a + x = b$. Покажите, что доказуемо $\forall a.\forall b.a \le b \ \&\ b \le a \rightarrow a = b$ 38 | (достаточно рассуждения на метаязыке). 39 | \item Покажите, что $f(x) = \max \{ k: 2^k < x \}$ --- примитивно-рекурсивна. 40 | \item Раскройте скобки: $(\omega\cdot k)^k$. 41 | \end{enumerate} 42 | 43 | \end{document} --------------------------------------------------------------------------------