Leibniz equality is isomorphic to Martin-Löf identity, parametrically

Publikation: Bidrag til tidsskrift/Konferencebidrag i tidsskrift /Bidrag til avisTidsskriftartikelForskningpeer review

DOI

  • Andreas Abel, Gothenburg University
  • ,
  • Jesper Cockx, TU Delft
  • ,
  • Dominique Devriese, Vrije Universiteit Brussel
  • ,
  • Amin Timany
  • Philip Wadler, University of Edinburgh

Consider two widely used definitions of equality. That of Leibniz: One value equals another if any predicate that holds of the first holds of the second. And that of Martin-Löf: The type identifying one value with another is occupied if the two values are identical. The former dates back several centuries, while the latter is widely used in proof systems such as Agda and Coq. Here we show that the two definitions are isomorphic: We can convert any proof of Leibniz equality to one of Martin-Löf identity and vice versa, and each conversion followed by the other is the identity. One direction of the isomorphism depends crucially on values of the type corresponding to Leibniz equality satisfying functional extensionality and Reynolds' notion of parametricity. The existence of the conversions is widely known (meaning that if one can prove one equality then one can prove the other), but that the two conversions form an isomorphism (internally) in the presence of parametricity and functional extensionality is, we believe, new. Our result is a special case of a more general relation that holds between inductive families and their Church encodings. Our proofs are given inside type theory, rather than meta-theoretically. Our paper is a literate Agda script.

OriginalsprogEngelsk
Artikelnummere17
TidsskriftJournal of Functional Programming
Vol/bind30
Antal sider14
ISSN0956-7968
DOI
StatusUdgivet - jun. 2020

Se relationer på Aarhus Universitet Citationsformater

ID: 191387917