Réécriture d'ordre supérieur avec motifs
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
Modern functional programming languages and proof assistants allow their users to specify functions by case. However, the theoretical foundation of all these softwares is the [lambda]-calculus (or one of its higher order extensions) which does not allows to use explicitly case defined functions. In this thesis, we propose two higher order rewriting formalisms that allow case analysis function and pattern matching using "à la ML" patterns. The first one, the [lambda]Pw-calculus, is an extension of the [lambda]-calculus to the case of both explicit pattern matching and substitutions (à la [lambda]-[sigma]). We show that [lambda]Pw enjoys the classical properties of confluence on ground terms on one hand and of subject reduction and termination on well-typed terms on the other. The second formalism, the ERSP, is an extension of the ERS to the case of " à la ML" patterns. The ERSP are a new higher order rewriting formalism that allow to define higher order functions using pattern matching. Both pattern matching and substitutions are left in the meta-level in this formalism. We prove the confluence of a natural subclass of the ERSP. Our confluence condition is strongly inspired by the one present in the classical higher order rewriting formalism namely orthogonality.
Abstract FR:
Les langages de programmation fonctionnels et les assistants de preuve modernes permettent tous de définir des fonctions par cas. Cependant, leur fondement théorique est le formalisme du [lambda]-calcul (ou de l'une de ses extensions à l'ordre supérieur) qui ne permet pas l'utilisation de définition par cas de manière explicite. Nous proposons dans cette thèse deux formalismes de réécriture d'ordre supérieur permettant la définition de fonctions par cas à l'aide de motifs " à la ML". Le premier, le [lambda]Pw-calcul, est une extension du [lambda]-calcul aux systèmes de filtrage explicite et de substitutions à la [lambda]-[sigma]. Nous démontrons, pour le [lambda]Pw-calcul, les propriétés de confluence sur l'ensemble des termes ainsi que la préservation de types par réduction et la terminaison pour l'ensemble des termes bien typés. Notre second formalisme est une extension des ERS aux systèmes de motifs " à la ML": les ERSP. Les ERSP sont un formalisme de réécriture d'ordre supérieur qui autorise la définition de fonctions d'ordre supérieur utilisant des motifs complexes de manière explicite. Contrairement au [lambda]Pw-calcul, le filtrage et la substitution sont définis de manière implicite dans le cadre des ERSP. Nous prouvons la confluence d'une classe naturelle de ERSP. Notre condition de confluence est directement inspirée de la condition classique d'orthogonalité pour les systèmes de réécriture d'ordre supérieur.