Теория типов в семантике пропозициональных установок

Эпистемология и философия науки 2018. Т. 55. № 4. С. 26-37 УДК 161.22

Epistemology & Philosophy of Science 2018, vol. 55, no. 4, pp. 26-37 DOI: 10.5840/eps201855462

Теория типов в семантике

пропозициональных установок

Доманов Олег Анатольевич -

кандидат философских наук, старший научный сотрудник. Институт философии и права СО РАН.

Российская Федерация, 630090, г. Новосибирск, ул. Николаева, д. 8; e-mail: domanov@philosophy.

В статье описывается подход к анализу пропозициональных установок, опирающийся на теоретико-типовую семантику, предложенную А. Ранта и основанную на теории типов П. Мартин-Лёфа. Теоретико-типовая семантика в явном виде содержит контексты и способы извлечения информации из них. Это позволяет корректно формализовать зависимость от контекста, характерную для пропозициональных установок. В статье контекст представляется в виде типа зависимой суммы (тип Record в системе работы с доказательствами Coq), при этом подход А. Ранта уточняется и применяется к анализу фразы Куайна «Ральф верит, что кто-то шпион». Описано три варианта формализации этой фразы, которые различаются содержанием контекстуального знания и способом вывода из него истинностных значений фразы. Связь между контекстами устанавливается функцией преобразования, позволяющей соотносить значения истинности. В результате, средства для работы с контекстами, предоставляемые теоретико-типовой семантикой, позволяют избежать проблем непрозрачности, описанных Куайном. Формализация вместе с доказательствами кодирована в Coq и свободно доступна.

Ключевые слова: теория типов, теоретико-типовая семантика, пропозициональные установки, П. Мартин-Лёф, А. Ранта, У.В.О. Куайн

Type theory in the semantics

of propositional attitudes

Oleg A. Domanov - PhD in

Philosophy, senior research fellow. Institue of Philosophy and Law, Siberian Branch of the Russian Academy of Sciences.

8 Nikolayev St., 630090, Novosibirsk, Russian Federation;

e-mail: domanov@philosophy.

The article deals with an approach to the analysis of propositional attitudes based on the type-theoretical semantics proposed by A. Ranta and originating from the type theory of P. Martin-Löf. Type-theoretical semantics contains the notion of context and tools of extracting information from it in an explicit form. This allows us to correctly formalize the dependence on contexts typical of propositional attitudes. In the article the context is presented as a dependent sum type (Record type in the proof assistant Coq). Ranta's approach is refined and applied to the analysis of Quine's phrase "Ralph believes that someone is a spy". Three variants of formalization for this phrase are described which differ in the content of contextual knowledge and the way the truth values of the phrase are derived. Contexts are connected through the function of conversion, making it possible to relate truth values. As a result, it is shown that the instruments for working with contexts provided by type-theoretical semantics allow us to avoid the problem of opacity described by Quine. Provided formalization along with proofs is coded in Coq and made freely available.

Keywords: type theory, type-theoretical semantics, propositional attitudes, P. Martin-Löf, A. Ranta, W.V.O. Quine

26

© Доманов О.А.

Одна из основных трудностей в семантике пропозициональных установок связана с тем, что в них требуется проводить оценки истинности пропозиций для субъектов с различными системами убеждений, знаний или мнений (beliefs) - истинность некоторых пропозиций будет различаться для нас, знающих, что Фосфор и Геспер это одно и то же светило, и для древних, которым это не было известно. Было предложено множество способов учесть эту зависимость от контекста, мы в данной статье рассмотрим подход, основанный на теории типов. Теоретико-типовая семантика, являющаяся применением теории типов к семантике естественных языков, предложена А. Ранта [Ranta, 1994] и опирается на интуиционистскую теорию типов П. Мартин-Лёфа [Martin-Löf, 1984; 1998]. Это не означает, однако, что эта семантика является интуиционистской. Обращение к теории Мартин-Лёфа скорее связано с её конструктивистским характером. В отличие от более традиционного теоретико-модельного подхода, в этой семантике смысл (meaning) предложения определяется не на основе соответствия формального языка некоторой модели (обычно, теоретико-множественной), а исходя из знания, которым необходимо обладать для того, чтобы утверждать истинность пропозиции, и способа, каким истинность выводится из данного знания. Объектом мнения является не пропозиция, а суждение (например, о наличии доказательства пропозиции), суждения же либо выносятся, исходя из контекста, либо сами входят в контекст. Именно явное присутствие контекстов в формализме позволяет этой семантике учесть зависимость истинностных оценок от систем убеждений, характерную для пропозициональных установок, связанных с представлением мнений (belief reports). Основные черты подхода, который будет использоваться ниже, представлены в [Ranta, 1994, p. 145 sqq.]. Я предполагаю известной теорию типов Мартин-Лёфа, а также общую идею её применения к анализу естественных языков, как она представлена у Ранта. Существуют разные варианты формализации теории типов; я буду использовать обозначения и правила из приложения A.2 книги [HoTT, p. 431-437]. Они, в частности, удобны тем, что, в отличие от варианта в книге Ранта, содержат контексты в явном виде.

