| P. Martin-Lof. Constructive Mathematics and Computer Programming. In Logic, Methodology and Philosophy of Science, volume VI, pages 153-175. North Holland, 1979. |
....an extension of Martin L of type theory where the inductive recursive nature of this and other de nitions is formalized. In this way we hope to help clarify the reason why it is an acceptable notion from the point of view of intuitionistic meaning explanations in the sense of Martin L of [14, 16, 15]. First recall that for the case of the simply typed lambda calculus the Taitcomputability predicates A are predicates on terms of type A which are de ned by recursion on the structure of A. We read A (a) as a is a computable term of type A . To match Martin L of s de nition [17] we consider ....
P. Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science, VI, 1979, pages 153-175. North-Holland, 1982.
....its treatment of equality. In Coq s Calculus of Constructions, for example, there is a single global equality relation which is not the desired one for many types (e.g. function types) The desired equalities have to be handled explicitly, which is quite burdensome. As in Martin L of type theory [17] (of which NuPRL type theory is an extension) in NuPRL each type comes with its own equality relation (the extensional one in the case of functions) and the typing rules guarantee that well typed terms respect these equalities. Semantically, a quotient in NuPRL is trivial to de ne: it is simply ....
Per Martin-Lof. Constructive mathematics and computer programming. In Proceedings of the Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153-175, Amsterdam, 1982. North Holland.
....types are taken to be predicates, which therefore denote sets (or some variant thereof, such as domains) However, many advocates of this view are more proof theoretically inclined, and hence might resist such denotations. Perhaps the best known work along this line is Martin Lof s type theory [44], which also provides dependent types, as implemented in Pebble [5] and other languages. Note that type theory is not a general theory of types, but rather a specific intuitionistic logic which provides one specific notion of type) Although much effort has been put into the types as sets ....
Per Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science VI, pages 153--175. North-Holand, 1982.
....there is considerable precedent for such augmentations of the type system. For example, Lucassen and Gifford introduce state into functions using the type system to declare whether functions are free of side effects [65] Martin Lf introduces dependent types, in which types are indexed by terms [70]. Xi uses dependent types to augment the type system to include array sizes, and uses type resolution to annotate programs that do not need dynamic array bounds checking [88] The technique uses singleton types instead of general terms [37] to help avoid undecidability. While much of the ....
P. Martin-Lf, "Constructive Mathematics and Computer Programming," in Logic, Methodology, and Philosophy of Science VI, pp. 153-175, North-Holland, 1980.
....is used to determine the admissibility of inductive de nitions, using positive type pointers that is, terms that specify the positive occurrence of parameters in recursive de nitions. In Section 4 we represent inductive types using Martin L of s type constructor for wellorderings (W types) see [14, 15] and chapter 15 of [18] extending the work by Dybjer [10] This solution has the disadvantage that structurally equal elements of a W type are not always convertible, thus making the W type representation only extensionally isomorphic to the desired inductive type. Alternatively, we can ....
.... Wellorderings (also called W types) are types of trees speci ed by a type of nodes A and, for every element a of A, a type of branches (B a) This means that every node labelled with the element a has as many branches as the elements of (B a) Wellorderings were introduced by Martin L of [14, 15] and used by Dybjer [10] to encode all inductive types obtained from strictly positive operators. Here we extend Dybjer s construction to strongly positive operators. De nition 3. Let A : and B : A . The type W(A;B) is de ned by the rules formation W(A;B) introduction a : A f : B a) ....
Per Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science, VI,
....Although Coq is based on the Extended Calculus of Constructions (see [15] everything could be formalized in a weaker system. Any Pure Type System that is at least as expressive as P (see [2] endowed with inductive types (see [22] or Martin L of s Type Theory with at least two universes (see [16], 17] or [19] is enough. We assume that we have two universes of types s for sets and p for propositions (Set and Prop in the syntax of Coq) and that they both belong to the higher universe 2 (Type in Coq) The product type x : A:B is written using Coq notation (x : A)B. If B : p ....
....will be the argument of a future paper. Here we adopt a solution that represents every inductive type by a type of trees. Solution using Wellorderings. W types are a type theoretic implementation or the notion of well orderings as well founded trees. They were introduced by Per Martin L of in [16] (see also [17] and [19] chapter 15) Suppose that we want to de ne a type of trees such that the nodes of the trees are labeled by elements of the type B, and for each node labeled by an element b : B, the branches stemming from the node are labeled by the elements of a set (C b) i.e. the ....
Per Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science, VI,
....a given type system, if there exists, for some type oe, a derivation of Gamma e : oe, in this type system. In this work, we present some examples of type systems that support the definition of constructs used in modern programming languages. Some recent research topics, like dependent types [ML78, ML84, Mac86, C 86, CH88] intersection types [Jim96] impredicative polymorphism [Gir71, Gir89, Rey74] and works related with module systems [HL94, Mac85, MTH90, Mac86, MMM91] will not be treated here. It should be noted that formal systems can be used to define not only types, but also ....
....for a typing formula Gamma p : oe, for some oe, where Gamma is a context containing typings for predefined terms of the language. Some type systems of programming languages are undecidable, such as those of Quest [CL91] and Cayenne [Aug99] The type system of Cayenne uses dependent types [ML78, ML84, Mac86, C 86, CH88] that is, the type of an expression depends not only on the types of other expressions, but also on these expressions themselves. For example, the type of a function result can depend on the type of its argument as well as on the value of this argument; the type of a ....
Per Martin-Lof. Constructive Mathematics and Computer Programming. In Proc. of the 6th International Congress for Logic, Methodology, and Phylosophy of Science, pages 153--175. North-Holland, Amsterdam, 1978.
....in Martin Lof s Type Theory [86] by Nordstrom, Petersson and Smith. A recent book by Ranta, Type theoretical Grammar [93] has a good general account of type theory. Martin Lof type theory is presented in his Intuitionistic Type Theory [80] and Constructive Mathematics and Computer Programming [79]. Section 2 Subtypes and Set Types The notion of subtype is not very thoroughly presented in the literature. There is the article by Constable and Hickey [39] which cites the basic literature. Another key paper is by Pierce and Turner [91] The PhD theses from Cornell and Edinburgh deal with ....
....is the heart of the untyped and typed lambda calculus. See Barendregt [7, 8] Stenlund [102] and Church [29] The treatment of relations goes back to Frege and Russell and is covered well in Church [30] Section 6 Universes, Powers and Openness The account of universes is from Per Martin Lof [79] and is informed by Allen [4] and Palmgren [88] Insights about power sets can be found in Fraenkel et al. 50] Beeson [11] and Troelstra [105] Section 7 Families Families are important in set theory, and accounts such as Bourbaki [18] inform Martin Lof s approach [79] Section 8 Lists ....
[Article contains additional citation context not shown here]
Per Martin-Lof. Constructive mathematics and computer programming. In Proceedings of the Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175, Amsterdam, 1982. NorthHolland. REFERENCES 45
....of type theory are formulated as tactics which makes a top down construction of programs possible. These ideas are illustrated by a formal derivation of a program for a partitioning problem. Keywords: type, specification, program derivation, goal, tactic. 1 Introduction Martin Lof s type theory [4, 5] was originally developed as a foundation of constructive mathematics. One of the main reasons for using type theory for programming is that it is a theory both for writing specifications and constructing programs. In type theory a specification is expressed by a type and an element of that type ....
Per Martin-Lof. Constructive Mathematics and Computer Programming. In Logic, Methodology and Philosophy of Science, VI,
....argument. For example, append would have a spec list(int) list(int) list(int) Every program is associated with a corresponding specification and synthesis proof. Our proofs are written in the proof editor Oyster [HS90] which is based on a constructive logic known as Martin Lof s Type Theory [ML79]. The synthesis proof essentially guarantees the correctness of the program extracted from it. The more detailed the specification, the more we can guarantee about the program. Our simple specifications prove that C Y NTHIA programs are syntactically correct, well typed, well defined and ....
Per Martin-Lof. Constructive mathematics and computer programming. In 6th International Congress for Logic, Methodology and Philosophy of Science, pages 153--175, Hanover, August
....every term. There are many ways to approach this mathematically. We can give a denotational semantics, or a reduction (rewrite) semantics, or a structural operational semantics or something else. We choose to base the account on inductively defined relations and partial functions in the style of [13, 35, 39, 43], sometimes called natural semantics . We use a lazy evaluator [1, 13, 35] We define first a relation evaluates to, t evals to t 0 . Then we define val as a map val : fx : term j 9t : term x evals to tg term: We give some cases of the evaluation relation to illustrate the method. ffl ....
....denotational semantics, or a reduction (rewrite) semantics, or a structural operational semantics or something else. We choose to base the account on inductively defined relations and partial functions in the style of [13, 35, 39, 43] sometimes called natural semantics . We use a lazy evaluator [1, 13, 35]. We define first a relation evaluates to, t evals to t 0 . Then we define val as a map val : fx : term j 9t : term x evals to tg term: We give some cases of the evaluation relation to illustrate the method. ffl f evals to (x.b) b[a=x] evals to c ap(f;a) evals to c ffl (x.b) evals to ....
[Article contains additional citation context not shown here]
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--75. North-Holland, Amsterdam, 1982.
....issues. There are several approaches to constructivism (see [4,5,19] for an overview) We are especially interested in the constructive recursive mathematics (CRM) approach developed by Markov [12,13] and in constructive type theories (especially those that are based on Martin L of type theory [14]) since we believe them to be highly relevant to Computer Science. In this paper we demonstrate how to apply the ideas of CRM to a constructive type theory thus creating a more powerful type theory that combines the strengths of both approaches to constructive mathematics. According to Markov s ....
Per Martin-Lof. Constructive mathematics and computer programming. In Proceedings of the Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153-175, Amsterdam, 1982. North Holland.
.... original motivation for this work was to justify certain useful kinds of type free inference for the type theory of the Nuprl proof development system [8, 3, 2] The type theories of Nuprl and Martin This research was supported in part by NSF grant CCR8616552 and ONR grant N00014 88 K 0409 Lof [10] are based on an untyped computation system. A type system is constructed by selecting certain terms of the computation system to denote types and by specifying for each type what terms are its members and when two members of the type are to be considered equal. A major practical problem ....
....We take the largest R satisfying R ae [R] and then prove it is a congruence. We call this a maximal congruence. We start by defining a lazy computation system or lcs. The class of lazy computation systems is a direct generalization of the computation system of MartinL of s type theory [10]. An lcs consists of a term language, where the operators of the language may have variable binding structure, together with an evaluation relation which can be any relation on closed terms that is the identity function on those terms that are taken to be values. For an lcs S we define a ....
[Article contains additional citation context not shown here]
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175, Amsterdam, 1982. North Holland.
.... Constructive Synthesis The Deductive Tableau is a classical example of the deductive synthesis approach to program development, which is sometimes contrasted in with constructive synthesis methods (Deville and Lau, 1993) The latter are typically based on constructive type theories, such as (Martin L of, 1982; Coquand and Huet, 1988) where a proof of a formula 8 x: 9 y: Q(x; y) also yields a function f for which Q(x; f(x) holds. From the viewpoint of proof by higher order resolution, many approaches to constructive synthesis can also be understood as deductive synthesis. For example, as mentioned ....
Martin-Lof, P. (1982). Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153-175, Amsterdam. North Holland.
....of formal semantics for natural language of the 1970s (Montague, 1973) In exible Montague grammar (Hendriks, 1993) simple type theory was replaced by more exible typing schemes. In a somewhat di erent direction, there have been proposals to use Martin L of style type theory (Martin L of, 1984; Martin L of, 1982) as a basis for NL processing systems. A meta mathematical investigation of Martin L of type theory is carried out in (Aczel, 1980) Unfortunately, the perspectives of model theoretic semantics and of Martin L of type theory are at odds. Martin L of type theory is inspired by proof theory. Type ....
P. Martin-Lof. 1982. Constructive mathematics and computer programming. In Cohen, Los, Pfeier, and Podewski, editors, Logic, Methodology and Philosophy of Science VI, pages 153-179. North Holland.
....by Richard Montague in his program of formal semantics for natural language of the 1970s [22] In flexible Montague grammar [12] simple type theory was replaced by more flexible typing schemes. In a somewhat different direction, there have been proposals to use Martin Lof style type theory [21, 20] as a basis for NL processing systems. A meta mathematical investigation of Martin Lof type theory is carried out in [1] Unfortunately, the perspectives of model theoretic semantics and of Martin Lof type theory are at odds. Martin Lof type theory is inspired by proof theory. Type theorists in ....
P. Martin-Lof. Constructive mathematics and computer programming. In Cohen, Los, Pfeiffer, and Podewski, editors, Logic, Methodology and Philosophy of Science VI, pages 153--179. North Holland, 1982.
....of natural language. To some, this may seem a minor bureaucratic matter easily resolved by appropriate regulations. Another view, however, is that the question is an instance of a deep conceptual problem, also manifest in the analysis of proofs as functional objects in proof theory and programming [16, 19, 27, 44], in the question of parameters in situation theory [15] and in treatments within discourse representation theory of phenomena, such as VP ellipsis [25] whose natural analysis requires abstraction. While it would be presumptuous to claim that the present analysis will solve fully the di#cult ....
P. Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science, VI, pages 153--175. NorthHolland, 1982.
....order calculi, calculi with types depending on terms, non deterministic calculi, etc. could benefit from viewing their semantics as proof polynomials delivered by LP . Gabbay s Labelled Deductive Systems ( 23] may serve as a natural framework for LP. Intuitionistic Type Theory by Martin Lof [46], 47] also makes use of the format t : F with its informal provability reading. LP may also be regarded as a basic epistemic logic with explicit justifications; a problem of finding such systems was raised by van Benthem in [9] The studies of the logic GL of implicit provability Provable(x) ....
P. Martin-Lof. "Constructive mathematics and computer programming", in Logic, Methodology and Philosophy of Science VI, North-Holland, pp. 153-175, 1982.
....is [15] where Gabbay s Labelled Deductive Systems may serve as a natural framework for LP. The Logic of Proofs may also be regarded as a basic epistemic logic with explicit justifications; a problem of finding such systems was raised by van Benthem in [7] Intuitionistic Type Theory by Martin Lof [31], 32] also makes use of the format t : F with its informal provability reading. 1 Logic of Proofs 1.1 Definition. The language of Logic of Proofs (LP) contains the usual language of classical propositional logic proof variables x 0 ; x n ; proof constants a 0 ; a n ; ....
P. Martin-Lof. "Constructive mathematics and computer programming", in Logic, Methodology and Philosophy of Science VI, North-Holland, pp. 153-175, 1982.
....a schematic variable that must eventually be replaced by a term. The meta rules ensure that every theorem # # has no schematic variables in #; instantiation only a#ects schematic variables. Object logics include intuitionistic first order logic, Martin Lof s Constructive Type Theory (ctt) [23] and a first order sequent calculus similar to lk [36] The Isabelle 86 logics were easily adapted to the new Isabelle. The most drastic change in the representation of proofs, # lifting, was the main source of problems. But many things worked immediately, including the object logics ....
P. Martin-Lof, Constructive mathematics and computer programming, in: Hoare and Shepherdson [17], pages 167--184.
....are often referred to as the existential property and the disjunctive property respectively. Such properties seem precisely what is desired by the above notion of input output behaviour. Indeed, there is growing interest in the application of constructive logics to computer science in general [24, 16, 5]. When applying intuitionistic logic to programming tasks, we are usually more interested in consequence than theoremhood, in that it is not so important to determine whether a given formula is true, but whether a given deduction is valid. For example, the intuitionistic theorem p(a) oe 9xp(x) is ....
P. Martin-Lof, Constructive Mathematics and Computer Programming, in Logic, Methodology and Philosophy of Science VI, L.J. Cohen, J. Los, H. Pfeiffer and K.D. Podewski (eds.), North-Holland, 1982.
....type theories, their approaches to automated reasoning are based on that of LCF [8] and their main application has been to formal reasoning about computation. However, the two logics are very different in a number of ways. Nuprl has a constructive type theory, based on a type theory of Martin Lof[16]. The theory contains a programming language, and all objects have a computational interpretation. Programs are reasoned about directly in logic, and the constructivity of the theory means that programs can be synthesised from proofs. On the other hand, HOL s theory is classical, and the way ....
....type T 1 T 2 , it must map equal members of T 1 to equal members of T 2 . Thus, for this rule to be valid, the truth of the first premise must guarantee this functionality of x: b. This gives rise to a functionality semantics for sequents. A functionality semantics is given by Martin Lof in [16]. This semantics is itself fairly complicated. However, for technical reasons having to do with several essential practical considerations, including reasoning about general recursive programs, and collapsing Martin Lof s four forms on judgement into one, Nuprl requires a more refined notion of ....
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175, Amsterdam, 1982. North Holland.
....proof is a term possibly containing free variables. 2.5 The Nuprl system The Nuprl system supports construction of top down proofs by refinement. The prover is implemented as a tactic based prover in the style of LCF [13] and built on a base of ML. In Nuprl and related constructive systems [18, 20, 8], the so called proposition as types interpretation allows for presentations to be cloaked in either logical or more purely type theoretic terms. Paul Jackson s huge effort to rationally reconstruct the Nuprl V3 tactics and display forms serves as the basis of the Nuprl V4 system; it gives the ....
Per. Martin--Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--75. Amsterdam:North Holland, 1982.
....A) 9y 2 B) P (x; y) constructively means to give a function f that when applied to an element a in A gives an element b in B such P (a; b) holds. For a presentation of the ideas of constructive mathematics we refer to [Bis67, Dum77, TvD88] A constructive proof can thus be seen as a program (cf. [Con82, Bis70, Mar82, Moh86, NS84]) and in type theory execution of the program corresponds to normalisation of the proof. The basic idea behind using type theory for developing proofs and programs is the CurryHoward isomorphism [How80] where propositions (specications) are identied with types and proofs of a proposition ....
P. Martin-L#f. Constructive Mathematics and Computer Programming, In iLogic, Methodology and Philosophy of Science VIj, L.J. Cohen, J. Lo#, H. Pfeioeer and K. Podewski eds., pp. 153175, North-Holland, 1982.
....theory [C 86] and Coquand Huet s calculus of constructions [CH88] were mainly developed for foundation and formalization of mathematics. Since the work by Martin Lof, it has become known that type theories can also provide basic 1 mechanisms for programming and program specification (c.f. ML82, NPS90] For instance, program derivation has been studied in various type theories [NPS90, BCM89, PM89] However, although it is known that a type theory may be used as a programming and specification language, some important topics concerning modular design and structured specification (for ....
....universe circularity (by giving an error message when it occurs) In this paper, we shall adopt such a principle of typical ambiguity to omit the universe subscripts. 3 Specifications and Data Refinement in Type Theory It is well known that in type theories one can specify programs (c.f. ML82, NP83, NPS90] For example, in Martin Lof s type theory, a specification of sorting programs for lists of natural numbers may be defined as follows: Sorting = df Sigmaf :List(N) List(N) 8l:List(N) sorted(l; f(l) The adequacy of such specifications (i.e. Sorting does specify the sorting ....
P. Martin-Lof. Constructive mathematics and computer programming. In L.J. Cohen et al, editor, Logic, Methodology and Philosophy of Science VI, Amsterdam, 1982. North-Holland.
....and to type theories such as Constable s V3. 1 Introduction A number of formulations of intuitionistic type theory have been considered as a basis for studying machine assisted formal proof development, and as a theoretical foundation for the study of programming languages (see, for example, [16, 46, 34, 36, 37, 9, 10, 11, 14, 2, 4, 19], to name but a few. One such system, the Calculus of Constructions (CC) was introduced by Coquand and Huet as a comprehensive basis for the formalization of constructive mathematics. 11, 14] CC may be viewed as the calculus associated, via the propositions as types principle [24] with ....
....from the desire to delineate the space of consistent extensions to the calculus, to the practical needs of formal proof and program development. One such consideration is the representation of mathematical structures such as algebras, automata, and ordered sets. It is by now widely recognized [36, 10] that the appropriate type theoretic representation of mathematical structures is as elements of strong sum types 1 introduced by Martin Lof [35, 36, 37] and Howard [24] Strong sums have also been used to model modularity constructs in programming languages [33, 41, 2, 4] Unfortunately, ....
[Article contains additional citation context not shown here]
Per Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175. North-Holland, 1982. 46
....surprisingly, that we have had to deal with a number of substantial problems. Some of the difficulties stem from the fact that the HOL and Nuprl type theories are, in fact, very different in some practically important ways. Nuprl has a constructive type theory, based on a type theory of MartinL of[9]. The theory contains an untyped programming language, and all objects have a computational interpretation. Programs are reasoned about directly in the logic, and the constructivity of the theory means that programs can be synthesised from proofs. On the other hand, HOL s theory is classical, and ....
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175, Amsterdam, 1982. North Holland.
....there is considerable precedent for such augmentations of the type system. For example, Lucassen and Gifford introduce state into functions using the type system to declare whether functions are free of side effects [61] Martin Lf introduces dependent types, in which types are indexed by terms [66]. Xi uses dependent types to augment the type system to include array sizes, and uses type resolution to annotate programs that do not need dynamic array bounds checking [87] The technique uses singleton types instead of general terms [38] to help avoid undecidability. While much of the ....
P. Martin-Lf, "Constructive Mathematics and Computer Programming," in Logic, Methodology, and Philosophy of Science VI, pp. 153-175, North-Holland, 1980.
....closely corresponds to the intuition used in everyday mathematics. The logical principles employed by lutins are derived from classical predicate logic and standard mathematical practice. This puts it in contrast to some other higher order logics, such as Martin L of s constructive type theory [34], the Coquand Huet Calculus of Constructions [10] and the logic of the Nuprl proof development system [9] These logics which are constructive as well as higher order employ rich type constructors and incorporate the propositions as types isomorphism (see [31] Motivated in part by a desire ....
P. Martin-Lof. Constructive mathematics and computer programming. In L. J. Cohen, J. Los, H. Pfeier, and K. P. Podewski, editors, Logic, Methodology, and Philosophy of Science VI, pages 153-175, Amsterdam, 1982. North-Holland.
....fully compatible with separate compilation. However, for the purposes of modular programming, existentials are often too good at hiding implementation types because they do not allow adequate propagation of type information between packages [16] ffl Dependent types (transparent, or strong sums) [18, 16, 21]. A module of type Sigmac :Complex c is represented by a pair h; M i containing the type used to represent complex numbers and an implementation M of type Complex for the complex number operators. The ability to include type components in modules makes this approach very powerful too ....
....M i containing both a type component and a term M whose type may depend on the choice of . Structures of this form can be viewed as elements of a dependent sum type, described informally by: Sigmat :f (t) f h; M i j M has type f ( g: The typing rules for dependent sums are standard (see [18], for example) and can be written in the form: Gamma M : 0 =t ] Gamma h 0 ; M i : Sigmat : Gamma M : Sigmat :f (t) Gamma snd M : f (fst M ) The introduction rule on the left is very similar to the corresponding rule for existentials except that the implementation ....
Per Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science, VI. North Holland, Amsterdam, 1982.
....1993) We remark that propositional equality does not affect the definitional one which even in the presence of identity types remains confined to intensional equality. Therefore, type theory together with identity types as defined here is called intensional type theory, see (Martin Lof 1982). There exists another formulation of identity types in which one may conclude Gamma M = N : oe from Gamma P : Id oe (M; N ) This rule is called equality reflection and makes it possible to derive definitional equalities by induction and thus makes it extensional. Therefore, type theory ....
Martin-Lof, P. (1982). Constructive mathematics and computer programming. In Proceedings of the Sixth International Congress for Logic, Methodology and Philosophy of Science, pp. 153--175.
....that y 2 x (y 1) 2 . With syntactic typing, there must be an algorithm deciding whether e has type T . This is a strong requirement, and essentially means that e must somehow encode its own correctness proof. Two of the most well known constructive type theories are Martin Lof s theory [23], which we will refer to here as CMCP, and the Calculus of Constructions [13] The Calculus of Constructions is syntactically typed, and CMCP, although semantic in conception, places restrictions on programs similar to those of its syntactically typed descendents (such as in [27] Neither of ....
....supports a similar propositions as types principle, it is a fully semantic type system and supports explicit programming in a conventional style. One way of viewing Nuprl s type theory is that it is CMCP with Martin Lof s informal semantics taken seriously. The informal semantics he gives in [23] starts with a fairly simple untyped programming language, and the meaning of the judgment e 2 T , for a program e and a type expression T , is that e has a canonical form, or, in other words, a value under evaluation, that has the appropriate form. However, this informal semantics is not fully ....
[Article contains additional citation context not shown here]
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175, Amsterdam, 1982. North Holland.
....is that it justifies a useful embedding of the logic of the HOL theorem prover that gives Nuprl effective access to most of the large body of formalized mathematics that the HOL community has amassed over the years. 1 Introduction The so called polymorphic extensional type theory of Martin Lof (Martin Lof, 1982) has two features that set it apart from other constructive type theories. First, it is based on an untyped functional programming language. The untyped language is given an operational semantics in the form of an inductive definition of an evaluation relation. This semantics is used to build a ....
....of a connection between the HOL and Nuprl theorem provers which allows HOL mathematics to be used in Nuprl proofs (Howe, 1996a; Felty and Howe, 1997) In the remainder of the paper, we will only be concerned with Nuprl s type theory. Most of the remarks, and all of the results, should apply to (Martin Lof, 1982) as well. Functionality semantics. What makes Nuprl s semantics so difficult is the functionality semantics of typing judgments under hypotheses. Nuprl s semantics is operationally derived: one starts with an untyped programminglanguage with an operational semantics, then inductively builds a ....
[Article contains additional citation context not shown here]
Martin-Lof, P. (1982). Constructive mathematics and computer programming.
....the calculus. These points perhaps deserve some elaboration. First, they suggest it might be awkward to code up parameterized programming into some form of denotational semantics (e.g. in the style of [65] or type theory (e.g. in the style of Pebble [11] PX [54] or Martin Lof s type theory [66]) Even if we had such an encoding, it would not be the sort of notation that programers should have to deal with in practice, but would be somewhat like trying to program with Godel numbers; however, it could be valuable in theoretical studies. Of course, one can code up calculus or type theory ....
Per Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science VI, pages 153--175. North-Holand, 1982.
....convergence estimates that can be used in practical applications of the algorithm. 5 Intuitionism and Computer Science The first explicit, direct use of intuitionistic logic in connection with computer science was the paper Constructive Mathematics and Computer Programming (later reprinted as [32]) which was read by Per Martin Lof at the 6th International Congress for Logic, Methodology and Philosophy of Science in Hannover in August 1979. This paper followed the first expositions of Martin Lof s ideas in [29] and in some lecture notes, made by Sambin during a course in 1980, published as ....
P. Martin-Lof, "Constructive mathematics and computer programming", in Mathematical Logic and Programming Languages (C.A.R. Hoare and J.C. Shepherdson, eds), Prentice--Hall International, Englewood Cli#s, N.J.,1985.
....earlier section, namely that algorithmic mathematics that is, computer 19 science appears to be equivalent to mathematics that uses only intuitionistic logic. We now expand on this point and make clear that the apparent equivalence is real. Martin Lof explains the equivalence in a table in [30], some of which runs: Programming Mathematics program, procedure, algorithm function input argument output, result value . a : Aa#A . record s1:T1; s2:T2end T1 T2 . and he says (in the same paper) the whole conceptual apparatus of programming ....
P. Martin-Lof, "Constructive mathematics and computer programming", in Proceedings of 6th International Congress for Logic, Methodology and Philosophy of Science (L. Jonathan Cohen ed), North--Holland, Amsterdam, 1980.
....notions that are expressed by subtypes and dependent types. In addition, Melham has done preliminary work on adding quantification over type variables to HOL[Mel92] Nuprl, developed at Cornell University [C 86, Lee92] is based on a sequent version of Martin Lof s constructive type theory [ML82] Nuprl uses a rich and expressive type theory with dependent types which allow for a natural specification style. Because of the rich type theory, type checking is in general undecidable. In practice, type checking which does not involve complicated uses of dependent types can almost always be ....
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy, pages 153--175. North-Holland, 1982.
....present some specific algorithms and give their derivations. Finally we comment about higher order properties of the system and some possible extensions to higher order reasoning. We now make some comments about other approaches to program generation. The constructive type theory approaches of [24], Nuprl [5] or the calculus of con3 structions [12] identify the proof that a term has a type with the proof that a term satisfies a specification. From such a proof, a term (program) in the typed or untyped lambda calculus satisfying the specification can be extracted. Such systems involve ....
Per Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153--175, Amsterdam, 1982. North Holland.
No context found.
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology and Philosophy of Science, 153{ 175, Amsterdam, 1982. North-Holland.
....are used for many purposes in computer science, one important example is syntax trees for representing phrases in languages. It is therefore vital that such a type constructor, together with its proof rules, should be available in a programming logic such as Martin Lof s intuitionistic type theory [ML82, ML84]. In this paper, we will define a set constructor that one could use for defining many inductive data types. The rest of the paper is organized as follows: We first explain the wellorder set constructor W introduced by Martin Lof in [ML82] This set constructor is the least solution of a ....
....such as Martin Lof s intuitionistic type theory [ML82, ML84] In this paper, we will define a set constructor that one could use for defining many inductive data types. The rest of the paper is organized as follows: We first explain the wellorder set constructor W introduced by Martin Lof in [ML82]. This set constructor is the least solution of a particular parameterized fixed point set equation. And since the parameters of this equation are closely related to the different parts of a single ML datatype definition [Mil84] we continue to discuss the correspondence between the wellorder ....
Per Martin-Lof. Constructive Mathematics and Computer Programming. In Logic, Methodology and Philosophy of Science, VI,
No context found.
P. Martin-Lof. Constructive mathematics and computer programming. In L.J. Cohen, J. Los, H. Pfei#er, and K.-P. Podewski, editors, Logic, Methodology and Philosophy of Science VI, pages 153--175, NorthHolland, Amsterdam, 1982.
....(e.g. the work on the calculus [32] identi es the need for classical rather than constructive logics. Nevertheless, we are concerned here with Martin L of s type theory and Nuprl, and not their impredicative extensions. Nuprl s type theory is related to type theories proposed by Martin L of [27, 28], used as a foundation for constructive mathematics. Nuprl s logic is related to its type theory via the well known propositions as types embedding, also known as the Curry Howard de Bruijn isomorphism (see [16] It is constructive on two points: it is based on intuitionistic logic (as is the ....
....Systems [38] Below we assume V to be a set of variables, Z to be the set of integers, and S= f 1 ; 2 ; g a set of sorts. The intuition behind the sort a is that it represents the propositions (and, more general, the types) of order a. a corresponds to the Universe of Types U a in [17, 27]. represents the unde ned or a contradiction. Application and abstraction ( and ) are familiar from PTSs. The remaining notions represent Cartesian products, pairing, and rst and second projections. De nition 2.1 (Terms) The set of terms T is de ned by the following abstract syntax: T : S ....
P. Martin-Lof. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology and Philosophy of Science, 153{ 175, Amsterdam, 1982. North-Holland.
No context found.
P. Martin-Lof. Constructive Mathematics and Computer Programming. In Logic, Methodology and Philosophy of Science, volume VI, pages 153-175. North Holland, 1979.
No context found.
P. Martin-Lof. Constructive Mathematics and Computer Programming. In Logic, Methodology and Philosophy of Science, volume VI, pages 153{ 175. North Holland, 1979.
No context found.
P. Martin-Lof. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science, VI, 1979.
No context found.
Per Martin-Lof. Constructive mathematics and computer programming. In Proceedings of the Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153-175, Amsterdam, 1982. North Holland.
No context found.
P. Martin-Lo"f, Constructive mathematics and computer programming, in Logic, Methodology and Philosophy of Science, VI, North-Holland, Amsterdam, 1982, pp. 153-175.
No context found.
P. Martin-Lof. Constructive mathematics and computer programming. In L.J. Cohen, J. Los, H. Pfei#er, and K.-P. Podewski, editors, Logic, Methodology and Philosophy of Science VI, pages 153--175, Amsterdam, 1982. North-Holland.
No context found.
P. Martin-Lf, "Constructive Mathematics and Computer Programming," in Logic, Methodology, and Philosophy of Science VI, North-Holland, Amsterdam, 1980, pp. 153-175.
No context found.
P. Martin-Lof, Constructive Mathematics and Computer Programming , Phil. Trans. Royal Soc. London. Vol. A 312, pp. 501-518, 1984.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC