Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Теория типов и Базовые вычислительные формализмы и семантические стили

Лекция



Привет, Вы узнаете о том , что такое теория типов, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое теория типов, базовые вычислительные формализмы, семантические стили, вычислительные формализмы , настоятельно рекомендую прочитать все из категории Структуры данных.

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

теория типов — математически формализованная база для проектирования, анализа и изучения систем типов данных в теории языков программирования (раздел информатики). Многие программисты используют это понятие для обозначения любого аналитического труда, изучающего системы типов в языках программирования. В научных кругах под теорией типов чаще всего понимают более узкий раздел дискретной математики, в частности λ-исчисление с типами.

Современная теория типов была частично разработана в процессе разрешения парадокса Рассела и во многом базируется на работе Бертрана Рассела и Альфреда Уайтхеда «Principia mathematica» .

Теория типов и Базовые вычислительные формализмы и семантические стили

тринитаризм 1 (рис. 3), так что логические понятия,
гомотопические понятия и алгебраические структуры связаны друг с другом

Рисунок 1 Гомотопический тринитаризм как связь логических понятий, гомотопические понятия и алгебраические структуры

История возникновения теории типов

  • 1901 — парадокс Рассела

  • 1908 — первая теория типов (Рассел, Уайтхед)

  • 1900-1930 Теория множеств и порочные круги (vicious circles). Проблема импредекативности.

  • 1925 — простая теория типов Рамсея Системы “простых типов” (simply typed lambda calculus)

  • 1930-1950 Соответствие Карри-Ховарда

  • 1940 — простое типизированное λ-исчисление

  • 1950-1970 Зависимые типы. Authomath де-Брюина.

  • 1973 — конструктивная теория типов (Мартин-Леф)

  • 1980-e Теория конструкции. Множество работ по теории типов
  • 1990-e Лямбда куб (pure type systems)

Теория типов и Базовые вычислительные формализмы и семантические стили

Доктрина типов

Доктрина типов восходит к Б. Расселу, согласно которому всякий тип рассматривается как диапазон значимости пропозициональной (высказывательной) функции. Помимо того, считается, что у всякой функции имеется тип (ее домен, область определения). В доктрине типов соблюдается выполнимость принципа замены типа (высказывания) на дефинициально эквивалентный тип (высказывание).

Теория типов в логике

В основе этой теории лежит принцип иерархичности. Это означает, что логические понятия — высказывания, индивиды, пропозициональные функции — располагаются в иерархию типов. Существенно, что произвольная функция в качестве своих аргументов имеет лишь те понятия, которые предшествуют ей в иерархии.

Некоторая теория типов

Под некоторой теорией типов обычно понимают прикладную логику высших порядков, в которой имеется тип N натуральных чисел и в которой выполняются аксиомы арифметики Пеано

Разветвленная теория типов

Исторически первой предложенной теорией типов (период с 1902 по 1913) является Разветвленная теория типов (Ramified Theory of Types, RTT), построенная Уайтхедом и Расселом, и окончательно сформулированная в фундаментальной работе «Principia Mathematica». В основе данной теории лежит принцип ограничения числа случаев, когда объекты принадлежат единому типу. Явным образом объявляется восемь таких случаев и различаются две иерархии типов: (просто) «типы» и «порядки». При этом сама нотация «типа» не определена, и имеется ряд других неточностей, т.к. главным намерением было объявить неравными типы функций от разного числа аргументов или от аргументов разных типов . Неотъемлемой составляющей теории является аксиома редуцируемости.

Простая теория типов

В 1920-х Чвистек и Рамси предложили неразветвленную теорию типов, ныне известную как «Теория простых типов» или Простая теория типов (Simple Type Theory), которая сворачивает иерархию типов, устраняя необходимость в аксиоме редуцируемости.

Простая теория типов разрешала теоретико-множественные парадоксы, но семантические парадоксы второй группы, парадоксы Греллинга-Нельсона
и т.д., оставались неразрешенными, для которых Расселом и Уайтхедом была разработана разветвленная теория типов в рамках системы Principia Mathematica.

