9 research outputs found
Extended ML: Past, present and future
An overview of past, present and future work on the Extended ML formal program development framework is given, with emphasis on two topics of current active research: the semantics of the Extended ML specification language, and tools to support formal program development
Generic refinements for behavioral specifications
This thesis investigates the properties of generic refinements of behavioral specifications.
At the base of this investigation stands the view from algebraic specification that
abstract data types can be modeled as algebras. A specification of a data type is formed
from a syntactic part, i.e. a signature detailing the interface of the data type, and a
semantic part, i.e. a class of algebras (called its models) that contains the valid implementations
of that data type.
Typically, the class of algebras that constitutes the semantics of a specification is
defined as the class of algebras that satisfy some given set of axioms. The behavioral
aspect of a specification comes from relaxing the requirements imposed by axioms, i.e.
by allowing in the semantics of a specification not only the algebras that literally satisfy
the given axioms, but also those algebras that appear to behave according to those
axioms. Several frameworks have been developed to express the adequate notions of
what it means to be a behavioral model of a set of axioms, and our choice as the setting
for this thesis will be Bidoit and Hennicker’s Constructor-based Observational Logic,
abbreviated COL.
Using specifications that rely on the behavioral aspects defined by COL we study
the properties of generic refinements between specifications. Refinement is a relation
between specifications. The refinement of a target specification by a source specification
is given by a function that constructs models of the target specification from
the models of the source specification. These functions are called constructions and
the source and target specifications that they relate are called the context of the refinement.
The theory of refinements between algebraic specifications, with or without the
behavioral aspect, has been well studied in the literature. Our analysis starts from those
studies and adapts them to COL, which is a relatively new framework, and for which
refinement has been studied only briefly.
The main part of this thesis is formed by the analysis of generic refinements.
Generic refinements are represented by constructions that can be used in various contexts,
not just in the context of their definition. These constructions provide the basis
for modular refinements, i.e. one can use a locally defined construction in a global context
in order to refine just a part of a source specification. The ability to use a refinement
outside its original context imposes additional requirements on the construction
that represents it. An implementer writing such a construction must not use details of
the source models that can be contradicted by potential global context requirements.
This means, roughly speaking, that he must use only the information available in the
source signature and also any a priori assumption that was made about the contexts of
use.
We look at the basic case of generic refinements that are reusable in every global
context, and then we treat a couple of variations, i.e. generic refinements for which
an a priori assumption it is made about the nature of their usage contexts. In each
of these cases we follow the same pattern of investigation. First we characterize the
constructions that ensure reusability by means of preservation of relations, and then, in
most cases, we show that such constructions must be definable in terms of their source
signature.
Throughout the thesis we use an informal analogy between generic (i.e. polymorphic)
functions that appear in second order lambda calculus and the generic refinements
that we are studying. This connection will enable us to describe some properties
of generic refinements that correspond to the properties of polymorphic functions inferred
from their types and named “theorems for free” by Wadler.
The definability results, the connection between the assumptions made about the
usage contexts and the characterizing relations, and the “theorems for free” for behavioral
specifications constitute the main contributions of this thesis
Sous-typage coercitif en présence de réductions non-standards dans un système aux types dépendants
Type Theory lies on the crossroad of Logics, Mathematics and Computer Science. It may be used to develop the "zero-error" programs. The aim of this thesis is to study an extension of a system with dependent types called UTT (including inductive types) that is obtained by adding to the rewrite relation of UTT new rewrite rules concerning finite types. We check that Strong Normalization, Church-Rosser property and Subject Reduction are preserved. We consider another extension by Coercive Subtyping that is seen as an abbreviation mechanism and give a conservativity proof for the system enriched by Coercive Subtyping with respect to underlying UTT (with an without new rewrite rules). The interest of such a system is that it will improve the efficiency of proof assistants and provides a general framework for treatment of the problems involving finite types (combinatorics, graphs etc).La théorie des types est une discipline au croisement de la logique, des mathématiques et de l'informatique. Elle peut servir de support au développement de programme "zéro faute". L'objet de cette thèse est d'étudier l'extension d'un système aux types dépendants UTT (comprenant notamment des types inductifs) par une relation de récriture concernant un fragment du calcul, à savoir les types finis. Nous nous assurons d'abord que les propriétés de normalisation forte, de confluence et de préservation du type sont toujours préservées malgré l'ajout de la réduction. Ensuite nous enrichissons ce système par la notion de sous-typage coercitif vue comme un mécanisme d'abréviation et effectuons la preuve de conservativité pour le système enrichi du sous-typage par rapport au système de base. L'intérêt d'un tel système est qu'il améliora l'efficacité des assistants à la preuve et offrira un bon cadre pour l'étude des problèmes faisant intervenir des ensembles finis (combinatoire, manipulation de graphe etc)
Categorical Term Rewriting: Monads and Modularity
Laboratory for Foundations of Computer ScienceTerm rewriting systems are widely used throughout computer science as they provide an abstract model of computation while retaining a comparatively simple syntax and semantics. In order to reason within large term rewriting systems, structuring operations are used to build large term rewriting systems from smaller ones. Of particular interest is whether key properties are modular, that is, if the components of a structured term rewriting system satisfy a property, then does the term rewriting system as a whole? A body of literature addresses this problem, but most of the results and proofs depend on strong syntactic conditions and do not easily generalize. Although many specific modularity results are known, a coherent framework which explains the underlying principles behind these results is lacking.
This thesis posits that part of the problem is the usual, concrete and syntax-oriented semantics of term rewriting systems, and that a semantics is needed which on the one hand elides unnecessary syntactic details but on the other hand still possesses enough expressive power to model the key concepts arising from the term structure, such as substitutions, layers, redexes etc. Drawing on the concepts of category theory, such a semantics is proposed, based on the concept of a monad, generalising the very elegant treatment of equational presentations in category theory. The theoretical basis of this work is the theory of enriched monads.
It is shown how structuring operations are modelled on the level of monads, and that the semantics is compositional (it preserves the structuring operations). Modularity results can now be obtained directly at the level of combining monads without recourse to the syntax at all. As an application and demonstration of the usefulness of this approach, two modularity results for the disjoint union of two term rewriting systems are proven, the modularity of confluence (Toyama's theorem) and the modularity of strong normalization for a particular class of term rewriting systems (non-collapsing term rewriting systems). The proofs in the categorical setting provide a mild generalisation of these results