Results 1 
5 of
5
Typelevel Computation Using Narrowing in Ωmega
 PLPV 2006
, 2006
"... Ωmega is an experimental system that combines features of both a programming language and a logical reasoning system. Ωmega is a language with an infinite hierarchy of computational levels. Terms at one level are classified (or typed) by terms at the next higher level. In this paper we report on usi ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
Ωmega is an experimental system that combines features of both a programming language and a logical reasoning system. Ωmega is a language with an infinite hierarchy of computational levels. Terms at one level are classified (or typed) by terms at the next higher level. In this paper we report on using two different computational mechanisms. At the value level, computation is performed by reduction, and is largely unconstrained. At all higher levels, computation is performed by narrowing.
Diophantus’ 20th problem and fermat’s last theorem for n=4  Formalization of . . .
, 2005
"... We present the proof of Diophantus’ 20th problem (book VI of Diophantus’ Arithmetica), which consists in wondering if there exist right triangles whose sides may be measured as integers and whose surface may be a square. This problem was negatively solved by Fermat in the 17th century, who used the ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present the proof of Diophantus’ 20th problem (book VI of Diophantus’ Arithmetica), which consists in wondering if there exist right triangles whose sides may be measured as integers and whose surface may be a square. This problem was negatively solved by Fermat in the 17th century, who used the wonderful method (ipse dixit Fermat) of infinite descent. This method, which is, historically, the first use of induction, consists in producing smaller and smaller nonnegative integer solutions assuming that one exists; this naturally leads to a reductio ad absurdum reasoning because we are bounded by zero. We describe the formalization of this proof which has been carried out in the Coq proof assistant. Moreover, as a direct and no less historical application, we also provide the proof (by Fermat) of Fermat’s last theorem for n = 4, as well as the corresponding formalization made in Coq.
GADTs + Extensible Kinds = Dependent Programming A Programming Pearl for the 21st Century
"... Abstract We hope this paper stimulates a discussion about the future of functional programming languages. To start thatdiscussion we make a concrete proposal. We explore a new point in the design space of programming languages. ..."
Abstract
 Add to MetaCart
Abstract We hope this paper stimulates a discussion about the future of functional programming languages. To start thatdiscussion we make a concrete proposal. We explore a new point in the design space of programming languages.
Small Induction Recursion
"... Abstract. There are several different approaches to the theory of data types. At the simplest level, polynomials and containers give a theory of data types as free standing entities. At a second level of complexity, dependent polynomials and indexed containers handle more sophisticated data types in ..."
Abstract
 Add to MetaCart
Abstract. There are several different approaches to the theory of data types. At the simplest level, polynomials and containers give a theory of data types as free standing entities. At a second level of complexity, dependent polynomials and indexed containers handle more sophisticated data types in which the data have an associated indices which can be used to store important computational information. The crucial and salient feature of dependent polynomials and indexed containers is that the index types are defined in advance of the data. At the most sophisticated level, inductionrecursion allows us to define data and indices simultaneously. This work investigates the relationship between the theory of small inductive recursive definitions and the theory of dependent polynomials and indexed containers. Our central result is that the expressiveness of small inductive recursive definitions is exactly the same as that of dependent polynomials and indexed containers. A second contribution of this paper is the definition of morphisms of small inductive recursive definitions. This allows us to extend our main result to an equivalence
Small Induction Recursion, Indexed Containers and Dependent Polynomials are equivalent ∗
"... There are several different approaches to the theory of data types. At the simplest level, polynomials and containers give a theory of data types as free standing entities. At a second level of complexity, dependent polynomials and indexed containers handle more sophisticated data types in which the ..."
Abstract
 Add to MetaCart
There are several different approaches to the theory of data types. At the simplest level, polynomials and containers give a theory of data types as free standing entities. At a second level of complexity, dependent polynomials and indexed containers handle more sophisticated data types in which the data have an associated indices which can be used to store important computational information. The crucial and salient feature of dependent polynomials and indexed containers is that the index types are defined in advance of the data. At the most sophisticated level, inductionrecursion allows us to define the data and the indices simultaneously. The aim of this work is to investigate the relationship between the theory of small inductive recursive definitions and the theory of dependent polynomials and indexed containers. Our central result is that the expressiveness of small inductive recursive definitions is exactly the same as that of dependent polynomials and indexed containers. Formally, this result applies not just to the data types definable in these theories, but also to the morphisms between such data