Интуиционистская теория типов

Интуиционистскую теорию типов (Intuitionistic Type Theory, ITT) построил Пер Мартин-Леф.

Интуиционистская теория типов (также известная как теория конструктивных типов или теория типов Мартина-Лефа ) - это теория типов и альтернативная основа математики . Интуиционистская теория типов была создана Пером Мартином-Лефом , шведским математиком и философом , который впервые опубликовал ее в 1972 году. Существует несколько версий теории типов: Мартин-Леф предложил как интенсиональный, так и экстенсиональный варианты теории и ранние импредикативные версии, доказанная парадоксом Жирара непоследовательность , уступила место предикативномуверсии. Однако все версии сохраняют базовую конструкцию конструктивной логики с использованием зависимых типов.

Мартин-Леф разработал теорию типов на принципах математического конструктивизма . Конструктивизм требует, чтобы любое доказательство существования содержало «свидетеля». Таким образом, любое доказательство того, что «существует простое число больше 1000», должно идентифицировать конкретное число, которое одновременно является простым и больше 1000. Интуиционистская теория типов достигла этой цели дизайна, усвоив интерпретацию BHK . Интересным следствием является то, что доказательства становятся математическими объектами, которые можно исследовать, сравнивать и манипулировать.

Конструкторы типов в интуиционистской теории типов были построены так, чтобы следовать взаимно однозначному соответствию с логическими связками. Например, логическая связка под названием импликация ( Теория типов и Базовые вычислительные формализмы и семантические стили) соответствует типу функции ( Теория типов и Базовые вычислительные формализмы и семантические стили). Это соответствие называется изоморфизмом Карри – Ховарда . Предыдущие теории типов также следовали этому изоморфизму, но Мартин-Леф был первым, кто расширил его до логики предикатов , введя зависимые типы .

Интуиционистская логика. Hет правила исключенного третьего. Любое док-во должно быть предъявлено в общем виде

Теория типов

В интуиционистской теории типов есть 3 конечных типа, которые затем составляются с использованием 5 различных конструкторов типов. В отличие от теорий множеств, теории типов не строятся на логике, подобной логике Фреге . Итак, каждая особенность теории типов выполняет двойную функцию как свойство математики и логики.

Если вы не знакомы с теорией типов и знакомы с теорией множеств, краткое изложение: Типы содержат термины так же, как множества содержат элементы. Термины относятся к одному и только одному типу. Такие термины, как Теория типов и Базовые вычислительные формализмы и семантические стили а также Теория типов и Базовые вычислительные формализмы и семантические стиливычислить ("уменьшить") до канонических терминов, например 4. Подробнее см. в статье о теории типов .

0 типа, 1 типа и 2 типа

Есть 3 конечных типа: Тип 0 содержит 0 терминов. Тип 1 содержит 1 канонический термин. А 2-й тип содержит 2 канонических термина.

Поскольку тип 0 содержит 0 терминов, он также называется пустым типом . Он используется для обозначения всего, чего не может быть. Также написано Теория типов и Базовые вычислительные формализмы и семантические стилии представляет что-либо недоказуемое. (То есть доказательства этого не может существовать.) В результате отрицание определяется как функция по отношению к нему: Теория типов и Базовые вычислительные формализмы и семантические стили.

Аналогично, тип 1 содержит 1 канонический термин и представляет существование. Об этом говорит сайт https://intellect.icu . Его еще называют типом агрегата . Он часто представляет собой утверждения, которые можно доказать, и поэтому иногда их пишут. Теория типов и Базовые вычислительные формализмы и семантические стили.

Наконец, 2-й тип содержит 2 канонических термина. Он представляет собой определенный выбор между двумя ценностями. Он используется для логических значений, но не для предложений. Предложения считаются 1-м типом, и может быть доказано, что у них никогда не будет доказательства ( тип 0 ), или они могут не быть доказаны в любом случае. ( Закон исключенного среднего не распространяется на предложения в интуиционистской теории типов.)

