妃嫔是什么意思| 1987年出生属什么| 绿色痰液是什么感染| 彤五行属什么| 梦见男朋友是什么意思| 才高八斗是什么意思| 25度天气穿什么衣服| 梦见自己掉了两颗牙齿是什么意思| 骨折喝酒有什么影响吗| 为什么总是头晕| 波立维什么时间吃最好| 什么水果对肝脏好| 什么叫透析| 空调多少匹是什么意思| 暗渡陈仓什么意思| 一喝酒就脸红是什么原因| 这是什么英文| 天恩是什么意思| cj是什么意思| 为什么有的人招蚊子| 麻雀喜欢吃什么| 势不可挡是什么意思| 脾囊肿是什么原因引起的| 梦见自己开车是什么意思| 吃什么鱼最健康| 舌苔重是什么原因| 丙申五行属什么| 20年是什么婚| 男士检查精子挂什么科| 老生常谈是什么意思| 你最喜欢的食物是什么| 脚指甲盖凹凸不平是什么原因| llc是什么意思| 小叶增生和乳腺增生有什么区别| 石家庄为什么叫国际庄| 什么地赶来| 指南针为什么不叫指北针| 白头翁幼鸟吃什么| 什么心什么胆| 火气太旺是什么原因| 静脉曲张做什么检查| 福星贵人是什么意思| 前白蛋白高是什么意思| 送巧克力代表什么意思| 阑尾炎看什么科室| 三个火字念什么| hcg阴性是什么意思| 搞破鞋是什么意思| 正品行货是什么意思| 额头和下巴长痘痘是什么原因| 匚读什么| 宫颈光滑说明什么| 文号是什么| 心跳慢吃什么药| 痰湿吃什么食物| 辐照食品什么意思| 女性喝什么茶最好| 内裤发霉是什么原因| 不加一笔是什么字| 痔疮吃什么| 重阳节应该吃什么| 双侧输尿管不扩张是什么意思| hicon是什么牌子| 什么一刻值千金花有清香月有阴| ih医学上是什么意思| 砍单是什么意思| 1978属什么| 消炎药都有什么| 盗汗挂什么科| tl是什么意思| 渗透压低是什么意思| 史记是什么体史书| 无以言表什么意思| 掉头发严重吃什么东西可以改善| 1月30号是什么星座| 孙俪什么学历| 长得标致是什么意思| 男人的精子对女人有什么好处| 竹荪是什么| 打九价是什么意思| vaude是什么品牌| 异常白细胞形态检查是查什么病| 尿糖一个加号是什么意思| 禾字五行属什么| 冰岛茶属于什么茶| 什么的森林| 天津市市长什么级别| 舞蹈考级有什么用| 肉蔻是什么样子| 为什么要小心AB型血的人| 圣诞节的礼物什么时候送| 乙型肝炎e抗体阳性是什么意思| 乌冬面为什么叫乌冬面| 全科是什么科| 疱疹是一种什么病| 什么时候中秋节| 红豆生南国什么意思| 公分是什么意思| 政协主席什么级别| 床头上面挂什么画好| 有氧运动和无氧运动有什么区别| 长大做什么| 心动过缓是什么意思| 黄金分割点是什么| 林黛玉是个什么样的人| 嘴巴周围长痘痘是什么原因| 钾高吃什么药| 腋下淋巴结肿大挂什么科| 猴子偷桃是什么意思| 超体2什么时候上映| 眼皮肿是什么原因| 手掌纹路多且杂乱是为什么| 小孩牙疼吃什么药| 夏季热是什么病| 王字旁加己念什么| 阴囊潮湿吃什么药好| 牛肉排酸是什么意思| 车仔面为什么叫车仔面| 做梦捡到钱是什么意思| 补办医保卡去什么地方| 甲状腺结节是什么原因引起的| 可否是什么意思| 相亲是什么意思| 古字五行属什么| bosco是什么意思| 一落千丈是什么生肖| 皮肤长癣是什么原因| moda是什么牌子| 甲亢吃什么盐好| 桢字五行属什么| 原研药是什么意思| 上呼吸道感染吃什么消炎药| 血糖高吃什么水果降糖| 脸油油的是什么原因| 指甲发青是什么原因| 樱花的花语是什么| 肝内脂质沉积是什么意思| 心脏呈逆钟向转位什么意思| mopar是什么牌子| 立冬吃什么东西| 手机的英文是什么| 阴囊潮湿什么原因| cro公司是什么意思| 经常吃南瓜有什么好处和坏处| 新陈代谢是什么| 瑾字属于五行属什么| 腺苷脱氨酶高什么意思| 抽烟打嗝是什么情况| 澳门有什么好玩的地方| 床咚是什么意思啊| 眼睛不能见光是什么病| 鸡冠油是什么| 一路顺风是什么生肖| 马革裹尸什么意思| 44岁属什么| 十八岁是什么年华| 脱发是什么原因引起的| 抗磷脂综合征是什么病| 宾至如归是什么意思| 肾上腺分泌什么激素| ad什么时候吃最好| 叠是什么意思| 5月11日是什么星座| 霍山石斛有什么功效| 5月20是什么星座| 人口基数是什么意思| 支原体感染吃什么食物好| 鲜为人知是什么意思| 无极是什么意思| 今年温度为什么这么高| 为什么明星整牙那么快| 小腿冰凉是什么原因| 弥陀是什么意思| 丰盈是什么意思| 海马是什么类动物| 此言念什么| 肌酐高可以吃什么水果| 左眼皮跳是什么预兆呢| 胆红素高说明什么| 固执的人是什么性格| 国师代表什么生肖| 五月21号是什么星座| 肺气囊是什么病| 妒忌什么意思| 芭蕉和香蕉有什么区别| 婴儿吃手是什么原因| 空气湿度是什么意思| 左眉毛上有痣代表什么| 胃酸的主要成分是什么| 喝酒为什么会脸红| 什么声什么气| 电是什么| 醒面是什么意思| 失业是什么意思| 清炖鸡放什么调料| 移花接木什么意思| pet-ct主要检查什么| 小猫什么时候断奶| 血糖高喝酒有什么影响| 承五行属性是什么| 米干是什么| bell什么意思| puppies什么意思| 辣椒炒肉用什么辣椒| 罘是什么意思| 做腹部彩超挂什么科| 三伏天从什么时候开始| 睡觉一直做梦是什么原因| 三七粉主要治什么病| 身份证借给别人有什么危害性| 高血压检查什么项目| 梦见好多死鱼是什么意思| 夹腿综合症是什么| fpa是什么意思| 什么疾什么快| ed2k用什么下载| 嗜睡是什么症状| 癫狂是什么意思| 什么是阳光抑郁症| 天罗地网是什么生肖| 语迟则人贵是什么意思| 塞屁股的退烧药叫什么| 低压高用什么药| 一什么窗| 97年属什么生肖| 气道高反应是什么意思| 517是什么意思| 女性尿酸高有什么症状表现| 右腿麻木是什么原因| 手机为什么没信号| 心心念念是什么意思| 脚后跟疼痛是什么原因| 天天睡不着觉什么原因| 4月4日什么星座| nt检查需要注意什么| 打边炉是什么| 北京户口有什么好处| 为什么剪指甲不会疼| 发烧一直不退是什么原因| 为什么会长黑头| 胎儿头位是什么意思| 毛重是什么| 香肠炒什么菜好吃| 诸多是什么意思| 为什么不能抖腿| 双子座男生喜欢什么样的女生| 姐夫的爸爸叫什么| 女生为什么喊你男神| 转学需要什么手续| 朝鲜战争的起因是什么| 杨贵妃属什么生肖| 手背发黄是什么原因| 流鼻涕咳嗽吃什么药| 女人脸肿是什么原因引起的| 为什么月经迟迟不来| 奶盖是什么| 亲额头代表什么意思| 怀孕分泌物是什么颜色| 晨尿泡沫多是什么原因| 家里出现蟑螂预示什么| 什么是黄体破裂| 三点水加四读什么| 黄雀是什么鸟| 试金石是什么意思| 百度Jump to content

