scispace - formally typeset
Search or ask a question
Author

Jean-Yves Girard

Bio: Jean-Yves Girard is an academic researcher from Centre national de la recherche scientifique. The author has contributed to research in topics: Linear logic & Sequent calculus. The author has an hindex of 31, co-authored 59 publications receiving 10720 citations. Previous affiliations of Jean-Yves Girard include University of the Mediterranean & University of Paris.


Papers
More filters
BookDOI
01 Jan 1999
TL;DR: This short paper gives a quick overview of CLF, a distributed object coordination middleware, and two applications of that platform to workflow, and proposes to demonstrate here two prototype applications developed using the platform.
Abstract: This short paper gives a quick overview of CLF, a distributed object coordination middleware, and two applications of that platform to workflow. The driving concepts behind CLF derive from a reflection on proof search in Linear Logic, and in particular, the systematic exploitation of its resource conscious nature. 1 CLF: A Coordination Middleware CLF is born from a reflection on the application of Linear Logic to distributed object coordination. It exploits the resource-conscious nature of Linear Logic in the framework of the concurrent logic programming paradigm, where computations are identified with proof-search [And92]. Turning a theoretical model of resource manipulation into a concrete distributed object coordination middleware required two main steps: – First, the notions of “resources” and “objects” had to be integrated. This was achieved through a modification of the traditional object model of computation, making plain the role of objects as resource managers. – Second, the concurrent logic programming paradigm of proof search had to be adapted to this new object model. This was realized by a scripting language based on Linear Logic formulae to express coordination. 1.1 The CLF Object Model The CLF object model enriches the traditional one by viewing objects as resource managers, thus separating, inside the object state, the resources themselves from their management state. Primitives are introduced to (i) inquire and negotiate objects capabilities in terms of resource availability, (ii) perform basic transaction operations over the resources of several objects (two-phase commit) and (iii) request resource insertion. This enriched interaction model (Figure 1) is characterized by a set of 8 interaction verbs (similar to KQML performatives) together with a protocol describing correct sequences of invocations of these verbs, and their intended meaning in terms of resource manipulations. Figure 2 gives an overview of the verbs and the protocol. The interface of a CLF object distinguishes between “CLF services”, accessed through the CLF interaction protocol, and regular methods, accessed through the traditional request/answer protocol. J.-Y. Girard (Ed.): TLCA’99, LNCS 1581, pp. 1–5, 1999. c © Springer-Verlag Berlin Heidelberg 1999 2 Jean-Marc Andreoli 1.2 The CLF Coordination Scripting Facility The CLF coordination scripting facility takes full advantage of the object model. It allows high-level declarative specifications of coordinated invocations of CLF object services. A coordination is viewed here as a complex block of inter-related manipulations (removal, insertion, etc.) of the resources held by a set of objects (called the participants of the coordination). CLF scripts describe, using Linear Logic formulae, the expected global behavior of such blocks in terms of resulting resource transformations, but abstracts away the detailed sequencing of invocations of the CLF interaction verbs required to achieve such a behavior. It is this abstraction feature which considerably simplifies the design and verification of coordination scripts and makes them highly platform independent and hence, portable. The abstract operational semantics of CLF scripts is given in terms of proof search. Currently, the fragment of Linear Logic used by the CLF scripting language is a small subset of LinLog [And92], which is itself a “complete” fragment of Linear Logic in terms of proof search (complete in the sense that proof search in full Linear Logic can be reduced without loss to proof search in LinLog). Extensions of CLF to larger fragments of LinLog are possible, and may lead to further refinements of the object model. 2 The Demonstration: Applications of the CLF There are two ways to demonstrate a middleware tool such as CLF: (i) focus on the middleware platform itself, but this is rather aimed at a somewhat specialized audience (developers of distributed object-based applications); (ii) show applications (or rather prototype applications) which have been developed using the platform. We propose to demonstrate here two prototype applications developed using CLF. The first one, called XFolder, is a lightweight workflow management system; the second one called XPect [AP98], is a generic electronic commerce broker. 2.1 XFolder: a Lightweight Workflow Management System XFolder uses the metaphor of the well-known circulation folder envelope to organize lightweight workflow within an organization or across several independent organizations (with possible access restrictions between them). A circulation folder consists of a set of documents, enclosed in an envelope, and a route, usually specified on the envelope, and describing the expected path of the envelope through different services (or people) of the organization(s) and the tasks to be performed at each stop. Whenever a user gets hold of the envelope, s/he can perform the current task assigned to it (e.g. read, create, modify, annotate a document, sign a sheet, insert a memo etc.), and, possibly, modify the route (e.g. extend it or change some tasks), then forward it. XFolder implements an electronic version of the traditional circulation folder, with additional features allowed by this “virtualization”. The architecture of the The Coordination Language Facility and Applications 3 system is described in Figure 3. The documents contained in the envelope are held in electronic form in heterogeneous document repositories implemented as CLF objects (the resources of which are the documents). The status of the individual folders (route, current active task in the route, assignment of tasks etc.) are held in a specific CLF object, the XFolder manager (the resources of which are the virtual envelopes). CLF scripts handle the notification of available tasks to each user, implement the task status transformation as tasks are performed, and take care of migrating documents across different repositories when needed (i.e. when a firewall or some access restriction prevents a document reference from being directly shared between users). 2.2 XPect: an Electronic Commerce Broker XPect realises the functionality of a broker for electronic commerce. It handles the coordination of the different partners involved in an electronic commerce transaction: customers, bankers, providers, delivery providers etc. Basically, the customer submits a query to the broker, describing items of interest. The broker browses through the catalogs of the different providers to extract offers matching the query constraints (description of good, required options, price limits etc.). The user may then select a set of different offers for purchase. This is different from the “shopping basket” of traditional electronic commerce systems in the sense that the selected items are considered as a whole: either all of them are available at the condition of the offers, and the commercial transaction is continued, or the whole transaction is cancelled (but the customer can always resume the search phase). This atomic behavior is ensured even across independent providers (e.g. with queries of the form “24x36mm camera from provider A and a matching 50mm lens from provider B”, or “10 hardcopies of a book X from bookshop A and a 24-hour delivery of the whole set from provider B”). XPect is implemented as a CLF application. The architecture of the system is described in Figure 4. The CLF objects involved are the providers, offering virtual or hard goods classified in catalogs, the financial services (credit cards, electronic cash etc.) and the customer management services. CLF scripts are used to implement the different phases of the electronic commerce transaction.

7 citations

Book ChapterDOI
TL;DR: In this paper, the authors discuss the importance of Herbrand's theorem for the proof theorist of 1981, 50 years after her death, and present their posterity in recent work.
Abstract: Publisher Summary Herbrand's “Theoreme Fondamental,” one of the milestones of mathematical logic, is one of the few basic results of proof theory, only challenged by Gentzen's Hauptsatz. The chapter discusses the importance of Herbrand's theorem for the proof theorist of 1981, 50 years after Herbrand's death. Direct uses or extensions of Herbrand's result are discussed, but also general ideas in proof theory that are still alive and can be—at least partly—ascribed to Herbrand, The chapter analyzes the main ideas in Herbrand's theorem—as they appear 50 years later—and presents their posterity in recent work, not connected with Herbrand's theorem. One of the major defects of Herbrand's theorem is the bad behavior with respect to implication. A regular notion with respect to this problem is obtained by Godel's functional interpretation, which can be thought as an unwinding of the no-counter example interpretation by means of functionals of finite type.

6 citations

Journal ArticleDOI
TL;DR: In this paper, the Kantian distinction between analytic (untyped, meaningless, locative) answers and synthetic answers was studied in a proof-theory setting, where the upper part of the proof-net is locative, whereas the lower part is spiritual.
Abstract: We study logic in the light of the Kantian distinction between analytic (untyped, meaningless, locative) answers and synthetic (typed, meaningful, spiritual) questions. Which is specially relevant to proof-theory: in a proof-net, the upper part is locative, whereas the lower part is spiritual: a posteriori (explicit) as far as correctness is concerned, a priori (implicit) for questions dealing with consequence, typically cut-elimination. The divides locative/spiritual and explicit/implicit give rise to four blocks which are enough to explain the whole logical activity.

6 citations