Чистые системы типов

Теория чистых систем типов (англ. pure type systems, PTS) обобщает все исчисления лямбда-куба и формулирует правила, позволяющие вычислить их как частные случаи. Ее независимо построили Берарди (Berardi) и Терлоу (Terlouw). Чистые системы типов оперируют только понятием типа, рассматривая все понятия других исчислений только в виде типов — потому они и называются «чистыми». Не производится разделения между термами и типами, между различными слоями (т.е. рода́ типов также называются типами, только относящимися к другой вселенной), и даже сами слои называются не сортами, а типами (точнее, вселенными типов). В общем виде, чистая система типов задается понятием спецификации, пятью жесткими правилами и двумя гибкими (меняющимися от системы к системе). Спецификация чистой системы типов представляет собой тройку (S,A,R), где S — множество сортов (Sorts), A — множество аксиом (Axioms) над этими сортами и R — множество правил (Rules).

Многомерные теории типов

Теории типов высших размерностей (англ. higher-dimensional type theories) или просто Высшие теории типов (higher type theories, HTT) обобщают традиционные теории типов, разрешая устанавливать нетривиальные отношения равенства между типами. Например, если взять множество пар (декартовых произведений) натуральных чисел nat × nat и множество функций, возвращающих натуральное число nat -> nat, то нельзя утверждать, что элементы этих множеств попарно равны, но можно утверждать, что эти множества эквивалентны. Изоморфизмы между типами и изучаются в двухмерной, трехмерной и т.д. теориях типов. Весь необходимый базис для формулировки этих теорий был заложен еще Жираром — Рейнольдсом, но сами теории были сформулированы много позже.

Гомотопическая теория типов

Гомотопическая теория типов (англ. homotopy type theory, HoTT) обобщает многомерные теории, устанавливая равенства типов на уровне топологий. В многомерных теориях понятия «эквивалентности типов» и «равенства типов» считаются различными. Радикальным нововведением гомотопической теории является аксиома унивалентности, постулирующая, что если типы топологически эквивалентны, то они топологически равны.


базовые вычислительные формализмы и семантические стили

  • λ-исчисление (функции)
  • ζ-исчисление (объекты)
  • π-исчисление (процессы)
  • Операционная семантика

1) λ-исчисление

Лямбда-исчисление (λ-исчисление) — формальная система, разработанная американским математиком Алонзо Черчем для формализации и анализа понятия вычислимости.

Чистое λ-исчисление, термы которого, называемые также объектами («обами»), или λ-термами, построены исключительно из переменных применением аппликации и абстракции. Изначально наличие каких-либо констант не предполагается.

Лямбда исчисление – самый простой и элегантный алгоритмически полный язык программирования.

  • Что является смыслом программы?
  • Что значит, что две программы равны/эквивалентны?
  • Множество (технически) сложных теорий (домены Скотта, деревья Бема и т.д.)
  • Как реализовать (запрограммировать) эти теории?

Простое типизированное лямбда исчисление. Алгоритмически неполно. Любой терм (в том числе, со свободными переменными) имеет нормальную (каноническую, “вычисленную”) форму.

Синтаксис λ-исчисления

t ::= термы:
x переменная
λx. t абстракция
t t применение

Примеры

(λx.x) z

(λx.x) ((λx.x) (λz. (λx.x) z))

Вычисление (β-редукция)

(λx.x) ((λx.x) (λz. (λx.x) z))

id (id (λz. id z))

→ id (id (λz.z))

→ id (λz.z)

→ λz.z

Теория типов и Базовые вычислительные формализмы и семантические стили

Кодирование в терминах λ-исчисления

  • Функции с несколькими аргументами (каррирование)
  • Булевские константы
  • Пары
  • Числа Черча
  • Рекурсия средствами комбинатора неподвижной точки

α-эквивалентность