奥芬巴赫歌剧《莱茵河的水精灵》将在匈牙利首演(1)

From Wikipedia, the free encyclopedia
百度 心动告白计划向全世界年轻人征集美食告白,只要你有动人心弦的情感故事、感人至深的美食记忆,就可以通过留言的方式讲给节目组听,更有机会成为节目中的幸运儿,在明星的帮助下用美食完成自己的许愿书,不让青春抱憾。

Intuitionistic type theory (also known as constructive type theory, or Martin-L?f type theory (MLTT)) is a type theory and an alternative foundation of mathematics. Intuitionistic type theory was created by Per Martin-L?f, a Swedish mathematician and philosopher, who first published it in 1972. There are multiple versions of the type theory: Martin-L?f proposed both intensional and extensional variants of the theory and early impredicative versions, shown to be inconsistent by Girard's paradox, gave way to predicative versions. However, all versions keep the core design of constructive logic using dependent types.

Design

[edit]

Martin-L?f designed the type theory on the principles of mathematical constructivism. Constructivism requires any existence proof to contain a "witness". So, any proof of "there exists a prime greater than 1000" must identify a specific number that is both prime and greater than 1000. Intuitionistic type theory accomplished this design goal by internalizing the BHK interpretation. A useful consequence is that proofs become mathematical objects that can be examined, compared, and manipulated.

