| Z. Luo. Program specification and data refinement in type theory. Mathemat- ical Structures in Computer Science, 3:333 363, 1993. |
.... is analogous to what happens in explicit substitution calculi, where by making the substitution operation part of the system we are able to control its application) The Theory of Specifications can also be used to model the method of program development by stepwise refinement (see for instance [Luo93] for a presentation of data refinement using type theory) The powerful type system of the Theory of Specifications allows us to define functions between specifications, and the a reduction can be used to compute the correctness condition of a refinement step. The formulation of the Theory of ....
....specifications. Poll s hwL is a subsystem of the Verification Calculus. However, the notions of specification and implementation are not completely formalized in this language. Our notion of pair forrealizes Poll s idea of couple derivation rules which belongs to the meta language in [Po194] In [Luo93] a different approach to program derivation is presented using an extended Calculus of Constructions. The idea is to specify a data type and then refine it until an implementation is obtained. This approach seems closer in spirit to the formal derivation of a program from a specification using the ....
[Article contains additional citation context not shown here]
Z. Luo. Program specification and data refinement in type theory. Mathemat- ical Structures in Computer Science, 3:333 363, 1993.
....of Edinburgh Basic Research in Computer Science, University of Aarhus. Centre of the Danish National Research Foundation. information on accessing the formal development described in this paper. Other interesting examples formalized in LEGO include program specification and data refinement [Luo91] strong normalization of System F [Alt93] synthetic domain theory [Reu95, Reu96] and operational semantics for imperative programs [Sch97] 1.1 Why PTS have a beautiful meta theory, developed informally in [Bar92, Ber90, GN91, vBJ93, Geu93] These papers are unusually clear and ....
Zhaohui Luo. Program specification and data refinement in type theory. In TAPSOFT '91 (Volume 1), number 493 in Lecture Notes in Computer Science, pages 143--168. Springer-Verlag, 1991.
....particular, we restrict our attention to those which can be studied using typed lambda calculi, that is, typed functional programming languages. A number of possibilities can be considered. One is to say that a specification is a type in some expressive type theory. This is the approach taken by [Luo91] for example. The problem is that this only works for an intuitionistic logic. Classical logics are more common for specification, and cannot easily be encoded in type theories. Also, programming languages generally have a simple type system of their own, and this must somehow be related to the ....
....motivated in wanting to structure specifications using program types, but differ in taking proof existence as more important than the proof itself terms do not need a witness to satisfy a refinement type. Our calculus could be regarded as an internal language for deliverables. The work of Luo [Luo91] presents an encoding of specifications and specification morphisms (corresponding to our terms) in an expressive type theory. Our work provides a more direct analysis of the concept of specification. The existential form of Martin Lof s type theory with subset types in [NPS90] is similar. The ....
Z. Luo. Program specification and data refinement in type theory. LFCS Technical Report ECS-LFCS-90-131, Department of Computer Science, University of Edinburgh, 1991.
....step preserves correctness, so the program is guaranteed to meet its description. It is possible to study refinement via an encoding in a type theory (assuming that the programming language constructs can be suitably encoded not necessarily the case in the presence of recursion) Luo [Luo91] gives an encoding of data refinement in the Extended Calculus of Constructions. An explicit calculus for refinement, however, has the advantage that it forces us to think directly about the formalism and the semantics. Now, a contrast can be drawn between program and data refinement.Indata ....
....existence and, moreover, that implementations should be regarded as being equal up to some extensional equivalence. He proposes a definition of specification which includes an explicit definition of per. Our calculus could be regarded as an internal language for this notion. The work of Luo [Luo91] presents an encoding of specifications and specification morphisms (corresponding to our terms) in an expressive type theory. Our work provides a more direct analysis of the concept of specification by giving an explicit syntax and axiomatisation. The existential form of Martin Lof s type ....
[Article contains additional citation context not shown here]
Z. Luo. Program specification and data refinement in type theory. LFCS Technical Report ECS-LFCS-90-131, Department of Computer Science, University of Edinburgh, 1991.
....logical connectives ( logical quantification (8, 9) and Leibniz equality (a = b) are coded. Strong sums and type universes in ECC prove to be useful for encoding program specifications and abstract implementations between specifications, and for modular development by stepwise refinement [23]. The treatment of rules and proofs is based on the notion of judgement. Typing judgements are of the form Gamma M : A and express the fact that in context Gamma term M is of type A, where a context is defined as a finite sequence of declarations x:A. Depending on the situation, a : A may be ....
Z. Luo. Program Specification and Data Refinement in Type Theory. In S. Abramsky and T.S.E. Maibaum, editors, TAPSOFT'91, volume I, Lecture Notes in Computer Science 494, pages 143--168. Springer-Verlag, 1991.
....of the theorems which have been created from the equations in the ADT. This tactic has not yet been written. This is suggested as further work in x10.3. 4.4. 3 Program refinement in type theory The power of type theories to provide a program development framework based on ADTs is illustrated in [Luo 91] The higher order features of type theory are used to implement specification refinement operations similar to those discussed in [Sannella Tarlecki 92] x2.5.5) The type theory used is the Extended Calculus of Constructions (ECC) Luo 89] ECC is similar to Martin Lof s Type Theory, except ....
....allows complex changes of representation to be achieved by composing a number of simpler changes. This approach is advocated by Korf (x2.3.2) and theories of data type reformulation are used by [Lowry 89] x2.4.5) Blaine Goldberg 91] x2.4.6) Sannella Tarlecki 92] x2.5. 5) and [Luo 91] x4.4.3) The emphasis in ADT refinement work such as [Sannella Tarlecki 92, Luo 91] is on the use of a strong theory to aid the user in applying refinements and proving their correctness. Generally, no significant automated assistance is provided to choose which refinements to make and ....
[Article contains additional citation context not shown here]
Z. Luo. Program specification and data refinement in type theory. Report ECS-LFCS-91-131, Department of Computer Science, University of Edinburgh, January 1991.
....checker, publicly available by ftp and WWW, with a User s Manual [27] and a large collection of examples. Section 1.3 contains information on accessing the formal development described in this paper. Other interesting examples formalized in LEGO include program specification and data refinement [25], strong normalization of System F [1] synthetic domain theory [40, 41] and operational semantics for imperative programs [43, 23] 1.1. Why PTS have a beautiful meta theory, developed informally in [2, 6, 17, 48, 16] These papers are unusually clear and mathematical, and there is little ....
Luo, Z.: 1991, `Program Specification and Data Refinement in Type Theory'. In: TAPSOFT '91 (Volume 1). pp. 143--168.
....is an approach similar to ours. Defining meets and joins of classes, Sekerinski extends the refinement calculus to classes, but he does not consider recursive class definitions, and his work is not aimed at machine support. In expressive type theories like the Extended Calculus of Constructions [13], it is not necessary to construct a uniform type of all operations of a module as we did in Sect. 5. Instead, modules can be represented by existential types. This approach, however, does not allow one to reason abstractly about the components of modules, because this would mean to reason about ....
Zhaohui Luo. Program specification and data refinement in type theory. In S. Abramsky and T. S. E. Maibaum, editors, Int. Joint Conference on Theory and Practice of Software Development (TAPSOFT), LNCS 493, pages 143--168, 1991.
....Introduction The Calculus of Constructions (CC) of Coquand and Huet is widely recognized as a background and formalization of higher order logic. When extended by strong sum types it can also be used as a background for program specification and development. Such an approach has been advocated in [7, 8] and [2] The approach by Luo depends heavily on the use of dependent sums to model specifications, an idea going back to MacQueen [11] We imagine the use of pairs in yet another way. An algebraic spefication consists of signature and axioms, in the simplest case, while an algebra is a tuple of ....
Zhaohui Luo. Program specification and data refinement in type theory. Technical Report ECS-LFCS-91-131, Laboratory for Foundations of Computer Science, University of Edinburgh, 1991.
....logical connectives ( logical quantification (8, 9) and Leibniz equality (a = b) are coded. Strong sums and type universes in ECC prove to be useful for encoding program specifications and abstract implementations between specifications, and for modular development by stepwise refinement [Luo91b]. The treatment of rules and proofs is based on the notion of judgement. Typing judgements are of the form Gamma M : A and express the fact that in context Gamma term M is of type A, where a context is defined as a finite sequence of declarations x : A. Depending on the situation, a : A may ....
Z. Luo. Program Specification and Data Refinement in Type Theory. In S. Abramsky and T.S.E. Maibaum, editors, TAPSOFT'91, volume I, volume 494 of LNCS, pages 143--168. Springer, 1991.
....to their underlying type (resp. predicate) Formally, there is a type of specifications, namely SPEC 1 = def Sigmas:Type:s Prop, so that we may consider operations which construct specifications entirely within the framework of ECC (cf. the account of specifications and refinements in [61]) We will consider a category whose objects are the specifications, and whose morphisms are defined below. Specifications defined by logically equivalent predicates in general define distinct objects. 3.1.2 First order deliverables Having made a choice of objects, wemustmakean appropriate choice ....
....This touches on the whole area of data abstraction, which I certainly do not have time to include in this thesis. A possible topic for future research is to explore the use of the categorical techniques developed in this thesis in the context of Luo s work on data refinement in type theory [61], and the work of Hoare and Power on category theory and data refinement [41,88] Here we confine ourselves to using the familiar representation Z= N 2 = where (a; b) c; d) iff a d = c b. In terms of deliverables, we only consider the underlying algorithm defined on lists of pair of ....
[Article contains additional citation context not shown here]
Z.Luo, Program Specification and Data Refinement in Type Theory, Technical Report ECS-LFCS-90-131, Department of Computer Science, University of Edinburgh, January 1991. Bibliography 236
....matters but as a consequence it sacrifices guaranteed termination for type checking. A similar powerful system based on type theory with decidable type checking is ECC [626, 628] The application of ECC and related systems to problems of specification and verification has been demonstrated in [659, 627]. 817] demonstrates how modular specifications can be expressed in type theory and investigates the validity of the module algebra axioms for these translated specifications. A further module concept similar to that of Extende ML is presented in [619] Notions of implementation and refinement may ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993.
....is an extension of the one which we propose. We use a similar principle of encoding to the one used in LF, but not its underlying type theory. Instead we use the Uniform Theory of dependent Types (UTT [6] 2] Previous works relating algebraic specifications and this type theory can be found in [5] and [8] In both of them, the proof system of the type theory is used to reason about algebraic specifications. Since this proof system is not sound with respect to the semantics of the kind of specification languages we are treating, we use the type theory as a metalanguage to encode sound proof ....
Zhaohui Luo. Program specification and data refinement in type theory. Math. Struct. in Comp. Science, 3:333--63, 1993.
....and a large collection of examples. Interesting examples formalized in LEGO include the Tarski fixedpoint theorem (Pollack) construction of the reals from the rationals and completion of a metric space [Jon91] the chinese remainder theorem [McK92] program specification and data refinement [Luo91], and the Schroder Bernstein theorem (M. Hofmann, proof in [LP92] Recently Thorsten Altenkirch has used LEGO s inductive types to give a very elegant and informative proof of strong normalization for System F [Alt93] Acknowledgement We especially thank Thierry Coquand for many inspiring ....
Zhaohui Luo. Program specification and data refinement in type theory. In TAPSOFT '91 (Volume 1), number 493 in Lecture Notes in Computer Science, pages 143--168. SpringerVerlag, 1991.
....the proof theoretic strength of the theory, for example allowing constructive formalisations of category theory. There are also many important practical applications, such as representing structured specifications of programs or abstract mathematical structures. A notion of abstract theory [23, 24] for reasoning about such structures is expressible internally to a type theory (in ECC and UTT this requires four universe levels) Early presentations (e.g. 30, 32] give just one universe. In these references, the presentation uses the Tarski style (terminology due to Martin Lof) in which ....
Luo, Z.: 1993, `Program specification and data refinement in type theory'. Mathematical Structures in Computer Science 3(3).
No context found.
Luo, Z.: 1991, `Program specification and data refinement in type theory'. Proc. of the Fourth Inter. Joint Conf. on the Theory and Practice of Software Development (TAPSOFT), LNCS 493. Also as LFCS report ECS-LFCS-91131, Dept. of Computer Science, Edinburgh University.
....extended. This view has some theoretical and pragmatic consequences. For example, since the logical universe is relatively closed, there is a proper notion of predicate (as propositional function) in the theory which is used in developing an approach to program specification and development [BM91, Luo91b] and a notion of mathematical theory in the application of abstract reasoning [Luo91a, Pol90] On the other hand, since data types (sets) reside in predicative universes, the embedded logic is a conservative extension of higher order predicate logic [Luo90b] and we are able to introduce type ....
Z. Luo. Program specification and data refinement in type theory. Proc. of the Fourth Inter. Joint Conf. on the Theory and Practice of Software Development (TAPSOFT), 1991. Also as LFCS report ECSLFCS -91-131, Dept. of Computer Science, Edinburgh University.
.... [4] imperative programs [11, 28] and concurrent programs [30] Model checking in Lego [31] SN proof of the system F [1] Formalisation of synthetic domain theory in Lego [26] ffl Development of representation schemes methods: Program specification verification and data refinement [14] Methods in formalisation of names and binding operators [24] Internal theory mechanism and development of abstract mathematics [13, 2] Representation mechanisms provided by coercive subtyping (eg, overloading, reasoning with inductive subtypes) Many others: eg, formalisation of ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993.
....applies to other related issues. The basic formal theory we use has been studied in several contexts, including the subset theory developed by Nordstrom, Petersson and Smith in Martin Lof s type theory [NPS90] the specification calculus by Luo in the Extended Calculus of Constructions and UTT [Luo93], and the related (but different) framework on deliverables [BM92, McK92] and mathematical theories [Luo91a] Here, we apply this theory to mathematical concepts and the related well formedness issues. In the next section, we shall extend this to introduce a notion of subcategory based on the ....
....adding a binary operator and an identity with their properties. A more sophisticated example would be to form the concept of ring by combining the concepts of group and monoid by adding extra logical constraints; this involves sharing of the common carrier set, and we omit the details here (see [Luo93, Luo91a]) Functional categories We can form the functional category of two categories: C : Cat D : Cat C ) D : Cat The corresponding syntactic category and logical constraint are defined as: Syn(C ) D) Syn(C) Syn(D) Log(C ) D) f) 8c:Syn(C) Log(C) c) oe Log(D) f(c) That is, the ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993. An earlier version appears as [Luo91b].
No context found.
Z. Luo. Program specification and data refinement in type theory. Proc. of the Fourth Inter. Joint Conf. on the Theory and Practice of Software Development (TAPSOFT), LNCS 493, 1991. Also as LFCS report ECSLFCS -91-131, Dept. of Computer Science, Edinburgh University.
.... properties such as ChurchRosser, Subject Reduction, and Strong Normalisation [21] Implemented in the Lego proof development system, UTT has been applied to verification of functional programs [10, 11] imperative programs [42] and concurrent programs [44] specification and data refinement [29], and formalisation of mathematics [40] 2.3 Definitional equality and computational equality We use LF seriously as a meta level language (see Section 9.1.2 of [30] for a discussion) Along the same line, we make a distinction between the notion of definitional equality (abbreviational ....
....such as those implemented in the Coq system or the NuPRL system. We believe that direct inheritance supported by coercive subtyping is a very useful mechanism that provides a powerful tool in applications such as specification and data refinement (with refinement maps between specifications [29] as coercions) development of mathematical theories in proof development (with theory morphisms [27] as coercions [3] and library structuring for proof reuse [31] Subtyping is in general a subtle issue partly because, in the presence of (arbitrary) subtyping, a judgement of the form k : K is ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993.
....practice in computer assisted formal reasoning. Type theory provides rich abstraction, modularisation and inheritance mechanisms which form a very good basis to support reuse of parameterised proofs, generic theories, and various design decisions during proof and program development (cf. Luo94a, Luo93] The potential of type theory has not been sufficiently exploited for reuse and, we believe, is very useful to do so to enhance the productivity and cost effectiveness of proof development. 2 Reuse in proof development based on type theory Reusable entities in proof development include not ....
....as meta level entities. In fact, type theory does provide useful abstraction and modularisation mechanisms that support representation of proof sketches as well as parameterised generic proofs. Such an expressiveness has been studied in the context of program specification and data refinement [Luo93] where it is shown how incomplete programs and design decisions such as divide and conquer with sharing can be expressed and manipulated in type theory for modular program development. This suggests an interesting approach to reuse in proof development based on type theory and is also a good ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993.
....and predicative type universes. UTT has nice meta theoretic properties such as Church Rosser, Subject Reduction, and Strong Normalisation [Gog94] Implemented in the Lego proof development system, UTT has been applied to program specification and verification (eg, Bur93, BM92] data refinement [Luo93] and formalisation of mathematics [Pol94] 2.3 Definitional equality and computational equality We use LF seriously as a meta level language (see Section 9.1.2 of [Luo94] for a discussion) Along the same line, we make a distinction between the notion of definitional equality (abbreviational ....
....such as those implemented in the Coq system or the NuPRL system. We believe that direct inheritance supported by coercive subtyping is a very useful mechanism that provides a powerful tool in applications such as specification and data refinement (with refinement maps between specifications [Luo93] as coercions) development of mathematical theories in proof development (with theory morphisms [Luo91] as coercions [Bai96] and library structuring for proof reuse [Luo95] Subtyping is in general a subtle issue partly because, in the presence of (arbitrary) subtyping, a judgement of the form ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993.
....can then be automatically applied to groups. Such a mechanism has been implemented by Bailey in LEGO [Bai96] and Saibi in Coq [Sai97] to support proof reuse and notational abbreviation. Similar mechanisms can be used for development of program specification and verification proofs (c.f. Luo93] In this paper, we study some of the basic proof theoretic and computational properties of coercive subtyping. The formal system we consider, as presented in Section 2, is essentially the same as that in [Luo96] except for one major change: we use subkinding judgements with explicitly ....
Z. Luo. Program specification and data refinement in type theory. Mathematical Structures in Computer Science, 3(3), 1993.
No context found.
Zhaohui Luo. Program Specification and Data Refinement in Type Theory, LFCS Report No. 91-131, 1991.
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