Основная форма эквивалентности, определяемая в лямбда-термах, это альфа-эквивалентность. Например, Теория типов и Базовые вычислительные формализмы и семантические стили и Теория типов и Базовые вычислительные формализмы и семантические стили: альфа-эквивалентные лямбда-термы и оба представляют одну и ту же функцию (функцию тождества). Термы Теория типов и Базовые вычислительные формализмы и семантические стили и Теория типов и Базовые вычислительные формализмы и семантические стили не альфа-эквивалентны, так как они не находятся в лямбда-абстракции.

β-редукция

Поскольку выражение Теория типов и Базовые вычислительные формализмы и семантические стили обозначает функцию, ставящую в соответствие каждому Теория типов и Базовые вычислительные формализмы и семантические стили значение Теория типов и Базовые вычислительные формализмы и семантические стили, то для вычисления выражения

Теория типов и Базовые вычислительные формализмы и семантические стили,

в которое входят и аппликация и абстракция, необходимо выполнить подстановку числа 3 в терм Теория типов и Базовые вычислительные формализмы и семантические стили вместо переменной Теория типов и Базовые вычислительные формализмы и семантические стили. В результате получается Теория типов и Базовые вычислительные формализмы и семантические стили. Это соображение в общем виде записывается как

Теория типов и Базовые вычислительные формализмы и семантические стили

и носит название β-редукция. Выражение вида Теория типов и Базовые вычислительные формализмы и семантические стили, то есть применение абстракции к некому терму, называется редексом (redex). Несмотря на то, что β-редукция по сути является единственной «существенной» аксиомой λ-исчисления, она приводит к весьма содержательной и сложной теории. Вместе с ней λ-исчисление обладает свойством полноты по Тьюрингу и, следовательно, представляет собой простейший язык программирования.

η-преобразование

Теория типов и Базовые вычислительные формализмы и семантические стили-преобразование выражает ту идею, что две функции являются идентичными тогда и только тогда, когда, будучи примененными к любому аргументу, дают одинаковые результаты. Теория типов и Базовые вычислительные формализмы и семантические стили-преобразование переводит друг в друга формулы Теория типов и Базовые вычислительные формализмы и семантические стили и Теория типов и Базовые вычислительные формализмы и семантические стили (только если Теория типов и Базовые вычислительные формализмы и семантические стили не имеет свободных вхождений в {\displaystyle f}Теория типов и Базовые вычислительные формализмы и семантические стили: иначе, свободная переменная Теория типов и Базовые вычислительные формализмы и семантические стили после преобразования станет связанной внешней абстракцией или наоборот).

2) ζ-исчисление (объекты) Abadi and Cardelli's object calculus

Синтаксис ζ-исчисления

b ::= термы:
x переменная
[li = ζ(xi)bi] объекты
b.l вызов метода
b1.l⇐ ζ(x)b2 замена метода
clone(b) клонирование
let x=b1 in b2 локальное объявление

3) π-исчисления (Пи-исчисление) (процессы)

Теория типов и Базовые вычислительные формализмы и семантические стили-исчисление в теоретической информатике — исчисление процессов, изначально разработанное Робином Милнером, Иоахимом Парровом и Дэвидом Уолкером как продолжение работы над исчислением общающихся систем. Целью Теория типов и Базовые вычислительные формализмы и семантические стили-исчисления является возможность описать параллельные вычисления, конфигурация которых может меняться на протяжении вычисления.

Теория типов и Базовые вычислительные формализмы и семантические стили-исчисление принадлежит к семейству исчислений процессов. Фактически {\displaystyle \pi }Теория типов и Базовые вычислительные формализмы и семантические стили-исчисление как λ-исчисление настолько минимально, что не содержит примитивов, таких как числа, булевы выражения, структуры данных, переменные, функции или операторы управления потоком (например, if-then-else, while).

Компоненты π-исчисления

  • Канал
  • Процесс
  • Отправка сообщения
  • Получение сообщения

Синтаксис π-исчисления

P, Q, R ::= термы:
0 бездействующий процесс
x(y).P получение y из канала x и выполнение P
xy.P отправка y в канал x и выполнение P
P|Q параллельное выполнение
(νx)P создание канала
!P репликация