Intuitionistic type theory's type constructors were built to follow a one-to-one correspondence with logical connectives. For example, the logical connective called implication () corresponds to the type of a function (). This correspondence is called the Curry–Howard isomorphism. Prior type theories had also followed this isomorphism, but Martin-L?f's was the first to extend it to predicate logic by introducing dependent types.

Type theory

[edit]

A type theory is a kind of mathematical ontology, or foundation, describing the fundamental objects that exist. In the standard foundation, set theory combined with mathematical logic, the fundamental object is the set, which is a container that contains elements. In type theory, the fundamental object is the term, each of which belongs to one and only one type.

Intuitionistic type theory has three finite types, which are then composed using five different type constructors. Unlike set theories, type theories are not built on top of a logic like Frege's. So, each feature of the type theory does double duty as a feature of both math and logic.

0 type, 1 type and 2 type

[edit]

There are three finite types: The 0 type contains no terms. The 1 type contains one canonical term. The 2 type contains two canonical terms.

Because the 0 type contains no terms, it is also called the empty type. It is used to represent anything that cannot exist. It is also written and represents anything unprovable (that is, a proof of it cannot exist). As a result, negation is defined as a function to it: .

Likewise, the 1 type contains one canonical term and represents existence. It also is called the unit type.

Finally, the 2 type contains two canonical terms. It represents a definite choice between two values. It is used for Boolean values but not propositions.

Propositions are instead represented by particular types. For instance, a true proposition can be represented by the 1 type, while a false proposition can be represented by the 0 type. But we cannot assert that these are the only propositions, i.e. the law of excluded middle does not hold for propositions in intuitionistic type theory.

Σ type constructor

[edit]

Σ-types contain ordered pairs. As with typical ordered pair (or 2-tuple) types, a Σ-type can describe the Cartesian product, , of two other types, and . Logically, such an ordered pair would hold a proof of and a proof of , so one may see such a type written as .

Σ-types are more powerful than typical ordered pair types because of dependent typing. In the ordered pair, the type of the second term can depend on the value of the first term. For example, the first term of the pair might be a natural number and the second term's type might be a sequence of reals of length equal to the first term. Such a type would be written:

Using set-theory terminology, this is similar to an indexed disjoint union of sets. In the case of the usual cartesian product, the type of the second term does not depend on the value of the first term. Thus the type describing the cartesian product is written:

It is important to note here that the value of the first term, , is not depended on by the type of the second term, .

Σ-types can be used to build up longer dependently-typed tuples used in mathematics and the records or structs used in most programming languages. An example of a dependently-typed 3-tuple is two integers and a proof that the first integer is smaller than the second integer, described by the type:

