Christine Paulin-Mohring
École normale supérieure de Lyon
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Christine Paulin-Mohring.
international conference on typed lambda calculi and applications | 1993
Christine Paulin-Mohring
In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higher-order quantification. However, this representation is not satisfactory, from the point of view of both the efficiency of the underlying programs and the power of the logical system. For these reasons, the calculus was extended with a primitive notion of inductive definitions [8]. This paper describes the rules for inductive definitions in the system Coq. They are general enough to be seen as one formulation of adding inductive definitions to a typed lambda-calculus. We prove strong normalization for a subsystem of Coq corresponding to the pure Calculus of Constructions plus Inductive Definitions with only weak eliminations.
Journal of Symbolic Computation | 1993
Christine Paulin-Mohring; Benjamin Werner
The system Coq (Dowek et al., 1991) is an environment for proof development based on the Calculus of Constructions (Coquand, 1985) (Coquand and Huet, 1985) enhanced with inductive definitions (Coquand and Paulin-Mohring, 1990). From a constructive proof formalized in Coq, one extracts a functional program which can be compiled and executed in ML. This paper describes how to obtain ML programs from proofs in Coq. The methods are illustrated with the example of a propositional tautology checker. We study the specification of the problem, the development of the proof and the extraction of the executable ML program. Part of the example is the development of a normalization function for IF-expressions, whose termination has been studied in several formalisms (Leszczylowski, 1981) (Paulson, 1986) (Dybjer, 1990). We show that the total program using primitive recursive functionals obtained out of a structural proof of termination leads to an (at first) surprisingly efficient algorithm. We explain also how to introduce a fixpoint and get the usual recursive program. Optimizations which are necessary in order to obtain efficient programs from proofs will be explained. We also justify the properties of the final ML program with respect to the initial specification.
INRIA | 2000
Gérard P. Huet; Christine Paulin-Mohring
INRIA | 1997
Bruno Barras; Samuel Boutin; Cristina Cornes; Judicaël Courant; Jean-Christophe Filliâtre; Eduardo Giménez; Hugo Herbelin; Gérard P. Huet; César Muñoz; Chetan Murthy; Catherine Parent; Christine Paulin-Mohring; Amokrane Saïbi; Benjamin Werner
INRIA | 1993
Gilles Dowek; Amy P. Felty; Hugo Herbelin; Gérard P. Huet; C. Siva Ram Murthy; Catherine Parent; Christine Paulin-Mohring; Bengt Werner
Archive | 1989
Christine Paulin-Mohring
INRIA | 2005
Gérard P. Huet; Gilles Kahn; Christine Paulin-Mohring
types for proofs and programs | 2006
Jean-Christophe Filliâtre; Christine Paulin-Mohring; Benjamin Werner
types for proofs and programs | 1998
Eduardo Giménez; Christine Paulin-Mohring
Archive | 1998
Jean-Christophe Filliâtre; Christine Paulin-Mohring; Benjamin Werner