Контексты и мнения

Контекстом называется последовательность суждений вида (1) Г = х. : А,, х. : А,, ..., х : А (х, ..., х ,),

4 ' 1 Р 2 2 ' п пу Р ' п-1

где х. это переменные, А. - типы, и последующие типы могут зависеть от предшествующих переменных. Каждое следующее суждение, таким образом, расширяет контекст, опираясь на суждения, уже присут-

ствующие в нём. Мартин-Лёф явным образом возводит свою теорию к феноменологии Гуссерля [Martin-Löf, 1996], поэтому суждения для него обладают очевидностью, характерной для феноменологической интенции. Если мы выносим суждение «Сократ - человек», или, более формально, «Сократ: Люди», то его очевидность основана на том, что мы вообще понимаем, что такое человек и кто такой Сократ. Таким образом, контекст - как последовательность суждений - представляет собой знание некоторого субъекта. Мы можем рассматривать контексты как контексты мнения (belief). Контекст формализует систему убеждений, которой обладает некоторый субъект. В частности, если A - множество, то x : A означает, что субъект признаёт существование элемента этого множества, если же A - пропозиция, то он признаёт существование доказательства этой пропозиции, то есть её истинность.

Для дальнейшего будет удобно представлять контекст в виде зависимой суммы. А именно, если контекст равен (1), то он может быть записан в виде следующей зависимой суммы (ср. [Ranta, 1994, p. 125-127]):

Г = ex : Ai)..: AJxp .xj)APP ... xnl).

Эта сумма является типом, и если дан терм этого типа у : Г, то переменные контекста можно представить в виде:

p(y), p(q(y)), p(. q(y)), q(. q(y)),

где p и q обозначают первую и вторую проекции суммы (Er : A)B. Таким образом, каждой переменной контекста соответствует функция Г ^A или у I-» x Я далее буду обозначать эту функцию X.(у).

В итоге, мы имеем:

Гh у : Г у : Г h *.(у) : A .(у).

Представления Г и Г эквивалентны [Ranta, 1994, p. 127], и я буду далее отождествлять контекст с типом представленной выше суммы и опускать крышку там, где это не приводит к недоразумениям. Фактически, так понятый контекст представляет собой тип кортежей переменных контекста и в системе Coq [Coq] соответствует типу данных Record.

Для задания контекста достаточно задать последовательность проекций зависимой суммы. Это позволяет нам определить функцию смены или преобразования контекста f Г^Г^ следующим образом:

у : Г h/ty): B. ... у : Г b/(y ): B

'а а J1К/а/ 1 ' а а J mx/ а' m .

-E-intro,

где

у : Г b fiy ) : ГЙ

'а a J а' р

Гß = (EУгB1).(EУm-ГBm-1(Уr.,УmJ)Bm(Уr.Уm-1),

причём

Л(Ур) = Kl) = Л^а^

(напомню, что в [HoTT] символ = обозначает суждение о равенстве или равенство по определению в отличие от пропозиционального равенства =, которое может быть доказано или опровергнуто). Как видно, мы здесь определили функции y. = fya) для каждой переменной y. типа В., затем образовали из них сумму Г, термы которой обозначили как f(ya). Тем самым мы определили функцию f позволяющую для каждого терма контекста Га построить терм контекста Г^. Если такая функция существует, то Га называется расширением Г' При этом контекст восстанавливается из своего расширения, то есть мы можем сказать, что в этом случае всё, что дано в Г, дано также и в Га (ср. [Ranta, 1994, p. 145-147]). Это позволяет предикаты, выраженные в одном контексте, перевести в другой. Таким образом, f служит функцией подстановки для переменных контекста.

Приведённые определения позволяют сформулировать правила:

1'. : Г f) : Г у„ : Г h J(7J : Г„

у„ : Г "fW : В, У, : Г H f(,,) = /)) : В, ^