Dependent typing allows Σ-types to serve the role of existential quantifier. The statement "there exists an of type , such that is proven" becomes the type of ordered pairs where the first item is the value of type and the second item is a proof of . Notice that the type of the second item (proofs of ) depends on the value in the first part of the ordered pair (). Its type would be:

Π type constructor

[edit]

Π-types contain functions. As with typical function types, they consist of an input type and an output type. They are more powerful than typical function types however, in that the return type can depend on the input value. Functions in type theory are different from set theory. In set theory, you look up the argument's value in a set of ordered pairs. In type theory, the argument is substituted into a term and then computation ("reduction") is applied to the term.

As an example, the type of a function that, given a natural number , returns a vector containing real numbers is written:

When the output type does not depend on the input value, the function type is often simply written with a . Thus, is the type of functions from natural numbers to real numbers. Such Π-types correspond to logical implication. The logical proposition corresponds to the type , containing functions that take proofs-of-A and return proofs-of-B. This type could be written more consistently as:

Π-types are also used in logic for universal quantification. The statement "for every of type , is proven" becomes a function from of type to proofs of . Thus, given the value for the function generates a proof that holds for that value. The type would be

= type constructor

[edit]

=-types are created from two terms. Given two terms like and , you can create a new type . The terms of that new type represent proofs that the pair reduce to the same canonical term. Thus, since both and compute to the canonical term , there will be a term of the type . In intuitionistic type theory, there is a single way to introduce =-types and that is by reflexivity:

It is possible to create =-types such as where the terms do not reduce to the same canonical term, but you will be unable to create terms of that new type. In fact, if you were able to create a term of , you could create a term of . Putting that into a function would generate a function of type . Since is how intuitionistic type theory defines negation, you would have or, finally, .

Equality of proofs is an area of active research in proof theory and has led to the development of homotopy type theory and other type theories.

Inductive types

[edit]

Inductive types allow the creation of complex, self-referential types. For example, a linked list of natural numbers is either an empty list or a pair of a natural number and another linked list. Inductive types can be used to define unbounded mathematical structures like trees, graphs, etc.. In fact, the natural numbers type may be defined as an inductive type, either being or the successor of another natural number.

Inductive types define new constants, such as zero and the successor function . Since does not have a definition and cannot be evaluated using substitution, terms like and become the canonical terms of the natural numbers.

Proofs on inductive types are made possible by induction. Each new inductive type comes with its own inductive rule. To prove a predicate for every natural number, you use the following rule:

Inductive types in intuitionistic type theory are defined in terms of W-types, the type of well-founded trees. Later work in type theory generated coinductive types, induction-recursion, and induction-induction for working on types with more obscure kinds of self-referentiality. Higher inductive types allow equality to be defined between terms.

Universe types

[edit]

The universe types allow proofs to be written about all the types created with the other type constructors. Every term in the universe type can be mapped to a type created with any combination of and the inductive type constructor. However, to avoid paradoxes, there is no term in that maps to for any .[1]

To write proofs about all "the small types" and , you must use , which does contain a term for , but not for itself . Similarly, for . There is a predicative hierarchy of universes, so to quantify a proof over any fixed constant universes, you can use .

Universe types are a tricky feature of type theories. Martin-L?f's original type theory had to be changed to account for Girard's paradox. Later research covered topics such as "super universes", "Mahlo universes", and impredicative universes.

Judgements

[edit]

The formal definition of intuitionistic type theory is written using judgements. For example, in the statement "if is a type and is a type then is a type" there are judgements of "is a type", "and", and "if ... then ...". The expression is not a judgement; it is the type being defined.

This second level of the type theory can be confusing, particularly where it comes to equality. There is a judgement of term equality, which might say . It is a statement that two terms reduce to the same canonical term. There is also a judgement of type equality, say that , which means every element of is an element of the type and vice versa. At the type level, there is a type and it contains terms if there is a proof that and reduce to the same value. (Terms of this type are generated using the term-equality judgement.) Lastly, there is an English-language level of equality, because we use the word "four" and symbol "" to refer to the canonical term . Synonyms like these are called "definitionally equal" by Martin-L?f.

The description of judgements below is based on the discussion in Nordstr?m, Petersson, and Smith.

The formal theory works with types and objects.

