SearcharxivSearch

arXiv subjects

Pierre Hyvernat

Publications and source records attributed to Pierre Hyvernat.

12 recordsLinked to original sources

Totality for Mixed Inductive and Coinductive Types

This paper introduces an ML / Haskell like programming language with nested inductive and coinductive algebraic datatypes called \chariot. Functions are defined by arbitrary recursive definitions and can thus lead to non-termination and other ``bad'' behavior. \chariot comes with a totality checker that tags possibly ill-behaved definitions. Such a totality checker is mandatory in the context of proof assistants based on type theory like Agda. Proving correctness of this checker is far from trivial and relies on - an interpretation of types as parity games, - an interpretation of correct values as winning strategies for those games, - the Lee, Jones and Ben Amram's size-change principle, used to check that the strategies induced by recursive definitions are winning. This paper develops the first two points, the last step being the subject of an upcoming paper. A prototype has been implemented and can be used to experiment with the resulting totality checker, giving a practical argument in favor of this principle.

cs.LO

The Size-Change Principle for Mixed Inductive and Coinductive types

This paper shows how to use Lee, Jones and Ben Amram's size-change principle to check correctness of arbitrary recursive definitions in an ML / Haskell like programming language with inductive and coinductive types. Naively using the size-change principle to check productivity and termination is straightforward but unsound when inductive and coinductive types are nested. We can however adapt the size-change principle to check ``totality'', which corresponds exactly to correctness with respect to the corresponding (co)inductive type.

cs.LO

Representing Continuous Functions between Greatest Fixed Points of Indexed Containers

We describe a way to represent computable functions between coinductive types as particular transducers in type theory. This generalizes earlier work on functions between streams by P. Hancock to a much richer class of coinductive types. Those transducers can be defined in dependent type theory without any notion of equality but require inductive-recursive definitions. Most of the properties of these constructions only rely on a mild notion of equality (intensional equality) and can thus be formalized in the dependently typed language Agda.

cs.LO

Some Properties of Inclusions of Multisets and Contractive Boolean Operators

Consider the following curious puzzle: call an n-tuple X=(X_1, ..., X_n) of sets smaller than another n-tuple Y if it has fewer //unordered sections//. We show that equivalence classes for this preorder are very easy to describe and characterize the preorder in terms of the simpler pointwise inclusion and the existence of a special increasing boolean operator f:B^n -> B^n. We also show that contrary to increasing boolean operators, the relevant operators are not finitely generated, which might explain why this preorder is not easy to describe concretely.

math.CO

A Linear Category of Polynomial Diagrams

We present a categorical model for intuitionistic linear logic where objects are polynomial diagrams and morphisms are simulation diagrams. The multiplicative structure (tensor product and its adjoint) can be defined in any locally cartesian closed category, whereas the additive (product and coproduct) and exponential Tensor-comonoid comonad) structures require additional properties and are only developed in the category Set, where the objects and morphisms have natural interpretations in terms of games, simulation and strategies.

cs.LO

Coherent and finiteness spaces

This short note presents a new relation between coherent spaces and finiteness spaces. This takes the form of a functor from COH to FIN commuting with the additive and multiplicative structure of linear logic. What makes this correspondence possible and conceptually interesting is the use of the infinite Ramsey theorem. Along the way, the question of the cardinality of the collection of finiteness spaces on N is answered. Basic knowledge about coherent spaces and finiteness spaces is assumed.

cs.LO

A Completeness Theorem for "Total Boolean Functions"

Christine Tasson introduced an algebraic notion of totality for a denotational model of linear logic in the category of vector spaces. The notion of total boolean function is, in a way, quite intuitive. This note provides a positive answer to the question of completeness of the "boolean centroidal calculus" w.r.t. total boolean functions.

cs.LO

Predicate Transformers, (co)Monads and Resolutions

This short note contains random thoughts about a factorization theorem for closure/interior operators on a powerset which is reminiscent to the notion of resolution for a monad/comonad. The question originated from formal topology but is interesting in itself. The result holds constructively (even if it classically has several variations); but usually not predicatively (in the sense that the interpolant will no be given by a set). For those not familiar with predicativity issues, we look at a ``classical'' version where we bound the size of the interpolant.

cs.LO

Predicate Transformers and Linear Logic, yet another denotational model

In the refinement calculus, monotonic predicate transformers are used to model specifications for (imperative) programs. Together with a natural notion of simulation, they form a category enjoying many algebraic properties. We build on this structure to make predicate transformers into a de notational model of full linear logic: all the logical constructions have a natural interpretation in terms of predicate transformers (i.e. in terms of specifications). We then interpret proofs of a formula by a safety property for the corresponding specification.

cs.LO

Interaction Systems and Linear Logic, a different games semantics

We define a model for linear logic based on two well-known ingredients: games and simulations. This model is interesting in the following respect: while it is obvious that the objects interpreting formulas are games and that everything is developed with the intuition of interaction in mind, the notion of morphism is very different from traditional morphisms in games semantics. In particular, we make no use of the notion of strategy! The resulting structure is very different from what is usually found in categories of games. We start by defining several constructions on those games and show, using elementary considerations, that they enjoy the appropriate algebraic properties making this category a denotational model for intuitionistic linear logic. An interesting point is that the tensor product corresponds to a strongly synchronous operation on games. This category can also, using traditional translations, serve as a model for the simply typed -calculus. We use some of the additional structure of the category to extend this to a model of the simply typed differential -calculus. Once this is done, we go a little further by constructing a reflexive object in this category, thus getting a concrete non-trivial model for the untyped differential -calculus. We then show, using a highly non-constructive principle, that this category is in fact a model for full classical linear logic ; and we finally have a brief look at the related notions of predicate transformers and containers.

cs.LO

Programming interfaces and basic topology

A pattern of interaction that arises again and again in programming is a "handshake", in which two agents exchange data. The exchange is thought of as provision of a service. Each interaction is initiated by a specific agent--the client or Angel--and concluded by the other--the server or Demon. We present a category in which the objects--called interaction structures in the paper--serve as descriptions of services provided across such handshaken interfaces. The morphisms--called (general) simulations--model components that provide one such service, relying on another. The morphisms are relations between the underlying sets of the interaction structures. The proof that a relation is a simulation can serve (in principle) as an executable program, whose specification is that it provides the service described by its domain, given an implementation of the service described by its codomain. This category is then shown to coincide with the subcategory of "generated" basic topologies in Sambin's terminology, where a basic topology is given by a closure operator whose induced sup-lattice structure need not be distributive; and moreover, this operator is inductively generated from a basic cover relation. This coincidence provides topologists with a natural source of examples for non-distributive formal topology. It raises a number of questions of interest both for formal topology and programming. The extra structure needed to make such a basic topology into a real formal topology is then interpreted in the context of interaction structures.

cs.LO

Synchronous Games, Simulations and lambda-calculus

We refine a model for linear logic based on two well-known ingredients: games and simulations. We have already shown that usual simulation relations form a sound notion of morphism between games; and that we can interpret all linear logic in this way. One particularly interesting point is that we interpret multiplicative connectives by synchronous operations on games. We refine this work by giving computational contents to our simulation relations. To achieve that, we need to restrict to intuitionistic linear logic. This allows to work in a constructive setting, thus keeping a computational content to the proofs. We then extend it by showing how to interpret some of the additional structure of the exponentials. To be more precise, we first give a denotational model for the typed lambda-calculus; and then give a denotational model for the differential lambda-calculus of Ehrhard and Regnier. Both this models are proved correct constructively.

cs.LO