Если Гр это система убеждений субъекта p, то мы можем считать, что субъект верит в истинность A, если из Гр доказуема эта истинность, то есть если у : Гр I- а(у) : A(y) (в более общем случае: субъект придерживается суждения J, если у : Гр I- J). Доказуемость для субъекта не является ясным понятием; она связана, например, со способностью данного субъекта проводить вычисления, его принятием или непринятием конкретных правил вывода и пр. Я далее буду понимать эту доказуемость как «достаточно простой» вывод из суждений контекста. К сожалению, более точное определение вряд ли возможно, но для наших рассуждений его будет достаточно1.

Таким образом, пропозиция «p верит, что A (истинно)» имеет вид (Пу : Г )A(y), а её доказательством является функция (^y)a(y), где a(y) : a(y). Это выражение можно считать доксастическим оператором «p верит, что A» (ср. [Ranta, 1994, p. 155]):

(Bp)A = (Пу : Гр)А(у).

Мы видим, что теория типов позволяет корректно и экономно формализовать зависимость истинности от контекста. Чтобы лучше оценить её возможности, рассмотрим конкретный пример, который имеет форму, аналогичную разнообразным семантическим парадоксам, известным как Frege's puzzles [Salmon, 1986]. Версию примера в Coq можно найти по адресу: https://github.com/odomanov/ttsemantics.

1 См. также различение актуально и потенциально данного в: [Ranta, 1994, р. 91].

Фраза Куайна «Ральф верит, что кто-то - шпион»

Куайн, обсуждая проблемы квантификации в доксастических контекстах, приводит пример проблематичного предложения: «Ральф верит, что кто-то - шпион» (Ralph believes that someone is a spy) [Quine, 1956]. Оно может быть понято двумя разными способами:

(2) Ральф верит, что существуют шпионы.

(3) Есть кто-то, кого Ральф считает шпионом.

В первом случае мы интерпретируем предложение de dicto, во втором - de re (хотя сам Куайн в данном тексте не употребляет эту терминологию). Проблема возникает со второй интерпретацией. Предположим, говорит Куайн, что Ральф знает одного и того же человека (по имени Бернард Дж. Орткут) в двух разных ситуациях. В одном случае он видит его мельком на пляже как уважаемого окружающими человека, о котором Ральф уверен, что он не может быть шпионом. Во втором случае он видит его несколько раз в тёмной шляпе в подозрительных ситуациях и считает шпионом, однако не узнаёт в нём человека, которого видел на пляже. Тогда при объектной интерпретации переменных мы должны, интерпретируя фразу «Ральф верит, что х шпион», подставить на место переменной Орткута. Но в этом случае фраза не может иметь определённого истинностного значения, поскольку Ральф имеет относительно Орткута противоположные убеждения в разных ситуациях (не зная, однако, об этом). Согласно Ку-айну и следуя объектной интерпретации мы можем заменять термины «человек в шляпе» и «человек на пляже» без изменения истинностного значения пропозиций (salva veritate). Но в таком случае мы либо приписываем самим себе противоречащие друг другу убеждения

(4) Ральф верит, что человек в тёмной шляпе шпион,

(5) Ральф не верит, что человек на пляже шпион,

либо оказываемся не в состоянии установить никакого отношения между Ральфом и каким-либо человеком вообще [Quine, 1956: 179]. Куайн делает вывод, что простая формализация предложения de re как (Эх )(Ральф верит, что х шпион) здесь не пригодна. Квантификация возможна по переменным внутри пропозициональных контекстов, но не снаружи. Пропозициональные установки «референциально непрозрачны».

Как эта ситуация выглядит при теоретико-типовом подходе?

Пусть Prop это тип пропозиций, man это тип людей, а spy - тип пропозициональных функций spy : man ^ Prop.

Пусть контекст Ральфа выглядит следующим образом:

(6) Гк = х h . таП Xb • таП, Xsh

Здесь xh - человек в шляпе, xb - человек на пляже, xh - доказательство того, что человек в шляпе шпион, xb - доказательство того, что человек на пляже не шпион (не может быть шпионом). То, что xh и xb служат здесь переменными, означает, что Ральф не знает, кем конкретно являются человек в шляпе и на пляже. Он, тем не менее, верит в их принадлежность или непринадлежность шпионам. Соответствующие

проекции равны: xh^) = xp ^ь(Уя) = ХМ = xh XÁYr) = Xb.

Интерпретация de dicto не вызывает проблем. Выражение