A type is declared by:

An object exists and is in a type if:

Objects can be equal

and types can be equal

A type that depends on an object from another type is declared

and removed by substitution

  • , replacing the variable with the object in .

An object that depends on an object from another type can be done two ways. If the object is "abstracted", then it is written

and removed by substitution

  • , replacing the variable with the object in .

The object-depending-on-object can also be declared as a constant as part of a recursive type. An example of a recursive type is:

Here, is a constant object-depending-on-object. It is not associated with an abstraction. Constants like can be removed by defining equality. Here the relationship with addition is defined using equality and using pattern matching to handle the recursive aspect of :

is manipulated as an opaque constant - it has no internal structure for substitution.

So, objects and types and these relations are used to express formulae in the theory. The following styles of judgements are used to create new objects, types and relations from existing ones:

σ is a well-formed type in the context Γ.
t is a well-formed term of type σ in context Γ.
σ and τ are equal types in context Γ.
t and u are judgmentally equal terms of type σ in context Γ.
Γ is a well-formed context of typing assumptions.

By convention, there is a type that represents all other types. It is called (or ). Since is a type, the members of it are objects. There is a dependent type that maps each object to its corresponding type. In most texts is never written. From the context of the statement, a reader can almost always tell whether refers to a type, or whether it refers to the object in that corresponds to the type.

This is the complete foundation of the theory. Everything else is derived.

To implement logic, each proposition is given its own type. The objects in those types represent the different possible ways to prove the proposition. If there is no proof for the proposition, then the type has no objects in it. Operators like "and" and "or" that work on propositions introduce new types and new objects. So is a type that depends on the type and the type . The objects in that dependent type are defined to exist for every pair of objects in and . If either or have no proof and is an empty type, then the new type representing is also empty.

This can be done for other types (booleans, natural numbers, etc.) and their operators.

Categorical models of type theory

[edit]

Using the language of category theory, R. A. G. Seely introduced the notion of a locally cartesian closed category (LCCC) as the basic model of type theory. This has been refined by Hofmann and Dybjer to Categories with Families or Categories with Attributes based on earlier work by Cartmell.[2]

A category with families is a category C of contexts (in which the objects are contexts, and the context morphisms are substitutions), together with a functor T : CopFam(Set).

Fam(Set) is the category of families of Sets, in which objects are pairs ?? of an "index set" A and a function B: XA, and morphisms are pairs of functions f : AA' and g : XX' , such that B' ° g = f ° B – in other words, f maps Ba to Bg(a).

The functor T assigns to a context G a set ?? of types, and for each ??, a set ?? of terms. The axioms for a functor require that these play harmoniously with substitution. Substitution is usually written in the form Af or af, where A is a type in ?? and a is a term in ??, and f is a substitution from D to G. Here ?? and ??.

The category C must contain a terminal object (the empty context), and a final object for a form of product called comprehension, or context extension, in which the right element is a type in the context of the left element. If G is a context, and ??, then there should be an object ?? final among contexts D with mappings p : DG, q : Tm(D,Ap).

A logical framework, such as Martin-L?f's, takes the form of closure conditions on the context-dependent sets of types and terms: that there should be a type called Set, and for each set a type, that the types should be closed under forms of dependent sum and product, and so forth.

A theory such as that of predicative set theory expresses closure conditions on the types of sets and their elements: that they should be closed under operations that reflect dependent sum and product, and under various forms of inductive definition.

Extensional versus intensional

[edit]

A fundamental distinction is extensional vs intensional type theory. In extensional type theory, definitional (i.e., computational) equality is not distinguished from propositional equality, which requires proof. As a consequence type checking becomes undecidable in extensional type theory because programs in the theory might not terminate. For example, such a theory allows one to give a type to the Y-combinator; a detailed example of this can be found in Nordst?m and Petersson Programming in Martin-L?f's Type Theory.[3] However, this does not prevent extensional type theory from being a basis for a practical tool; for example, Nuprl is based on extensional type theory.

