A logical study of program equivalence

Guilhem Jaber 1, 2
2 ASCOLA - Aspect and composition languages
Inria Rennes – Bretagne Atlantique , Département informatique - EMN, LINA - Laboratoire d'Informatique de Nantes Atlantique
Abstract : Proving program equivalence for a functional language with references is a notoriously difficult problem. The goal of this thesis is to propose a logical system in which such proofs can be formalized, and in some cases inferred automatically. In the first part, a generic extension method of dependent type theory is proposed, based on a forcing interpretation seen as a presheaf translation of type theory. This extension equips type theory with guarded recursive constructions, which are subsequently used to reason on higher-order references. In the second part, we define a nominal game semantics for a language with higher-order references. It marries the categorical structure of game semantics with a trace representation of denotations of programs, which can be computed operationally and thus have good modularity properties. Using this semantics, we can prove the completeness of Kripke logical relations defined in a direct way, using guarded recursive types, without using biorthogonality. Such a direct definition requires omniscient worlds and a fine control of disclosed locations. Finally, we introduce a temporal logic which gives a framework to define these Kripke logical relations. The problem of contextual equivalence is then reduced to the satisfiability of an automatically generated formula defined in this logic, i.e. to the existence of a world validating this formula. Under some conditions, this satisfiability can be decided using a SMT solver. Completeness of our methods opens the possibility of getting decidability results of contextual equivalence for some fragments of the language, by giving an algorithm to build such worlds.
Document type :
Theses
Complete list of metadatas

Cited literature [67 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01126927
Contributor : Abes Star <>
Submitted on : Friday, March 6, 2015 - 10:56:37 PM
Last modification on : Friday, June 22, 2018 - 9:35:01 AM
Long-term archiving on : Sunday, June 7, 2015 - 7:35:33 PM

File

2014EMNA0124.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01126927, version 1

Citation

Guilhem Jaber. A logical study of program equivalence. Programming Languages [cs.PL]. Ecole des Mines de Nantes, 2014. English. ⟨NNT : 2014EMNA0124⟩. ⟨tel-01126927⟩

Share

Metrics

Record views

497

Files downloads

328