Теория типов
Эта статья нуждается в переработке. Пожалуйста, уточните проблему в статье с помощью более узкого шаблона. |
Теорией типов считается какая-либо формальная система, являющаяся альтернативой наивной теории множеств, сопровождаемая классификацией элементов такой системы с помощью типов, образующих некоторую иерархию. Также под теорией типов понимают изучение подобных формализмов.
Теория типов — математически формализованная база для проектирования, анализа и изучения систем типов данных в теории языков программирования (раздел информатики). Многие программисты используют это понятие для обозначения любого аналитического труда, изучающего системы типов в языках программирования. В научных кругах под теорией типов чаще всего понимают более узкий раздел дискретной математики, в частности λ-исчисление с типами.
Современная теория типов была частично разработана в процессе разрешения парадокса Рассела и во многом базируется на работе Бертрана Рассела и Альфреда Уайтхеда «Principia mathematica».
Доктрина типов
Доктрина типов восходит к Б. Расселу, согласно которому всякий тип рассматривается как диапазон значимости пропозициональной (высказывательной) функции. Помимо того, считается, что у всякой функции имеется тип (её домен, область определения). В доктрине типов соблюдается выполнимость принципа замены типа (высказывания) на дефинициально эквивалентный тип (высказывание).
Теория типов в логике
В основе этой теории лежит принцип иерархичности. Это означает, что логические понятия — высказывания, индивиды, пропозициональные функции — располагаются в иерархию типов. Существенно, что произвольная функция в качестве своих аргументов имеет лишь те понятия, которые предшествуют ей в иерархии.
Некоторая теория типов
Под некоторой теорией типов обычно понимают прикладную логику высших порядков, в которой имеется тип N натуральных чисел и в которой выполняются аксиомы арифметики Пеано[источник не указан 3189 дней].
Разветвлённая теория типов
В другом языковом разделе есть более полная статья Principia Mathematica#Ramified types and the axiom of reducibility (англ.). |
Исторически первой предложенной теорией типов (период с 1902 по 1913) является Разветвлённая теория типов (Ramified Theory of Types, RTT), построенная Уайтхедом и Расселом, и окончательно сформулированная в фундаментальной работе «Principia Mathematica». В основе данной теории лежит принцип ограничения числа случаев, когда объекты принадлежат единому типу. Явным образом объявляется восемь таких случаев и различаются две иерархии типов: (просто) «типы» и «порядки». При этом сама нотация «типа» не определена, и имеется ряд других неточностей, т.к. главным намерением было объявить неравными типы функций от разного числа аргументов или от аргументов разных типов. Неотъемлемой составляющей теории является аксиома редуцируемости.
Простая теория типов
Этот раздел нужно дополнить. |
В 1920-х Чвистек и Рамси предложили неразветвлённую теорию типов, ныне известную как «Теория простых типов» или Простая теория типов (Simple Type Theory), которая сворачивает иерархию типов, устраняя необходимость в аксиоме редуцируемости.
Интуиционистская теория типов
Этот раздел нужно дополнить. |
Интуиционистскую теорию типов (Intuitionistic Type Theory, ITT) построил Пер Мартин-Лёф.
Чистые системы типов
Теория чистых систем типов (англ. 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) обобщает многомерные теории, устанавливая равенства типов на уровне топологий. В многомерных теориях понятия «эквивалентности типов» и «равенства типов» считаются различными. Радикальным нововведением гомотопической теории является аксиома унивалентности, постулирующая, что если типы топологически эквивалентны, то они топологически равны.
Экономичная теория типов
Экономичная теория типов (англ. Cost-Aware Type Theory, CATT), сформулированная в 2020 году, расширяет функциональные типы простейшей информацией об алгоритмической сложности — количестве вычислительных шагов, требуемых для получения результата — позволяя верифицировать программы не только по смысловой корректности, но и по закладываемым ограничениям временной сложности. Это делается за счёт конструктора зависимых типов функций funtime. Формализация теории требует в том числе учёт проблемы остановки, для чего в правилах типизации требуется, чтобы рекурсивный вызов имел строго меньшую сложность, чем вызов с текущим значением аргумента. CATT позволяет при построении доказательства производить различие между «абстрактной стоимостью», включающей математические шаги (такие, как рекурсивный вызов) и «машинной стоимостью», учитывающей эффективность физически реализованных инструкций (например, что арифметические операции суммы и произведения на большинстве процессоров выполняются за одинаковое время), а также учитывать параллелизм.
См. также
- Система типов
- Типобезопасность
- Логицизм
- [англ.]
Примечания
- «Основания математики» — фундаментальный трёхтомник математической логики (Уайтхед, Альфред Н. Основания математики: В 3 т./ А. Н. Уайтхед, Б. Рассел; Под ред. Г. П. Ярового, Ю. Н. Радаева. — Самара: Изд-во «Самарский университет», 2005—2006. — ISBN 5-86465-359-4)
- Modern Perspective on Type Theory, 2004, 2b The Ramified Theory of Types RTT, с. 35.
- Barendregt, "Lambda Calculi with Types", 1992, 5.2. Pure type system, с. 96-114.
- Modern Perspective on Type Theory, 2004, 4c Pure Type Systems, с. 116.
- Пирс, 2002, с. 493.
- Harper, "Higher-Dimensional Type Theory", 2011.
- Robert Harper Research Papers. Дата обращения: 20 октября 2016. Архивировано из оригинала 30 октября 2016 года.
- Yue Niu, Robert Harper. Cost-Aware Type Theory. — Carnegie Mellon University, 2020. — arXiv:2011.03660v1.
Литература
- Jean-Yves Girard. Interprétation fonctionnelle et élimination des coupures de l’arithmétique d’ordre supérieur ( (фр.)). — Université Paris 7, 1972.
- Robin Milner. A Theory of Type Polymorphism in Programming. — [англ.], 1978. — Т. 17, вып. 3. — С. 348—375. — doi:10.1016/0022-0000(78)90014-4.
- John C. Reynolds. Theories of programming languages. — Cambridge University Press, 1998. — ISBN 978-0-521-59414-1 (hardback), 978-0-521-10697-9 (paperback).
- Henk Barendregt. Introduction to Generalized Type Systems. — 1991.
- Henk Barendregt. Lambda Calculi with Types (англ.). — Oxford University Press, 1992. — Vol. Handbook of Logic in Computer Science, vol.2. — P. 117—309.
- Benjamin Pierce. Types and Programming Languages. — MIT Press, 2002. — ISBN 0-262-16209-1.
- Перевод на русский язык: Бенджамин Пирс. Типы в языках программирования. — , 2012. — 680 с. — ISBN 978-5-7913-0082-9.
- Fariouz Kamareddine, Twan Laan, Rob Nederpelt. A Modern Perspective on Type Theory. From its Origins until Today. — Kluwer Academic Publishers, 2004. — ISBN 1-4020-2334-0 (print), 1-4020-2335-9 (eBook).
- Вольфенгаген В. Э. Методы и средства вычислений с объектами. Аппликативные вычислительные системы. — М.: JurInfoR Ltd., АО «Центр ЮрИнфоР», 2004. — xvi+789 с. ISBN 5-89158-100-0.
- [англ.]. Higher-Dimensional Type Theory. — 2011. Архивировано 13 октября 2016 года.
- [англ.]. Practical Foundations for Programming Languages. — version 1.37 (revised 01.11.2014). — licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License., 2012. — 544 с. Архивная копия от 24 октября 2015 на Wayback Machine
Ссылки
- Лекция: Теория типов и комбинаторная логика
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Теория типов, Что такое Теория типов? Что означает Теория типов?
Eta statya nuzhdaetsya v pererabotke Pozhalujsta utochnite problemu v state s pomoshyu bolee uzkogo shablona Pozhalujsta uluchshite statyu v sootvetstvii s pravilami napisaniya statej 20 iyulya 2007 Teoriej tipov schitaetsya kakaya libo formalnaya sistema yavlyayushayasya alternativoj naivnoj teorii mnozhestv soprovozhdaemaya klassifikaciej elementov takoj sistemy s pomoshyu tipov obrazuyushih nekotoruyu ierarhiyu Takzhe pod teoriej tipov ponimayut izuchenie podobnyh formalizmov Teoriya tipov matematicheski formalizovannaya baza dlya proektirovaniya analiza i izucheniya sistem tipov dannyh v teorii yazykov programmirovaniya razdel informatiki Mnogie programmisty ispolzuyut eto ponyatie dlya oboznacheniya lyubogo analiticheskogo truda izuchayushego sistemy tipov v yazykah programmirovaniya V nauchnyh krugah pod teoriej tipov chashe vsego ponimayut bolee uzkij razdel diskretnoj matematiki v chastnosti l ischislenie s tipami Sovremennaya teoriya tipov byla chastichno razrabotana v processe razresheniya paradoksa Rassela i vo mnogom baziruetsya na rabote Bertrana Rassela i Alfreda Uajtheda Principia mathematica Doktrina tipovDoktrina tipov voshodit k B Rasselu soglasno kotoromu vsyakij tip rassmatrivaetsya kak diapazon znachimosti propozicionalnoj vyskazyvatelnoj funkcii Pomimo togo schitaetsya chto u vsyakoj funkcii imeetsya tip eyo domen oblast opredeleniya V doktrine tipov soblyudaetsya vypolnimost principa zameny tipa vyskazyvaniya na definicialno ekvivalentnyj tip vyskazyvanie Teoriya tipov v logikeV osnove etoj teorii lezhit princip ierarhichnosti Eto oznachaet chto logicheskie ponyatiya vyskazyvaniya individy propozicionalnye funkcii raspolagayutsya v ierarhiyu tipov Sushestvenno chto proizvolnaya funkciya v kachestve svoih argumentov imeet lish te ponyatiya kotorye predshestvuyut ej v ierarhii Nekotoraya teoriya tipovPod nekotoroj teoriej tipov obychno ponimayut prikladnuyu logiku vysshih poryadkov v kotoroj imeetsya tip N naturalnyh chisel i v kotoroj vypolnyayutsya aksiomy arifmetiki Peano istochnik ne ukazan 3189 dnej Razvetvlyonnaya teoriya tipovV drugom yazykovom razdele est bolee polnaya statya Principia Mathematica Ramified types and the axiom of reducibility angl Vy mozhete pomoch proektu rasshiriv tekushuyu statyu s pomoshyu perevoda Istoricheski pervoj predlozhennoj teoriej tipov period s 1902 po 1913 yavlyaetsya Razvetvlyonnaya teoriya tipov Ramified Theory of Types RTT postroennaya Uajthedom i Rasselom i okonchatelno sformulirovannaya v fundamentalnoj rabote Principia Mathematica V osnove dannoj teorii lezhit princip ogranicheniya chisla sluchaev kogda obekty prinadlezhat edinomu tipu Yavnym obrazom obyavlyaetsya vosem takih sluchaev i razlichayutsya dve ierarhii tipov prosto tipy i poryadki Pri etom sama notaciya tipa ne opredelena i imeetsya ryad drugih netochnostej t k glavnym namereniem bylo obyavit neravnymi tipy funkcij ot raznogo chisla argumentov ili ot argumentov raznyh tipov Neotemlemoj sostavlyayushej teorii yavlyaetsya aksioma reduciruemosti Prostaya teoriya tipovEtot razdel nuzhno dopolnit Pozhalujsta uluchshite i dopolnite razdel 20 oktyabrya 2016 V 1920 h Chvistek i Ramsi predlozhili nerazvetvlyonnuyu teoriyu tipov nyne izvestnuyu kak Teoriya prostyh tipov ili Prostaya teoriya tipov Simple Type Theory kotoraya svorachivaet ierarhiyu tipov ustranyaya neobhodimost v aksiome reduciruemosti Intuicionistskaya teoriya tipovOsnovnaya statya Intuicionistskaya teoriya tipov angl Etot razdel nuzhno dopolnit Pozhalujsta uluchshite i dopolnite razdel 20 oktyabrya 2016 Intuicionistskuyu teoriyu tipov Intuitionistic Type Theory ITT postroil Per Martin Lyof Chistye sistemy tipovOsnovnaya statya Chistye sistemy tipov angl Teoriya chistyh sistem tipov angl pure type systems PTS obobshaet vse ischisleniya lyambda kuba i formuliruet pravila pozvolyayushie vychislit ih kak chastnye sluchai Eyo nezavisimo postroili Berardi Berardi i Terlou Terlouw Chistye sistemy tipov operiruyut tolko ponyatiem tipa rassmatrivaya vse ponyatiya drugih ischislenij tolko v vide tipov potomu oni i nazyvayutsya chistymi Ne proizvoditsya razdeleniya mezhdu termami i tipami mezhdu razlichnymi sloyami t e roda tipov takzhe nazyvayutsya tipami tolko otnosyashimisya k drugoj vselennoj i dazhe sami sloi nazyvayutsya ne a tipami tochnee vselennymi tipov V obshem vide chistaya sistema tipov zadayotsya ponyatiem specifikacii pyatyu zhyostkimi pravilami i dvumya gibkimi menyayushimisya ot sistemy k sisteme Specifikaciya chistoj sistemy tipov predstavlyaet soboj trojku S A R gde S mnozhestvo Sorts A mnozhestvo aksiom Axioms nad etimi sortami i R mnozhestvo pravil Rules Mnogomernye teorii tipovTeorii tipov vysshih razmernostej angl higher dimensional type theories ili prosto Vysshie teorii tipov higher type theories HTT obobshayut tradicionnye teorii tipov razreshaya ustanavlivat netrivialnye otnosheniya ekvivalentnosti mezhdu tipami Naprimer esli vzyat mnozhestvo par dekartovyh proizvedenij naturalnyh chisel nat nat i mnozhestvo funkcij vozvrashayushih naturalnoe chislo nat gt nat to nelzya utverzhdat chto elementy etih mnozhestv poparno ravny no mozhno utverzhdat chto eti mnozhestva ekvivalentny Izomorfizmy mezhdu tipami i izuchayutsya v dvuhmernoj tryohmernoj i t d teoriyah tipov Ves neobhodimyj bazis dlya formulirovki etih teorij byl zalozhen eshyo Zhirarom Rejnoldsom no sami teorii byli sformulirovany mnogo pozzhe Gomotopicheskaya teoriya tipovOsnovnaya statya Gomotopicheskaya teoriya tipov Gomotopicheskaya teoriya tipov angl homotopy type theory HoTT obobshaet mnogomernye teorii ustanavlivaya ravenstva tipov na urovne topologij V mnogomernyh teoriyah ponyatiya ekvivalentnosti tipov i ravenstva tipov schitayutsya razlichnymi Radikalnym novovvedeniem gomotopicheskoj teorii yavlyaetsya aksioma univalentnosti postuliruyushaya chto esli tipy topologicheski ekvivalentny to oni topologicheski ravny Ekonomichnaya teoriya tipovEkonomichnaya teoriya tipov angl Cost Aware Type Theory CATT sformulirovannaya v 2020 godu rasshiryaet funkcionalnye tipy prostejshej informaciej ob algoritmicheskoj slozhnosti kolichestve vychislitelnyh shagov trebuemyh dlya polucheniya rezultata pozvolyaya verificirovat programmy ne tolko po smyslovoj korrektnosti no i po zakladyvaemym ogranicheniyam vremennoj slozhnosti Eto delaetsya za schyot konstruktora zavisimyh tipov funkcij funtime Formalizaciya teorii trebuet v tom chisle uchyot problemy ostanovki dlya chego v pravilah tipizacii trebuetsya chtoby rekursivnyj vyzov imel strogo menshuyu slozhnost chem vyzov s tekushim znacheniem argumenta CATT pozvolyaet pri postroenii dokazatelstva proizvodit razlichie mezhdu abstraktnoj stoimostyu vklyuchayushej matematicheskie shagi takie kak rekursivnyj vyzov i mashinnoj stoimostyu uchityvayushej effektivnost fizicheski realizovannyh instrukcij naprimer chto arifmeticheskie operacii summy i proizvedeniya na bolshinstve processorov vypolnyayutsya za odinakovoe vremya a takzhe uchityvat parallelizm Sm takzheSistema tipov Tipobezopasnost Logicizm angl Primechaniya Osnovaniya matematiki fundamentalnyj tryohtomnik matematicheskoj logiki Uajthed Alfred N Osnovaniya matematiki V 3 t A N Uajthed B Rassel Pod red G P Yarovogo Yu N Radaeva Samara Izd vo Samarskij universitet 2005 2006 ISBN 5 86465 359 4 Modern Perspective on Type Theory 2004 2b The Ramified Theory of Types RTT s 35 Barendregt Lambda Calculi with Types 1992 5 2 Pure type system s 96 114 Modern Perspective on Type Theory 2004 4c Pure Type Systems s 116 Pirs 2002 s 493 Harper Higher Dimensional Type Theory 2011 Robert Harper Research Papers neopr Data obrasheniya 20 oktyabrya 2016 Arhivirovano iz originala 30 oktyabrya 2016 goda Yue Niu Robert Harper Cost Aware Type Theory Carnegie Mellon University 2020 arXiv 2011 03660v1 LiteraturaJean Yves Girard Interpretation fonctionnelle et elimination des coupures de l arithmetique d ordre superieur fr Universite Paris 7 1972 Robin Milner A Theory of Type Polymorphism in Programming angl 1978 T 17 vyp 3 S 348 375 doi 10 1016 0022 0000 78 90014 4 John C Reynolds Theories of programming languages Cambridge University Press 1998 ISBN 978 0 521 59414 1 hardback 978 0 521 10697 9 paperback Henk Barendregt Introduction to Generalized Type Systems 1991 Henk Barendregt Lambda Calculi with Types angl Oxford University Press 1992 Vol Handbook of Logic in Computer Science vol 2 P 117 309 Benjamin Pierce Types and Programming Languages MIT Press 2002 ISBN 0 262 16209 1 Perevod na russkij yazyk Bendzhamin Pirs Tipy v yazykah programmirovaniya 2012 680 s ISBN 978 5 7913 0082 9 Fariouz Kamareddine Twan Laan Rob Nederpelt A Modern Perspective on Type Theory From its Origins until Today Kluwer Academic Publishers 2004 ISBN 1 4020 2334 0 print 1 4020 2335 9 eBook Volfengagen V E Metody i sredstva vychislenij s obektami Applikativnye vychislitelnye sistemy M JurInfoR Ltd AO Centr YurInfoR 2004 xvi 789 s ISBN 5 89158 100 0 angl Higher Dimensional Type Theory 2011 Arhivirovano 13 oktyabrya 2016 goda angl Practical Foundations for Programming Languages version 1 37 revised 01 11 2014 licensed under the Creative Commons Attribution Noncommercial No Derivative Works 3 0 United States License 2012 544 s Arhivnaya kopiya ot 24 oktyabrya 2015 na Wayback MachineSsylkiLekciya Teoriya tipov i kombinatornaya logika
