[TYPES] semantic coherence for simply typed lambda-calculus
Guillaume Munch-Maccagnoni
Guillaume.Munch at Inria.fr
Thu May 4 12:09:11 EDT 2017
Dear Paul,
Since there was (several replies but) no answer to your question (asking
for a reference), this may be of interest to the list.
Our coherence theorem for Call-by-Push-Value from the paper in
collaboration with M. Fiore and P.-L. Curien [1] extends to Curry's
style with the help of a concise strong normalisation proof adapted from
[2,3]. In this setting strong normalisation is essentially the
completeness of focusing, so enough to reach the useful normal forms.
This is written in the following short note:
<http://guillaume.munch.name/files/curry.pdf> (section 6.5). It holds
for any CBPV model (for any sensible interpretation including
call-by-name and call-by-value) though you only asked for the case of
BiCCCs (where the various sensible interpretations coincide).
In Curry's style, it turns out, one has to be clear about how
conversions are defined, since the notion of type-preserving conversion
between terms does not coincide with that of conversion between
derivations. For instance if x does not appear in M then (λx.M) * →
(λx.M) N preserves the typing whatever the type of N, but this does not
correspond to a conversion between derivations if the type of x must
change. A similar example involves the empty type instead of the unit
type. But, using strong normalisation again one can prove that their
equivalence closures are the same.
This note substantiates Gabriel's and Paolo's good insights.
Best regards,
Guillaume
[1] P.-L. Curien, M. Fiore, and G. MM, “A Theory of Effects and
Resources: Adjunction Models and Polarised Calculi”, in Proc. POPL, 2016.
[2] G. MM, “Focalisation and Classical Realisability”, in Proc. CSL, 2009.
[3] G. MM, “λ-calcul, machines et orthogonalité”, manuscript, June 2012.
Le 02/02/2017 à 20:11, Paul B Levy a écrit :
> [ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
>
> Dear all,
>
> Take simply typed lambda-calculus with ->, x, +, 0, 1 types.
> Specifically the Curry-style formulation with no type annotations
> whatsoever, neither on lambda nor on inl nor on anything else.
>
> Here are the two "coherence" statements I'm interested in.
>
> (1) Any two derivations of Gamma |- M : A have the same denotation.
>
> (2) More generally, for any bicartesian closed category C, any two
> derivations of Gamma |- M : A have the same denotation in C.
>
> I can see roughly how to prove these, but before working it out would
> like to ask: do these results appear in the literature? My impression
> is that people have studied semantic coherence for fancy languages (e.g.
> with subtypes and dependent types), so surely the above statements, or
> at least (1), are a simple case of some result in the literature.
>
> Best regards,
> Paul
>
>
>
--
Guillaume Munch-Maccagnoni
Researcher at Inria Bretagne Atlantique
Team Gallinette
More information about the Types-list
mailing list