4) Операционная семантика

Операционная семантика описывает последовательный процесс смены состояний — абстрактная машина.


Выделение подтипов (subtyping)

  • Отношение выделения подтипов (тип, тип)
  • Подтипы в ширину
  • Подтипы в глубину
  • Поведение расширений типизированного λ-исчисления при
  • введении наследования
  • Множественность типов терма

Полиморфизм

Полиморфизм — это использование одного фрагмента программы с разными типами в разных контекстах.
Виды полиморфизма

  • Универсальный полиморфизм
    • параметрический (шаблоны)
    • полиморфизм подтипов
  • «Ad-hoc» (перегрузка)
  • Универсальные типы (всеобщность)
  • Экзистенциальные типы (сокрытие информации)
  • Ограниченная квантификация

Системы типов высших порядков

  • Операторы типов и «типы типов»
  • Полиморфизм высшего порядка
  • Выделение подтипов высшего порядка

Идеи для систем типов

  • Линеаризованные типы (ссылки без псевдонимов)
  • Типы процессов (контроль взаимоблокировок)
  • Обобщенное программирование (типы на этапе выполнения)
  • Типы в низкоуровневых языках

Отличие от теории множеств

Существует множество различных теорий множеств и множество различных систем теории типов, поэтому все, что следует ниже, является обобщением.

  • Теория множеств построена на логике. Для этого требуется отдельная система, такая как логика предикатов . В теории типов такие понятия, как «и» и «или», могут быть закодированы как типы в самой теории типов.
  • В теории множеств элемент не ограничен одним множеством. В теории типов термины (как правило) принадлежат только к одному типу. (Там, где будет использоваться подмножество, теория типов имеет тенденцию использовать функцию предиката, которая возвращает истину, если термин входит в подмножество, и возвращает ложь, если значение нет. Объединение двух типов может быть определено как новый тип, называемый суммой типа , который содержит новые термины.)
  • Теория множеств обычно кодирует числа как множества. (0 - это пустое множество, 1 - это набор, содержащий пустое множество, и т. Д. См. Теоретико-множественное определение натуральных чисел .) Теория типов может кодировать числа как функции, используя кодирование Черча, или, что более естественно, как индуктивные типы . Индуктивные типы создают новые константы для функции-преемника и нуля, что очень напоминает аксиомы Пеано .
  • Теория типов имеет простую связь с конструктивной математикой через интерпретацию BHK . Это может быть связано с логикой изоморфизмом Карри – Ховарда . А некоторые теории типов тесно связаны с теорией категорий .

Отношение к теории категорий

Хотя первоначальная мотивация теории категорий была далека от фундаментализма, оказалось, что эти две области имеют глубокую связь. Как пишет Джон Лейн Белл : «Фактически категории сами по себе могут рассматриваться как теории типов определенного вида; один этот факт указывает на то, что теория типов гораздо более тесно связана с теорией категорий, чем с теорией множеств». Короче говоря, категорию можно рассматривать как теорию типов, рассматривая ее объекты как типы (или сорта), т.е. «грубо говоря, категорию можно рассматривать как теорию типов, лишенную своего синтаксиса». Таким образом, следует ряд важных результатов:

  • декартовы замкнутые категории соответствуют типизированному λ-исчислению ( Lambek , 1970);
  • C-моноиды (категории с произведениями, экспонентами и одним нетерминальным объектом) соответствуют нетипизированному λ-исчислению (независимо наблюдаемому Ламбеком и Даной Скотт около 1980 г.);
  • локально декартовы замкнутые категории соответствуют теориям типа Мартина-Лефа (Seely, 1984).

Взаимодействие, известное как категориальная логика , с тех пор стало предметом активных исследований; см., например, монографию Джейкобса (1999).

Вау!! 😲 Ты еще не читал? Это зря!

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

создано: 2020-12-04
обновлено: 2021-03-13
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Структуры данных

Термины: Структуры данных