• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Integrated verification in Type Theory. Lecture notes for a course at ESSLLI 96 (1996)

by T Altenkirch
Add To MetaCart

Tools

Sorted by:
Results 1 - 4 of 4

A language-based approach to functionally correct imperative programming

by Edwin Westbrook, Aaron Stump, Ian Wehrman - IN PROCEEDINGS OF THE 10TH INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP05 , 2005
"... In this paper a language-based approach to functionally correct imperative programming is proposed. The approach is based on a programming language called RSP1, which combines dependent types, general recursion, and imperative features in a type-safe way, while preserving decidability of type checki ..."
Abstract - Cited by 33 (8 self) - Add to MetaCart
In this paper a language-based approach to functionally correct imperative programming is proposed. The approach is based on a programming language called RSP1, which combines dependent types, general recursion, and imperative features in a type-safe way, while preserving decidability of type checking. The methodology used is that of internal verification, where programs manipulate programmer-supplied proofs explicitly as data. The fundamental technical idea of RSP1 is to identify problematic operations as impure, and keep them out of dependent types. The resulting language is powerful enough to verify statically non-trivial properties of imperative and functional programs. The paper presents the ideas through the examples of statically verified merge sort, statically verified imperative binary search trees, and statically verified directed acyclic graphs. This paper is an extended version of [30].

Choosing among Signalling Equilibria in Lobbying Games: A Reply to Sloof

by Aaron Stump - Public Choice , 2006
"... A solution to the POPLmark challenge part 1a in Coq version 8.0 is described, where names are used for bound variables. The technical complexities associated with using names for bound variables are tamed using two main technical ideas: de Bruijn levels for free variables, and the Barendregt variabl ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
A solution to the POPLmark challenge part 1a in Coq version 8.0 is described, where names are used for bound variables. The technical complexities associated with using names for bound variables are tamed using two main technical ideas: de Bruijn levels for free variables, and the Barendregt variable convention. The resulting solution stands at around 1250 lines of Coq (as written by a novice Coq user). 1

What a Mesh: Dependent Data Types for Correct Mesh Manipulation Algorithms

by Joel R. Brandt, Cindy Grimm, Saint Louis Missouri, Student Joel, R. Br, Advisors Aaron Stump, Cindy Grimm - Master’s thesis, Washington University in Saint Louis, 2005. In preparation , 2005
"... ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
Abstract not found

Higher-Order Encodings with Constructors

by Edwin M. Westbrook , 2008
"... As programming languages become more complex, there is a growing call in the research community for machine-checked proofs about programming languages. A key obstacle to this goal is in formalizing name binding, where a new name is created in a limited scope. Name binding is used in almost every pro ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
As programming languages become more complex, there is a growing call in the research community for machine-checked proofs about programming languages. A key obstacle to this goal is in formalizing name binding, where a new name is created in a limited scope. Name binding is used in almost every programming language to refer to the formal arguments to a function. For example, the function f (x) = x ∗ 2, which doubles its argument, binds the name x for its formal argument. Though this concept is intuitively straightforward, it is complex to define precisely because of the intended properties of name binding. For example, the above function is considered “syntactically equivalent ” to f (y) = y ∗ 2. It is the goal of this dissertation to posit a new technique for encoding name binding, called Higher-Order Encodings with Constructors or HOEC. HOEC encodes name binding with a construct called the ν-abstraction, which binds new constructors in a limited scope. These constructors can then be used to encode names. ν-abstractions already have the required properties of name bindings, so name binding need only be ii formalized once, in the definition of the ν-abstraction. The user thus then gets name
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University