формализует предложение «Ральф верит, что существуют шпионы» или «Ральф верит, что некоторые люди шпионы». (7) истинно, и его доказательством служит пара <Xh(y), Xsh(y)> для всякого контекста Y : rR. Аналогично, истинна пропозиция

(8) : ^)(!х : man)-spy(x).

Перейдём теперь к интерпретации de re. При этой интерпретации нам требуется оценить истинность пропозиции «x шпион» в контексте Ральфа, но для объекта из «нашего» контекста. Введём поэтому контекст, который я буду называть актуальным и который соответствует «нашему» знанию, в отличие от знания Ральфа. Этот контекст может формализоваться по-разному, в зависимости от постановки задачи. Рассмотрим три варианта.

Человек в шляпе, человек на пляже

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

(9) ГА = yh : man, yb : man.

Очевидно, что в этом случае контекст Ральфа является расширением актуального. Определим поэтому функцию связи двух контекстов f: Гк ^ Г так, что y. = fJ(yI) = x. для i = h, b. Интуитивно, f переводит человека в одном контексте в «того же самого» человека в другом контексте, что соответствует тому, что мы с Ральфом интерпретируем человека в шляпе и на пляже одинаково (причём ни мы, ни Ральф не обязаны знать, кем фактически они являются).

Проверим теперь оценку «Ральф верит, что человек в шляпе (из актуального контекста) - шпион»:

(10) уд : Гк h а : spy(yh(yA)).

При определённой функции f мы имеем доказательство, изображённое на Рис. 1.

АУя) : ГА v ЯУй) : ГА п

Е-сотр ——-— Определ. у

ШУя» = ¿м : тап_7а = : ГА_

¿А) : гМ^Ся»_Фк) = УИ(УА) : тап

Уя : Гя ^ Ян^ : ^Ю) Рис. 1

Здесь, по определению, уд = Т(уа).

Таким образом, в контексте Ральфа доказуемо, что человек в шляпе из актуального контекста - шпион. Аналогично мы можем доказать, что Ральф верит, что человек на пляже из актуального контекста не может быть шпионом:

(11) Тц : Гя Ь : ^РУЩУд».

В обоих случаях при оценке мы избегаем объектной интерпретации переменных. Истинность устанавливается на основе знания, которым, как мы предполагаем, обладает Ральф и мы. Истинность пропозиций (10) и (11) не зависит от того, какие именно люди соответствуют человеку в шляпе и на пляже, важно лишь, что они интерпретируются одинаково в обоих контекстах. В частности, оценка не изменяется от того, являются ли они в актуальном контексте одним и тем же человеком или разными. По этой причине у нас, вообще говоря, нет оснований свободно менять местами в этих пропозициях выражения «человек в шляпе» и «человек на пляже», а также свободно заменять их на объект, на котором они интерпретируются, то есть на Орткута (которого, впрочем, в данном случае нет ни в том, ни в другом контексте). В результате, проблема непрозрачности не может быть даже сформулирована.

Из предыдущего мы можем получить ещё одно выражение (Рис. 2).

Уа : Га н ЧУа) : тап уя : Гя н ¿л(Уя) : гру^^ .

П-тйо - П-тйо

i- ^аж^ : га ^ таП_^

I- <

Рис. 2

Е-тИо

Оно формализует предложение «Есть кто-то (в нашем контексте), кого Ральф считает шпионом», то есть предложение Куайна de ге. Эта пропозиция, как мы видим, имеет доказательство, то есть истинна (следует напомнить: при определённой функции смены контекста).

Человек в шляпе совпадает с человеком на пляже

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

ГА = Уь : man Уь : man, yeq : yh = Уь.

В этом случае мы не можем считать, что контекст Ральфа является расширением актуального. Но мы не можем полагать и обратного, поскольку в каждом контексте имеется знание, отсутствующее в другом. Для соотнесения контекстов нам требуется выделить их общую часть, то есть промежуточный контекст, для которого два других будут расширениями. Этой общей частью будет знание о наличии двух человек (в шляпе и на пляже):

Г„. = z, : man, z. : man.

RA h ' b

Определим далее функции расширения f: ^ Гм и g: ГА ^ Г1А аналогично предыдущему, связывая переменные для одних и тех же людей: z . = f(yr) = x z . = g.(yA) = У . Тогда аналогично предыдущему мы можем доказать:

(12) YR : ГR h ХМ : W^RA^

(13) yA : ГА h AqW : fh(YRA) =

