![]() |
CiteULike | ![]() |
Benja's CiteULike | ![]() |
![]() |
|
![]() |
Register | ![]() |
Log in | ![]() |
Observational equality, now!In PLPV '07: Proceedings of the 2007 workshop on Programming languages meets program verification (2007), pp. 57-68.
|
Reviews
[Write a review of this article]
Find related articles from these CiteULike users
Find related articles with these CiteULike tags
Posting History
AbstractThis paper has something new and positive to say about propositional equality in programming and proof systems based on the Curry-Howard correspondence between propositions and types. We have found a way to present a propositional equality type which is substitutive , allowing us to reason by replacing equal for equal in propositions; which reflects the observable behaviour of values rather than their construction: in particular, we have extensionality -- functions are equal if they take equal inputs to equal outputs; which retains strong normalisation, decidable typechecking and canonicity --the property that closed normal forms inhabiting datatypes have canonical constructors; which allows inductive data structures to be expressed in terms of a standard characterisation of well-founded trees ; which is presented syntactically --you can implement it directly, and we are doing so this approach stands at the core of Epigram 2; which you can play with now: we have simulated our system by a shallow embedding in Agda 2, shipping as part of the standard examples package for that system [21]. .
BibTeX record
RIS record