Formal verification of the equivalence of system F and the pure type system L2

We develop a formal proof of the equivalence of two different variants of System F. The first is close to the original presentation where expressions are separated into distinct syntactic classes of types and terms. The second, L2 (also written as λ2), is a particular pure type system (PTS) where th...

Full description

Bibliographic Details
Main Author: Kaiser, Jonas
Other Authors: Smolka, Gert
Format: Doctoral or Postdoctoral Thesis
Language:English
Published: Saarländische Universitäts- und Landesbibliothek 2019
Subjects:
Sog
Online Access:http://nbn-resolving.org/urn:nbn:de:bsz:291--ds-284251
https://doi.org/10.22028/D291-28425
id ftscidok:oai:publikationen.sulb.uni-saarland.de:20.500.11880/27836
record_format openpolar
spelling ftscidok:oai:publikationen.sulb.uni-saarland.de:20.500.11880/27836 2024-02-11T10:02:31+01:00 Formal verification of the equivalence of system F and the pure type system L2 Kaiser, Jonas Smolka, Gert 2019 http://nbn-resolving.org/urn:nbn:de:bsz:291--ds-284251 https://doi.org/10.22028/D291-28425 eng eng Saarländische Universitäts- und Landesbibliothek http://www.ps.uni-saarland.de/static/kaiser-diss/index.php http://nbn-resolving.org/urn:nbn:de:bsz:291--ds-284251 hdl:20.500.11880/27836 http://dx.doi.org/10.22028/D291-28425 openAccess Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt ddc:004 ddc:510 pure type system System F de Bruijn syntax higher-order abstract syntax contextual reasoning doc-type:doctoralThesis 2019 ftscidok https://doi.org/10.22028/D291-28425 2024-01-22T23:07:23Z We develop a formal proof of the equivalence of two different variants of System F. The first is close to the original presentation where expressions are separated into distinct syntactic classes of types and terms. The second, L2 (also written as λ2), is a particular pure type system (PTS) where the notions of types and terms, and the associated expressions are unified in a single syntactic class. The employed notion of equivalence is a bidirectional reduction of the respective typing relations. A machine-verified proof of this result turns out to be surprisingly intricate, since the two variants noticeably differ in their expression languages, their type systems and the binding of local variables. Most of this work is executed in the Coq theorem prover and encompasses a general development of the PTS metatheory, an equivalence result for a stratified and a PTS variant of the simply typed λ-calculus as well as the subsequent extension to the full equivalence result for System F. We utilise nameless de Bruijn syntax with parallel substitutions for the representation of variable binding and develop an extended notion of context morphism lemmas as a structured proof method for this setting. We also provide two developments of the equivalence result in the proof systems Abella and Beluga, where we rely on higher-order abstract syntax (HOAS). This allows us to compare the three proof systems, as well as HOAS and de Bruijn for the purpose of developing formal metatheory. Wir präsentieren einen maschinell verifizierten Beweis der Äquivalenz zweier Darstellungen des Lambda-Kalküls System F. Die erste unterscheidet syntaktisch zwischen Termen und Typen und entspricht somit der geläufigen Form. Die zweite, L2 bzw. λ2, ist ein sog. Pure Type System (PTS), bei welchem alle Ausdrücke in einer syntaktischen Klasse zusammen fallen. Unser Äquivalenzbegriff ist eine bidirektionale Reduktion der jeweiligen Typrelationen. Ein formaler Beweis dieser Eigenschaft ist aufgrund der Unterschiede der Ausdruckssprachen, der ... Doctoral or Postdoctoral Thesis Beluga Beluga* Scientific publications of the Saarland University (UdS) Lambda ENVELOPE(-62.983,-62.983,-64.300,-64.300) Sog ENVELOPE(-20.972,-20.972,63.993,63.993)
institution Open Polar
collection Scientific publications of the Saarland University (UdS)
op_collection_id ftscidok
language English
topic ddc:004
ddc:510
pure type system
System F
de Bruijn syntax
higher-order abstract syntax
contextual reasoning
spellingShingle ddc:004
ddc:510
pure type system
System F
de Bruijn syntax
higher-order abstract syntax
contextual reasoning
Kaiser, Jonas
Formal verification of the equivalence of system F and the pure type system L2
topic_facet ddc:004
ddc:510
pure type system
System F
de Bruijn syntax
higher-order abstract syntax
contextual reasoning
description We develop a formal proof of the equivalence of two different variants of System F. The first is close to the original presentation where expressions are separated into distinct syntactic classes of types and terms. The second, L2 (also written as λ2), is a particular pure type system (PTS) where the notions of types and terms, and the associated expressions are unified in a single syntactic class. The employed notion of equivalence is a bidirectional reduction of the respective typing relations. A machine-verified proof of this result turns out to be surprisingly intricate, since the two variants noticeably differ in their expression languages, their type systems and the binding of local variables. Most of this work is executed in the Coq theorem prover and encompasses a general development of the PTS metatheory, an equivalence result for a stratified and a PTS variant of the simply typed λ-calculus as well as the subsequent extension to the full equivalence result for System F. We utilise nameless de Bruijn syntax with parallel substitutions for the representation of variable binding and develop an extended notion of context morphism lemmas as a structured proof method for this setting. We also provide two developments of the equivalence result in the proof systems Abella and Beluga, where we rely on higher-order abstract syntax (HOAS). This allows us to compare the three proof systems, as well as HOAS and de Bruijn for the purpose of developing formal metatheory. Wir präsentieren einen maschinell verifizierten Beweis der Äquivalenz zweier Darstellungen des Lambda-Kalküls System F. Die erste unterscheidet syntaktisch zwischen Termen und Typen und entspricht somit der geläufigen Form. Die zweite, L2 bzw. λ2, ist ein sog. Pure Type System (PTS), bei welchem alle Ausdrücke in einer syntaktischen Klasse zusammen fallen. Unser Äquivalenzbegriff ist eine bidirektionale Reduktion der jeweiligen Typrelationen. Ein formaler Beweis dieser Eigenschaft ist aufgrund der Unterschiede der Ausdruckssprachen, der ...
author2 Smolka, Gert
format Doctoral or Postdoctoral Thesis
author Kaiser, Jonas
author_facet Kaiser, Jonas
author_sort Kaiser, Jonas
title Formal verification of the equivalence of system F and the pure type system L2
title_short Formal verification of the equivalence of system F and the pure type system L2
title_full Formal verification of the equivalence of system F and the pure type system L2
title_fullStr Formal verification of the equivalence of system F and the pure type system L2
title_full_unstemmed Formal verification of the equivalence of system F and the pure type system L2
title_sort formal verification of the equivalence of system f and the pure type system l2
publisher Saarländische Universitäts- und Landesbibliothek
publishDate 2019
url http://nbn-resolving.org/urn:nbn:de:bsz:291--ds-284251
https://doi.org/10.22028/D291-28425
long_lat ENVELOPE(-62.983,-62.983,-64.300,-64.300)
ENVELOPE(-20.972,-20.972,63.993,63.993)
geographic Lambda
Sog
geographic_facet Lambda
Sog
genre Beluga
Beluga*
genre_facet Beluga
Beluga*
op_relation http://www.ps.uni-saarland.de/static/kaiser-diss/index.php
http://nbn-resolving.org/urn:nbn:de:bsz:291--ds-284251
hdl:20.500.11880/27836
http://dx.doi.org/10.22028/D291-28425
op_rights openAccess
Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt
op_doi https://doi.org/10.22028/D291-28425
_version_ 1790598534405292032