Здесь yra = fYR) = g(YA) - общий контекст, определяемый функциями расширения. Или, формулируя (12) и (13) словами: «Ральф верит, что человек в шляпе из общего контекста - шпион» и «Мы верим, что человек в шляпе из общего контекста совпадает с человеком на пляже из нашего контекста».

Суждения (12) и (13) эквивалентны следующим:

(14) h (^(yR) : (^:Г>РУ(^)х

(15) ь (^(yA) : (пА^Х^) =

Объединяя их по правилу E-intro, получим:

h w : (nYR : Г^ру(2^jra))) & Га) ^(yra) = ^(ya).

Здесь w = ((tyR)xsh(YR), (^YA)jeq(YA)). Эта пара функций представляет собой доказательство утверждения: «О человеке в шляпе в общем контексте Ральф верит, что он шпион, а мы знаем, что он совпадает с человеком на пляже из нашего контекста». Ещё раз применяя правило E-intro, получим (истинную) пропозицию

(16) Существует человек в общем контексте, такой, что Ральф верит, что он шпион, а мы знаем, что это человек на пляже (из нашего контекста).

Это вид, который принимает в нашей формализации предложение «Ральф верит, что человек на пляже - шпион», понятое de ге. Оно, как мы видим, истинно. Аналогичным образом мы можем получить (также истинную) пропозицию

(17) Существует человек в общем контексте, такой, что Ральф верит, что он - не шпион, а мы знаем, что это человек на пляже (из нашего контекста),

которая соответствует формализации de ге предложения «Ральф верит, что человек на пляже - не шпион». Как мы видим, эти формализации не противоречат друг другу, так как истинны для разных людей из общего контекста. Мы не утверждаем здесь, что Ральф одновременно имеет и не имеет одно и то же мнение об одном и том же человеке. Мы лишь утверждаем, что имеется человек, о котором мы с Ральфом имеем некоторые (возможно противоречащие друг другу) мнения. Проблема Куайна не возникает.

Что позволяет нам избежать проблем? В теоретико-типовой семантике смысл пропозиции определяется знанием, которым мы должны обладать для того, чтобы иметь право вынести суждение о её истинности. Поскольку актуальный человек на пляже может соответствовать любому из двух человек из общего контекста (и, следовательно, контекста Ральфа), то для оценки предложения «Ральф верит, что человек на пляже - шпион» мы должны знать, какой из них имеется в виду. Наша формализация делает это знание явным, что и позволяет избежать проблемы непрозрачности.

Имеется лишь один человек - Орткут

Наконец, возможен ещё один способ формализации, при котором мы предполагаем, что в актуальном контексте имеется лишь суждение о существовании Орткута, то есть некоторого конкретного человека без знания о том, является ли он человеком в шляпе или человеком с пляжа. Для того, чтобы проверить не сталкиваемся ли мы с проблемами в этом случае, нам также недостаточно двух контекстов. Мы могли бы действовать аналогично предыдущему и рассмотреть промежуточный контекст, однако я воспользуюсь случаем, чтобы продемонстрировать иной способ формализации, позволяющий проводить квантификацию по функциям смены контекста.

Итак, пусть актуальный контекст равен

(18) ГА = o : man,

где о обозначает Орткута. Мы не можем установить функцию контекста Гя ^ ГА однозначным образом, поскольку имеем два возможных варианта для о. Поэтому определим две функции

Л(К)(Уа) = ** = ЧУя) и ^(уА) = Хь = ¿ь(Ув).

Тогда мы получим

Уя : Гя ХМ : гРУ(6(Ул)) для Уа = ^)(УяX

Уя : Гя Ь ХМ : ^РУ^О^ для Ул = ^Ь)(Уя).

И после некоторых преобразований:

