Venanzio Capretta

Venanzio Capretta
  • PhD
  • Professor (Assistant) at University of Nottingham

About

40
Publications
4,525
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
771
Citations
Current institution
University of Nottingham
Current position
  • Professor (Assistant)
Additional affiliations
August 2006 - November 2008
Radboud University
Position
  • PostDoc Position
November 2003 - August 2006
University of Ottawa
Position
  • PostDoc Position
December 2008 - present
University of Nottingham
Position
  • Lecturer

Publications

Publications (40)
Conference Paper
Brouwer's continuity principle states that all functions from infinite sequences of naturals to naturals are continuous , that is, for every sequence the result depends only on a finite initial segment. It is an intuitionistic axiom that is incompatible with classical mathematics. Recently Martín Escardó proved that it is also inconsistent in type...
Conference Paper
Coinductive data structures, such as streams or infinite trees, have many applications in functional programming and type theory, and are naturally defined using recursive equations. But how do we ensure that such equations make sense, i.e. that they actually generate a productive infinite object? A standard means to achieve productivity is to use...
Article
We reformulate the bar recursion and induction principles in terms of recursive and wellfounded coalgebras. Bar induction was originally proposed by Brouwer as an axiom to recover certain classically valid theorems in a constructive setting. It is a form of induction on non- wellfounded trees satisfying certain properties. Bar recursion, introduced...
Article
Full-text available
The class of regular languages can be generated from the regular expressions. These regular expressions, however, do not themselves form a regular language, as can be seen using the pumping lemma. On the other hand, the class of enumerable languages can be enumerated by a universal language that is one of its elements. We say that the enumerable la...
Article
Full-text available
A fertile field of research in theoretical computer science investigates the representation of general recursive functions in intensional type theories. Among the most successful approaches are: the use of wellfounded relations, implementation of operational semantics, formalization of domain theory, and inductive definition of domain predicates. H...
Chapter
Full-text available
We study the coinductive formulation of common knowledge in type theory. We formalise both the traditional relational semantics and an operator semantics, similar in form to the epistemic system S5, but at the level of events on possible worlds rather than as a logical derivation system. We have two major new results. Firstly, the operator semantic...
Conference Paper
We study the coinductive formulation of common knowledge in type theory. We formalise both the traditional relational semantics and an operator semantics, similar in form to the epistemic system S5, but at the level of events on possible worlds rather than as a logical derivation system. We have two major new results. Firstly, the operator semantic...
Conference Paper
We reformulate the bar recursion and induction principles in terms of recursive and wellfounded coalgebras. Bar induction was originally proposed by Brouwer as an axiom to recover certain classically valid theorems in a constructive setting. It is a form of induction on non-wellfounded trees satisfying certain properties. Bar recursion, introduced...
Article
Wander types are a coinductive version of inductive-recursive definitions. They are defined by simultaneously specifying the constructors of the type and a function on the type itself. The types of the constructors can refer to the function component and the function itself is given by pattern matching on the constructors. Wander types are differen...
Article
Full-text available
This is a survey article on the use of coalgebras in functional programming and type theory. It presents the basic theory underlying the implementation of coinductive types, families and predicates. It gives an overview of the application of corecursive methods to the study of general recursion, formal power series, tabulations of functions on indu...
Article
Full-text available
We consider the problem of determining the unicity of solutions for corecursive equations. This can be done by transforming the equations into a guarded form, that is, representing them as a coalgebra. However, in some examples this transformation is very hard to achieve. On the other hand, mere unicity of solutions can be determined independently...
Conference Paper
Full-text available
Motivated by issues in designing practical total functional programming languages, we are interested in structured recursive equations that uniquely describe a function not because of the properties of the coalgebra marshalling the recursive call arguments but thanks to the algebra assembling their results. Dualizing the known notions of recursive...
Conference Paper
Full-text available
Our goal is to define a type of partial recursive functions in constructive type theory. In a series of previous articles, we studied two different formulations of partial functions and general recursion. We could obtain a type only by extending the theory with either an impredicative universe or with coinductive definitions. Here we present a new...
Conference Paper
Full-text available
We describe a new method to represent (partial) recursive functions in type theory. For every recursive definition, we define a co-inductive type of prophecies that characterises the traces of the computation of the function. The structure of a prophecy is a possibly infinite tree, which is coerced by linearisation to a type of partial results defi...
Conference Paper
Full-text available
We describe the formalization of a correctness proof for a conict detection algorithm for rew alls in the Coq Proof Assistant. First, we give formal denitions in Coq of a re- wall access rule and of an access request to a rew all. For- mally, two rules are in conict if there exists a request on which one rule would allow access and the other would...
Article
Full-text available
I prove in Coq Aumann's Theorem: In perfect information games, common knowledge of rationality implies backward induction equilibrium. The notion of common knowledge is formalized, using a coinductive definition, as a modality containing an infinite amount of information.
Conference Paper
The use of higher-order abstract syntax is an important approach for the representation of binding constructs in encodings of languages and logics in a logical framework. Formal meta-reasoning about such object languages is a particular challenge. We present a mechanism for such reasoning, formalized in Coq, inspired by the Hybrid tool in Isabelle....
Article
Full-text available
The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his work on categorical set theory to discuss the relationship between wellfounded induction and recursively specified functions. In this paper, we motivate the use of recursive coalgebras as a paradigm of structured recursion in programming semantics, list some...
Article
The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his work on categorical set theory to discuss the relationship between wellfounded induction and recursively specified functions. In this paper, we motivate the use of recursive coalgebras as a paradigm of structured recursion in programming semantics, list some...
Article
Full-text available
We develop a general tool to formalize and reason about languages ex-pressed using higher-order abstract syntax in a proof-tool based on type theory (Coq). A language is specified by its signature, which consists of sets of sort and operation names and typing rules. These rules prescribe the sorts and bindings of each operation. An al-gebra of term...
Conference Paper
Full-text available
In a series of articles, we developed a method to translate general recursive functions written in a functional programming style into constructive type theory. Three problems remained: the method could not properly deal with functions taking functional arguments, the translation of terms containing λ-abstractions was too strict, and par- tial appl...
Conference Paper
Full-text available
There is growing public concern about personal data collected by both private and public sectors. People have very little control over what kinds of data are stored and how such data is used. Moreover, the ability to infer new knowl- edge from existing data is increasing rapidly with advances in database and data mining technologies. We describe a...
Article
Full-text available
The family T, does not depend on the function g,, because all calls to it have been replaced by f, and is not inductive, because all recursive occurrences of T in the constructors have been replaced by Y. Therefore, the definition is a standard polymorphic definition in the Calculus of Inductive Constructions and g, is a standard function on it def...
Article
Full-text available
Constructive type theory is an expressive programming language in which both algorithms and proofs can be represented. A limitation of constructive type theory as a programming language is that only terminating programs can be defined in it. Hence, general recursive algorithms have no direct formalisation in type theory since they contain recursive...
Conference Paper
Full-text available
We describe the operational and denotational semantics of a small imperative language in type theory with inductive and recursive de nitions. The operational semantics is given by natural inference rules, implemented as an inductive relation. The realization of the denotational semantics is more delicate: The nature of the language imposes a few di...
Article
The prime purpose of this paper is, first, to restore to discourse-bound occasion sentences their rightful central place in semantics and secondly, taking these as the basic propositional elements in the logical analysis of language, to contribute to the development of an adequate logic of occasion sentences and a mathematical (Boolean) foundation...
Conference Paper
Full-text available
We program the Fast Fourier Transform in type theory, using the tool Coq. We prove its correctness and the correctness of the Inverse Fourier Transform. A type of trees representing vectors with interleaved elements is defined to facilitate the definition of the transform by struc- tural recursion. We define several operations and proof tools for t...
Conference Paper
Full-text available
We extend Bove's technique for formalising simple general recursive algorithms in constructive type theory to nested recursive algorithms. The method consists in defining an inductive special-purpose accessibility predicate, that characterizes the inputs on which the algorithm terminates. As a result, the type-theoretic version of the algorithm can...
Article
We extend Bove's technique for formalising simple general recursive algorithms in constructive type theory to nested recursive algorithms. The method consists in defining an inductive special-purpose accessibility predicate, that characterises the inputs on which the algorithm terminates. As a result, the type-theoretic version of the algorithm can...
Article
Full-text available
We show that two approaches commonly used to formalise sets in type theory, partial setoids and total setoids, are in fact not equivalent. More precisely, we show that total setoids form a cartesian closed category, while partial setoids cannot be made into a cartesian closed category. Then, we study choice principles for total setoids and show tha...
Conference Paper
Full-text available
Families of inductive types defined by recursion arise in the formalization of mathematical theories. An example is the family of term algebras on the type of signatures. Type theory does not allow the direct definition of such families. We state the probten abstractly by defining a notion, strong positivity, that characterizes these families. Then...
Article
Full-text available
The prime purpose of this paper is to contribute to the development of an adequate logic of occasion sentences and a mathematical (Boolean) foundation for such a logic, thus preparing the ground for a more principled and better founded semantics of occasion sentences. Some of the insights elaborated in this paper have appeared in the literature ove...
Article
We dene the notions of equational theory and equational logic in Type Theory using the development of Universal Algebra presented in a previous paper. The main result is the formal proof of Birkho's validity and completeness theorem, that gives a theoretical basis to the two level approach to interactive theorem proving. The whole development has b...
Article
Full-text available
In this paper we describe a method for proving the normalization property for a large variety of typed lambda calculi of first and second order, which is based on a proof of equivalence of two deduction systems. We first illustrate the method on the elementary example of simply typed lambda calculus, and then we show how to extend it to a more expr...
Conference Paper
Full-text available
We present a development of Universal Algebra inside Type Theory, formalized using the proof assistant Coq. We define the notion of a signature and of an algebra over a signature. We use setoids, i.e. types endowed with an arbitrary equivalence relation, as carriers for algebras. In this way it is possible to define the quotient of an algebra by a...

Network

Cited By