-
Notifications
You must be signed in to change notification settings - Fork 41
/
lection07.tex
165 lines (126 loc) · 8.4 KB
/
lection07.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
\section{Лекция 7}
\subsection{Импликационный фрагмент ИИП второго порядка}
\begin{center}
\begin{definition}
Назовем \textit{\underline{грамматикой ИИП второго порядка}} конструкцию вида:
\end{definition}
\textbf{A} ::=
\textbf{p} |
(\textbf{A} $\rightarrow$ \textbf{A}) |
($\forall$\textbf{p}.\textbf{A})
\end{center}
В этой системе все остальные связки могут быть выражены через основные 4, представленные выше. Например, $\perp$ представима в следующем виде
\begin{center}
{\textbf{\textsl\textit{$\forall$p.p}}} \\
\end{center}
Также добавим два новых правила вывода для квантора существования и два для квантора всеобщности к уже существующим в ИИВ: \\ \\
Для квантора всеобщности: \\
\[ \dfrac{\Gamma\vdash\phi}{\Gamma\vdash\forall p.\phi} (p\notin FV(\Gamma)) \qquad
\dfrac{\Gamma\vdash\forall p.\phi}{\Gamma\vdash\phi[p:=\Theta]} \]
И два для квантора существования: \\
\[ \dfrac{\Gamma\vdash\phi[p:= \psi]}{\Gamma\vdash\exists p.\phi}\qquad
\dfrac{\Gamma\vdash\exists p.\phi\quad\Gamma, \phi\vdash\psi}{\Gamma\vdash\psi} (p\notin FV(\Gamma, \psi)) \]
\begin{definition}
Грамматику ИИП второго порядка с приведенными выше правилами вывода назовем Импликационным фрагментом ИИВ второго порядка\\
\end{definition}
{С помощью этих правил вывода можно доказать, что \textbf{${\perp = \forall p.p}$}
Действительно, воспользовавшись вторым правилом вывода квантора всеобщности для этого выражения, мы можем вывести любое другое выражение.}
С помощью правил вывода также можно доказать, что \\
$\phi\&\psi\equiv\forall a. ((\phi\rightarrow\psi\rightarrow a)\rightarrow a)$\\
$\phi\vee\psi\equiv\forall a. ((\phi\rightarrow a)\rightarrow(\psi\rightarrow a)\rightarrow a)$
Докажем например, что
\begin{center}
$\dfrac{\Gamma\vdash\perp}{\Gamma\vdash \phi}$
\end{center}
Воспользуемся вторым правилом вывода для квантора всеобщности
\begin{center}
$\dfrac{\Gamma\vdash\forall\alpha.\alpha}{\Gamma\vdash\alpha[\alpha:=\phi]} $
\end{center}
\subsection{Теория Моделей}
Добавим к нашему исчислению модель. Напомню, что модель это функция которая сопоставляет некому терму элемент из множества истинностных значений. В нашем случае мы будем сопоставлять высказываниям элементы из множества $\llbracket\text{\textbf{И,Л}}\rrbracket$ по следующим правилам: \\
\begin{center}
$\llbracket p\rrbracket=p$, т. е. $\llbracket p\rrbracket^{p = x} = x$ \\
\end{center}
\begin{center}
\begin{equation*}
\llbracket p\rightarrow Q\rrbracket =
\begin{cases}
\text{Л}, \llbracket p\rrbracket = \text{И}, \llbracket Q\rrbracket = \text{Л} \\
\text{И}, \text{иначе}
\end{cases}
\end{equation*}
\end{center}
\begin{equation*}
\llbracket\forall p.Q\rrbracket =
\begin{cases}
\text{И}, \llbracket Q\rrbracket^{p=\text{л, и}} = \text{И} \\
\text{Л}, \text{иначе}
\end{cases}
\end{equation*}
Эта модель корректна, но не полна.
\subsection{Система F}
\begin{definition}
Под типом в системе F будем понимать следующее
\begin{equation*}
\tau =
\begin{cases}
\alpha,\beta,\gamma ...\quad(\text{атомарные типы}) \\
\tau\rightarrow\tau \\
\forall\alpha.\tau\qquad(\alpha\text{ - переменная})
\end{cases}
\end{equation*}
\end{definition}
\begin{definition}
Введем определение грамматики в системе F:
\begin{center}
$\mathcal{L}$ ::= x | $\left(\lambda x^{\tau}.\mathcal{L}\right)$ | $\left(\mathcal{L}\ \mathcal{L}\right)$ | $\left(\Lambda\alpha.\mathcal{L}\right)$ | $\left(\mathcal{L}\tau\right)$
\end{center}
\end{definition}
где $\Lambda\alpha.\Lambda$ --- типовая абстракция, явное указание того, что вместо каких-то типов мы можем подставить любые выражения, а $\Lambda\tau$ --- это применение типа. \\
Так, пример типовой абстракции это:
\begin{minted}{cpp}
template<typename T>
class W {
T x;
}
\end{minted}
Типовая аппликация --- это объявление переменной класса с каким-то типом
\begin{minted}{cpp}
W<int> w_test;
\end{minted}
\begin{theorem}
Изоморфизм Карри - Ховарда:
\begin{center}
$\Gamma\vdash_F M:\tau\Leftrightarrow |\Gamma|\vdash_{\forall, \rightarrow}\tau$
\end{center}
\end{theorem}
В системе F определены следующие правила вывода: \\ \\
\noindent
{$\dfrac{}{\Gamma,x:\tau\vdash x:\tau}\qquad\qquad$}
{$\dfrac{\Gamma\vdash M:\sigma\rightarrow\tau\qquad\Gamma\vdash N:\sigma}{\Gamma\vdash M N:\tau}$}\\ \\ \\
{$\dfrac{\Gamma,x:\tau\vdash M:\sigma}{\Gamma\vdash\lambda x^{\tau}.M:\tau\rightarrow\sigma}\quad(x\notin FV(\Gamma))$}\\ \\ \\
{$\dfrac{\Gamma\vdash M:\sigma}{\Gamma\vdash\Lambda\alpha.M:\forall\alpha.\sigma}\quad(\alpha\notin FV(\Gamma))\qquad$}
$\dfrac{\Gamma\vdash M:\forall\alpha.\sigma}{\Gamma\vdash M\tau:\sigma[\alpha:=\tau]}$
\\
$\emph{Приведем пример}$. Покажем как выглядит в системе F левая проекция.
В просто типизированном $\lambda$ - исчислении $\pi_1$ имеет тип $\alpha\&\beta\rightarrow\alpha$. В системе F явно указывается, что элементы пары могут быть любыми и пишется соответственно $\forall\alpha.\forall\beta.\alpha\&\beta\rightarrow\alpha$. Само выражение для проекции также изменится и будет иметь вид $\pi_1=\Lambda\alpha.\Lambda\beta.\lambda p^{\alpha\&\beta}.p\rm{T}$
Давайте определим еще несколько понятий из простого $\lambda$-исчисления. \\
\emph{Начнем с $\beta$-редукции:}
\begin{enumerate}
\item Типовая $\beta$-редукция: $(\Lambda\alpha.M^{\sigma})\tau\rightarrow_\beta M[\alpha:= \tau]:\sigma[\alpha:= \tau]$
\item Классическая $\beta$-редукция: $(\lambda x^{\sigma}.M)^{\sigma\rightarrow\tau}X\rightarrow_\beta M[x:=X]:\tau$
\end{enumerate}
\emph{Выразим еще несколько функций} \\
\begin{enumerate}
\item Не бывает М:$\perp$
\item Рассмотрим пару <P, Q> ::= $\Lambda\alpha.\lambda z^{\tau\rightarrow\sigma\rightarrow\alpha}.z P Q$ \\
Проекторы мы рассмотрели ранее.
\item $in_L(M^{\tau}) ::= \Lambda\alpha.\lambda u^{\tau\rightarrow\alpha}.\lambda\omega^{\sigma\rightarrow\alpha}.u M$\\
$ in_R(M^{\sigma}) ::= \Lambda\alpha.\lambda u^{\tau\rightarrow\alpha}.\lambda\omega^{\sigma\rightarrow\alpha}.u M$\\
\end{enumerate}
\begin{enumerate}
\item Теорема Чёрча-Россера и прочие теоремы, доказуемые в просто-типизированном лямбда-исчислении, доказуемы и в системе F
\item $\lambda_{(\forall, \rightarrow)}$ Система F сильно нормализуема
\item Y комбинатор не типизируем
\item Исчисление неразрешимое, но не противоречивое
\end{enumerate}