In contrast, in intensional type theory type checking is decidable, but the representation of standard mathematical concepts is somewhat more cumbersome, since intensional reasoning requires using setoids or similar constructions. There are many common mathematical objects that are hard to work with or cannot be represented without this, for example, integer numbers, rational numbers, and real numbers. Integers and rational numbers can be represented without setoids, but this representation is difficult to work with. Cauchy real numbers cannot be represented without this.[4]

Homotopy type theory works on resolving this problem. It allows one to define higher inductive types, which not only define first-order constructors (values or points), but higher-order constructors, i.e. equalities between elements (paths), equalities between equalities (homotopies), ad infinitum.

Implementations of type theory

[edit]

Different forms of type theory have been implemented as the formal systems underlying a number of proof assistants. While many are based on Per Martin-L?f's ideas, many have added features, more axioms, or a different philosophical background. For instance, the Nuprl system is based on computational type theory[5] and Coq is based on the calculus of (co)inductive constructions. Dependent types also feature in the design of programming languages such as ATS, Cayenne, Epigram, Agda,[6] and Idris.[7]

Martin-L?f type theories

[edit]

Per Martin-L?f constructed several type theories that were published at various times, some of them much later than when the preprints with their description became accessible to specialists (among others Jean-Yves Girard and Giovanni Sambin). The list below attempts to list all the theories that have been described in a printed form and to sketch the key features that distinguished them from each other. All of these theories had dependent products, dependent sums, disjoint unions, finite types and natural numbers. All the theories had the same reduction rules that did not include η-reduction either for dependent products or for dependent sums, except for MLTT79 where the η-reduction for dependent products is added.

MLTT71 was the first type theory created by Per Martin-L?f. It appeared in a preprint in 1971. It had one universe, but this universe had a name in itself, i.e., it was a type theory with, as it is called today, "Type in Type". Jean-Yves Girard has shown that this system was inconsistent, and the preprint was never published.

MLTT72 was presented in a 1972 preprint that has now been published.[8] That theory had one universe V and no identity types (=-types). The universe was "predicative" in the sense that the dependent product of a family of objects from V over an object that was not in V such as, for example, V itself, was not assumed to be in V. The universe was à la Russell's Principia Mathematica, i.e., one would write directly "T∈V" and "t∈T" (Martin-L?f uses the sign "∈" instead of modern ":") without an added constructor such as "El".