Journal ArticleDOI
TL;DR: The notion of a ptyx (plural, ptykes) is obtained by generalising the ordinals On and the dilators Dil introduced by Girard into a typed hierarchy by using strictly increasing maps f: x -* y as morphisms.
Abstract: ?0. Introduction. The notion of a ptyx (plural, ptykes) is obtained by generalising the ordinals On and the dilators Dil introduced by Girard [1] into a typed hierarchy. The notion is due to Girard, and a detailed treatment will appear in Girard [2]. In this Introduction we will give a summary of the theory of ptykes. It will be an advantage to be familiar with the theory of dilators as introduced in Girard [1] or as presented in Girard and Normann [3]. The class On of ordinals is organised into a category ON by using strictly increasing maps f: x -* y as morphisms. A dilator will be a functor F: ON -* ON commuting with pullbacks and direct limits. Associated with each dilator F there is a denotation system DF, obtained as follows: For each x E On and y E F(x), y can be given a unique denotation (c; x0,.. . , x"1; X)F, where ceF(n) (n= {O .. ., n-1}), y = F(0)(c) (where 0 is defined by 0(i) = xi for i < n), and for no m < n and 4: m -+ n do we have c E im(4). We let the trace Tr(F) be the set of pairs (c, n) occurring in a denotation. Tr(F) has a natural well-ordering: (c, n) < (d, m) when

6 citations


Cited by
More filters
Book
01 Jan 2002
TL;DR: This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages.
Abstract: A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems -- and of programming languages from a type-theoretic perspective -- has important applications in software engineering, language design, high-performance compilers, and security.This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.

2,391 citations

Journal ArticleDOI
TL;DR: This column presents an intuitive overview of linear logic, some recent theoretical results, and summarizes several applications oflinear logic to computer science.
Abstract: Linear logic was introduced by Girard in 1987 [11] . Since then many results have supported Girard' s statement, \"Linear logic is a resource conscious logic,\" and related slogans . Increasingly, computer scientists have come to recognize linear logic as an expressive and powerful logic with connection s to a variety of topics in computer science . This column presents a.n intuitive overview of linear logic, some recent theoretical results, an d summarizes several applications of linear logic to computer science . Other introductions to linear logic may be found in [12, 361 .

2,304 citations

Journal ArticleDOI
TL;DR: A λ-calculus-based model for type systems that allows us to explore the interaction among the concepts of type, data abstraction, and polymorphism in a simple setting, unencumbered by complexities of production programming languages is developed.
Abstract: Our objective is to understand the notion of type in programming languages, present a model of typed, polymorphic programming languages that reflects recent research in type theory, and examine the relevance of recent research to the design of practical programming languages.Object-oriented languages provide both a framework and a motivation for exploring the interaction among the concepts of type, data abstraction, and polymorphism, since they extend the notion of type to data abstraction and since type inheritance is an important form of polymorphism. We develop a l-calculus-based model for type systems that allows us to explore these interactions in a simple setting, unencumbered by complexities of production programming languages.The evolution of languages from untyped universes to monomorphic and then polymorphic type systems is reviewed. Mechanisms for polymorphism such as overloading, coercion, subtyping, and parameterization are examined. A unifying framework for polymorphic type systems is developed in terms of the typed l-calculus augmented to include binding of types by quantification as well as binding of values by abstraction.The typed l-calculus is augmented by universal quantification to model generic functions with type parameters, existential quantification and packaging (information hiding) to model abstract data types, and bounded quantification to model subtypes and type inheritance. In this way we obtain a simple and precise characterization of a powerful type system that includes abstract data types, parametric polymorphism, and multiple inheritance in a single consistent framework. The mechanisms for type checking for the augmented l-calculus are discussed.The augmented typed l-calculus is used as a programming language for a variety of illustrative examples. We christen this language Fun because fun instead of l is the functional abstraction keyword and because it is pleasant to deal with.Fun is mathematically simple and can serve as a basis for the design and implementation of real programming languages with type facilities that are more powerful and expressive than those of existing programming languages. In particular, it provides a basis for the design of strongly typed object-oriented languages.

1,875 citations

Book
01 Jan 1989
TL;DR: In this paper, the Curry-Howard isomorphism and the normalisation theorem of a natural deduction system T coherence spaces have been studied in the context of linear logic and linear logic semantics.
Abstract: Sense, denotation and semantics natural deduction the Curry-Howard isomorphism the normalisation theorem Godel's system T coherence spaces denotational semantics of T sums in natural deduction system F coherence semantics of the sum cut elimination (Hauptsatz) strong normalisation for F representation theorem semantics of System F what is linear logic?

1,771 citations

Book
01 Jan 2006
TL;DR: Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas.
Abstract: Constraint programming is a powerful paradigm for solving combinatorial search problems that draws on a wide range of techniques from artificial intelligence, computer science, databases, programming languages, and operations research. Constraint programming is currently applied with success to many domains, such as scheduling, planning, vehicle routing, configuration, networks, and bioinformatics. The aim of this handbook is to capture the full breadth and depth of the constraint programming field and to be encyclopedic in its scope and coverage. While there are several excellent books on constraint programming, such books necessarily focus on the main notions and techniques and cannot cover also extensions, applications, and languages. The handbook gives a reasonably complete coverage of all these lines of work, based on constraint programming, so that a reader can have a rather precise idea of the whole field and its potential. Of course each line of work is dealt with in a survey-like style, where some details may be neglected in favor of coverage. However, the extensive bibliography of each chapter will help the interested readers to find suitable sources for the missing details. Each chapter of the handbook is intended to be a self-contained survey of a topic, and is written by one or more authors who are leading researchers in the area. The intended audience of the handbook is researchers, graduate students, higher-year undergraduates and practitioners who wish to learn about the state-of-the-art in constraint programming. No prior knowledge about the field is necessary to be able to read the chapters and gather useful knowledge. Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas. The handbook is organized in two parts. The first part covers the basic foundations of constraint programming, including the history, the notion of constraint propagation, basic search methods, global constraints, tractability and computational complexity, and important issues in modeling a problem as a constraint problem. The second part covers constraint languages and solver, several useful extensions to the basic framework (such as interval constraints, structured domains, and distributed CSPs), and successful application areas for constraint programming. - Covers the whole field of constraint programming - Survey-style chapters - Five chapters on applications Table of Contents Foreword (Ugo Montanari) Part I : Foundations Chapter 1. Introduction (Francesca Rossi, Peter van Beek, Toby Walsh) Chapter 2. Constraint Satisfaction: An Emerging Paradigm (Eugene C. Freuder, Alan K. Mackworth) Chapter 3. Constraint Propagation (Christian Bessiere) Chapter 4. Backtracking Search Algorithms (Peter van Beek) Chapter 5. Local Search Methods (Holger H. Hoos, Edward Tsang) Chapter 6. Global Constraints (Willem-Jan van Hoeve, Irit Katriel) Chapter 7. Tractable Structures for CSPs (Rina Dechter) Chapter 8. The Complexity of Constraint Languages (David Cohen, Peter Jeavons) Chapter 9. Soft Constraints (Pedro Meseguer, Francesca Rossi, Thomas Schiex) Chapter 10. Symmetry in Constraint Programming (Ian P. Gent, Karen E. Petrie, Jean-Francois Puget) Chapter 11. Modelling (Barbara M. Smith) Part II : Extensions, Languages, and Applications Chapter 12. Constraint Logic Programming (Kim Marriott, Peter J. Stuckey, Mark Wallace) Chapter 13. Constraints in Procedural and Concurrent Languages (Thom Fruehwirth, Laurent Michel, Christian Schulte) Chapter 14. Finite Domain Constraint Programming Systems (Christian Schulte, Mats Carlsson) Chapter 15. Operations Research Methods in Constraint Programming (John Hooker) Chapter 16. Continuous and Interval Constraints(Frederic Benhamou, Laurent Granvilliers) Chapter 17. Constraints over Structured Domains (Carmen Gervet) Chapter 18. Randomness and Structure (Carla Gomes, Toby Walsh) Chapter 19. Temporal CSPs (Manolis Koubarakis) Chapter 20. Distributed Constraint Programming (Boi Faltings) Chapter 21. Uncertainty and Change (Kenneth N. Brown, Ian Miguel) Chapter 22. Constraint-Based Scheduling and Planning (Philippe Baptiste, Philippe Laborie, Claude Le Pape, Wim Nuijten) Chapter 23. Vehicle Routing (Philip Kilby, Paul Shaw) Chapter 24. Configuration (Ulrich Junker) Chapter 25. Constraint Applications in Networks (Helmut Simonis) Chapter 26. Bioinformatics and Constraints (Rolf Backofen, David Gilbert)

1,527 citations