(19) I- (Е/: Гя-Гл)(Пуа : Гк)гру(д(/(^)),

(20) Ь (Е/: Гя-Гл)(Пуа : Гк)-гру(6(/(^))).

Формулируя словами: «Существует преобразование контекста, при котором Ральф верит, что Орткут - шпион» и «Существует преобразование контекста, при котором Ральф верит, что Орткут - не шпион».

Получили ли мы противоречие между (19) и (20)? Мы видим, что формализация не имеет простого вида «Я верю, что Ральф верит, что Орткут шпион», так что мы можем получить противоречащее ему «Я верю, что Ральф не верит, что Орткут шпион». Скорее, формализация имеет вид: «Для некоторого преобразования контекста Ральф верит, что Орткут - шпион». В последнем случае нет никакого противоречия, в том, чтобы утверждать: «Для некоторого преобразования контекста Ральф не верит, что Орткут - шпион». Зависимость истинностной оценки от предполагаемого способа перехода между контекстами становится здесь ещё более явной.

В итоге, при этой интерпретации мы также не сталкиваемся с проблемой, указанной Куайном.

Заключение

Разобранный пример демонстрирует общие подходы к разрешению Frege's puzzles. Нужно заметить, что интерпретацию предложения Ку-айна мы проводили несколькими способами. Не вполне ясно, какую из них следует считать интерпретацией de re, а также осмысленно ли здесь вообще говорить о такой интерпретации. Более корректно, по-видимому, говорить об интерпретации в смешанных контекстах. Теория типов, как мы видим, позволяет корректно работать в таких ситуациях и рассматривать референцию к одному и тому же объекту в разных контекстах. Например, мы можем добавить к актуальному контексту согласие с Ральфом в том, что человек в шляпе является шпионом:

ГА = Ун : таП Уь : таП Увц : Ун = у» Ун : 'РУ^Ун).

Это позволит сформулировать (истинную) пропозицию:

: (!£ : ГВА^тап)(ПУк : Гд)-5ру(г(уЛА)))(ПУА : ГA)SРУ(Р(W)(УRA))' то есть «Человек, о котором Ральф думает, что он не шпион, является (на самом деле, актуально) шпионом». Здесь важно подчеркнуть, что в данной формализации как мы, так и Ральф имеем в виду одного и того же человека (о котором, однако, обладаем разным знанием). При этом формализм позволяет без противоречия говорить о нём как о физически одном и том же человеке, приписывая ему, однако, разные качества и делая из этого различные выводы.

Проблемы пропозициональных установок связаны с ограничениями традиционной формализации, в свою очередь вытекающими из недостаточной ясности предположений, лежащих в её основе. Теория типов, по мысли Мартин-Лёфа, делает эти предположения максимально эксплицитными, в частности, явно учитывая зависимость от контекстов. В случае пропозициональных установок это, как мы видим, позволяет разрешить проблемы, связанные с непрозрачностью последних.

Список литературы

Martin-Löf, 1984 - Martin-Löf P. An intuitionistic type theory: Notes by Giovanni Sambin of a series of lectures given in Padua, June 1980. Napoli: Bibliopolis, 1984. 91 p.

Martin-Löf, 1996 - Martin-Löf P. On the Meanings of the Logical Constants and the Justifications of the Logical Laws // Nordic Journal of Philosophical Logic. 1996. Vol. 1. No. 1. P. 11-60.

Martin-Löf, 1998 - Martin-Löf P. An intuitionistic theory of types // Twenty-five years of constructive type theory. N. Y.: Oxford Univ. Press, 1998. P. 127-172.

Quine, 1956 - Quine W. Quantifiers and propositional attitudes // Journal of Philosophy. 1956. Vol. 53. Iss. 5. P. 177-187.

Ranta, 1994 - Ranta A. Type-theoretical grammar. Oxford: Clarendon Press, 1994. 226 pp.

Salmon, 1986 - Salmon N.U. Frege's Puzzle. Cambridge, Mass.: Bradford Books/The MIT Press, 1986. 195 p.

Coq - The Coq Proof Assistant. URL: https://coq.inria.fr/

HoTT - Univalent Foundations Program T. Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study. URL: http:// homotopytypetheory.org/book, 2013. 589 p.

References

Martin-Löf, P. An intuitionistic type theory: Notes by Giovanni Sambin of a series of lectures given in Padua, June 1980. Napoli: Bibliopolis, 1984. 91 pp.

Martin-Löf, P. "On the Meanings of the Logical Constants and the Justifications of the Logical Laws", Nordic Journal of Philosophical Logic, 1996, vol. 1, no. 1, pp. 11-60.

Martin-Löf, P. "An intuitionistic theory of types", in: Twenty-five years of constructive type theory. New York: Oxford Univ. Press, 1998, pp. 127-172.

Quine, W. "Quantifiers and propositional attitudes", Journal of Philosophy, 1956, vol. 53, iss. 5, pp. 177-187.

Ranta, A. Type-theoretical grammar. Oxford: Clarendon Press, 1994. 226 pp.

Salmon, N. U. Frege'sPuzzle. Cambridge, Mass.: Bradford Books/The MIT Press, 1986. 195 pp.

The Coq Proof Assistant. URL: https://coq.inria.fr/

Univalent Foundations Program T. Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study: http:// homotopytypetheory.org/book, 2013. 589 pp.