Unique solution techniques for processes and functions - TEL - Thèses en ligne
Thèse Année : 2020

Unique solution techniques for processes and functions

Techniques d'unicité des solutions pour processus concurrents et fonctions

Résumé

The bisimulation proof method is a landmark of the theory of concurrency and programming languages: it is a proof technique used to establish that two programs, or two distributed protocols, are equal, meaning that they can be freely substituted for one another without modifying the global observable behaviour. Such proofs are often difficult and tedious; hence, many proof techniques have been proposed to enhance this method, simplifying said proofs. We study such a technique based on ’unique solution of equations’. In order to prove that two programs are equal, we show that they are solution of the same recursive equation, as long as the equation has the ’unique solution property’: two of its solutions are always equal. We propose a guarantee to ensure that such equations do have a unique solution. We test this technique against a long- standing open problem: the problem of full abstraction for Milner’s encoding of the call-by-value λ-calculus in the π-calculus.
La méthode de preuve par bisimulation est un pilier de la théorie de la concurrence et des langages de programmation. Cette technique permet d’établir que deux programmes, ou deux protocoles distribués, sont égaux, au sens où l’on peut substituer l’un par l’autre sans affecter le comportement global du système. Les preuves par bisimulation sont souvent difficiles et techniquement complexes. De ce fait, diverses techniques ont été proposées pour faciliter de telles preuve. Dans cette thèse, nous étudions une telle technique de preuve pour la bisimulation, fondée sur l’unicité des solutions d’équations. Pour démontrer que deux programmes sont égaux, on prouve qu’ils sont solution de la même équation, à condition que l’équation satisfasse la propriété d’unicité des solutions : deux solutions de l’équation sont nécessairement égales. Nous utilisons cette technique pour répondre à une question ouverte, à savoir le problème de full abstraction pour l’encodage, dû à Milner, du λ-calcul en appel par valeur dans le π-calcul.
La bisimulazione è una tecnica di prova fondamentale in teoria della concorrenza e dei linguaggi di programmazione. Questa tecnica viene usata per dimostrare che due programmi, o due protocolli distribuiti, sono uguali, nel senso che l’uno puòsostituire l’altro senza modificare il comportamento globale del sistema. Le prove di bisimulazione sono spesso difficili e tecnicamente pesanti. Per questa ragione, varie tecniche di prova sono state introdotte per facilitare le prove di bisimulazione.In questo documento viene studiata tale tecnica, che sfrutta l’unicità delle soluzioni di equazioni. Per dimostrare che due programmi sono uguali, si stabilisce che sono soluzioni della stessa equazione ricorsiva, dal momento in cuil’equazione soddisfa una proprietà di “unicità delle soluzioni”: ogni due soluzioni di questa equazione sono uguali. Questa tecnica viene usata per rispondere alla questione della full abstraction per l’encodaggio del _-calcolo in call-by-value nel_-calcolo, proposto inizialmente da R. Milner.
Fichier principal
Vignette du fichier
DURIER_2020LYSEN016_these.pdf (1.8 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)
Loading...

Dates et versions

tel-02947048 , version 1 (23-09-2020)

Identifiants

  • HAL Id : tel-02947048 , version 1

Citer

Adrien Durier. Unique solution techniques for processes and functions. Programming Languages [cs.PL]. Université de Lyon; Università degli studi (Bologne, Italie), 2020. English. ⟨NNT : 2020LYSEN016⟩. ⟨tel-02947048⟩
148 Consultations
162 Téléchargements

Partager

More