MLTT73 was the first definition of a type theory that Per Martin-L?f published (it was presented at the Logic Colloquium '73 and published in 1975[9]). There are identity types, which he describes as "propositions", but since no real distinction between propositions and the rest of the types is introduced the meaning of this is unclear. There is what later acquires the name of J-eliminator but yet without a name (see pp. 94–95). There is in this theory an infinite sequence of universes V0, ..., Vn, ...?. The universes are predicative, à la Russell and non-cumulative. In fact, Corollary 3.10 on p. 115 says that if A∈Vm and B∈Vn are such that A and B are convertible then m?=?n.

MLTT79 was presented in 1979 and published in 1982.[10] In this paper, Martin-L?f introduced the four basic types of judgement for the dependent type theory that has since become fundamental in the study of the meta-theory of such systems. He also introduced contexts as a separate concept in it (see p. 161). There are identity types with the J-eliminator (which already appeared in MLTT73 but did not have this name there) but also with the rule that makes the theory "extensional" (p. 169). There are W-types. There is an infinite sequence of predicative universes that are cumulative.

Bibliopolis: there is a discussion of a type theory in the Bibliopolis book from 1984,[11] but it is somewhat open-ended and does not seem to represent a particular set of choices and so there is no specific type theory associated with it.

See also

[edit]

Notes

[edit]
  1. ^ Bertot, Yves; Castéran, Pierre (2004). Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Texts in theoretical computer science. Berlin Heidelberg: Springer. ISBN 978-3-540-20854-9.
  2. ^ Clairambault, Pierre; Dybjer, Peter (2014). "The biequivalence of locally cartesian closed categories and Martin-L?f type theories". Mathematical Structures in Computer Science. 24 (6). arXiv:1112.3456. doi:10.1017/S0960129513000881. ISSN 0960-1295. S2CID 416274.
  3. ^ Bengt Nordstr?m; Kent Petersson; Jan M. Smith (1990). Programming in Martin-L?f's Type Theory. Oxford University Press, p. 90.
  4. ^ Altenkirch, Thorsten; Anberrée, Thomas; Li, Nuo. Definable Quotients in Type Theory (PDF) (Report). Archived from the original (PDF) on 2025-08-07.
  5. ^ Allen, S.F.; Bickford, M.; Constable, R.L.; Eaton, R.; Kreitz, C.; Lorigo, L.; Moran, E. (2006). "Innovations in computational type theory using Nuprl". Journal of Applied Logic. 4 (4): 428–469. doi:10.1016/j.jal.2005.10.005.
  6. ^ Norell, Ulf (2009). "Dependently typed programming in Agda". Proceedings of the 4th international workshop on Types in language design and implementation. TLDI '09. New York, NY, USA: ACM. pp. 1–2. CiteSeerX 10.1.1.163.7149. doi:10.1145/1481861.1481862. ISBN 9781605584201. S2CID 1777213.
  7. ^ Brady, Edwin (2013). "Idris, a general-purpose dependently typed programming language: Design and implementation". Journal of Functional Programming. 23 (5): 552–593. doi:10.1017/S095679681300018X. ISSN 0956-7968. S2CID 19895964.
  8. ^ Martin-L?f, Per (1998). An intuitionistic theory of types, Twenty-five years of constructive type theory (Venice,1995). Oxford Logic Guides. Vol. 36. New York: Oxford University Press. pp. 127–172.
  9. ^ Martin-L?f, Per (1975). "An intuitionistic theory of types: predicative part". Studies in Logic and the Foundations of Mathematics. Logic Colloquium '73 (Bristol, 1973). Vol. 80. Amsterdam: North-Holland. pp. 73–118.
  10. ^ Martin-L?f, Per (1982). "Constructive mathematics and computer programming". Studies in Logic and the Foundations of Mathematics. Logic, methodology and philosophy of science, VI (Hannover, 1979). Vol. 104. Amsterdam: North-Holland. pp. 153–175.
  11. ^ Martin-L?f, Per (1984). Intuitionistic type theory, Studies in Proof Theory (lecture notes by Giovanni Sambin). Vol. 1. Bibliopolis. pp. iv, 91.

References

[edit]

Further reading

[edit]
[edit]
奶水不足吃什么 腿肿应该挂什么科 什么是比热容 孩子总爱哭是什么原因 胆红素高是什么原因
血便是什么原因引起的 囗苦是什么原因 善良是什么 三千烦恼丝什么意思 小便黄是什么原因
官杀混杂是什么意思 甲基是什么 头发一半白一半黑是什么原因 grace什么意思中文 艾叶泡脚有什么好处
乙肝肝炎表面抗体阳性是什么意思 一个虫一个卑念什么 吃饭快的人是什么性格 说话快的人什么性格 姐姐的女儿叫什么
什么是自我hcv8jop3ns8r.cn 左眼皮老跳是什么原因beikeqingting.com 市辖区是什么意思hcv9jop0ns2r.cn 前年是什么年hcv9jop1ns8r.cn 7月30日什么星座aiwuzhiyu.com
祛斑产品什么好hcv9jop0ns3r.cn 莲子心有什么功效hcv8jop8ns7r.cn 咳嗽有痰吃什么药效果好hcv8jop0ns9r.cn 深水炸弹什么意思hcv8jop4ns7r.cn 什么是心率hcv8jop7ns8r.cn
室上速是什么病hcv9jop6ns7r.cn 黑手是什么意思hcv9jop1ns5r.cn 小产吃什么好恢复营养hcv8jop9ns6r.cn 属狗和什么属相最配hcv9jop7ns5r.cn 印度是什么教hcv8jop1ns2r.cn
张良为什么不救韩信wuhaiwuya.com 脖子黑是什么原因hcv8jop5ns6r.cn 睾丸扭转是什么导致的hcv7jop6ns1r.cn 割包皮去医院挂什么科hcv8jop5ns5r.cn 扶她是什么意思hcv8jop5ns4r.cn
百度