[TYPES] Fwd: polymorphic isomorphisms

Paul B Levy P.B.Levy at cs.bham.ac.uk
Mon Jan 28 08:23:51 EST 2008


Thanks Thorsten.

Masahito Hasegawa pointed out to me that all the isomorphisms I mentioned 
are provable in Plotkin-Abadi logic and System R.

Paul

PS System F is consistent :-)



On Mon, 28 Jan 2008, Thorsten Altenkirch wrote:

> Hi Paul,
>
> On 24 Jan 2008, at 14:24, Thorsten Altenkirch wrote:
>> we know that parametricity implies that
>> 
>> mu X.B(X) ~ Pi X.(B(X) -> X) -> X
>> 
>> where X is positive in B. Your question (2) seems to boil down to
>> 
>> A(Pi X.(B(X) -> X) -> X) ~ Pi X.(B(X) -> X) -> A(X)
>> 
>> which I think is also implied by parametricity (but I haven't checked
>> it).
>
> I have now, it does indeed follow. The candidate isomorphism
>
> (phi,phi^-1) : A(mu X.B(X)) ~ Pi X.(B(X) -> X) -> A(X)
>
> clearly is
>
> phi a X f  = A (fold X f) a
> phi^-1 f = f mu in
>
> where mu X.B(X) = Pi X.(B(X) -> X) -> X ,
> fold : Pi X.(B(X) -> X) -> mu X.B(X) -> X
> fold X f b =  b X f
> in : B(mu X.B(X)) -> mu X.B(X)
> in b X f = f (B(fold f) b)
>
> To see that phi^-1 o phi = id we only need the functor laws for A and that 
> fold (mu X.B(X)) in = id which is indeed a part of Wadler's proof that mu 
> X.B(X) is initial. To show that phi o phi^-1 = id we need to employ 
> parametricity: given g : Pi X.(B(X) -> X) -> A(X) then for any B-algebra f: 
> A(C) -> C we have that f is related to in in the relational interpretation of 
> A(X) -> X applied to the graph of fold f, which I denote as (fold f)^#. 
> Hence, by parametricity of g we have that g X f and g (mu X. B(X)) in are 
> related in the raelational interpretation of B(X) applied to (fold f)^#, 
> which can be spells out as B (fold X f)(g (mu X.B(X) in) = g X f. This 
> implies the desired result using eta
>
> phi (phi^- g) = \ X f.B(fold f) (g mu X.B(X) in)
> = \ X f .g X f
> = g
>
> Background can be found in Wadler's seminal paper "Theorem's for free" and 
> his note "Recursive types for free!" available from 
> http://homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/free-rectypes.txt 
> (was this ever published?). I also summarized this in a recent post on our 
> fp-lunch blog (http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=83).
>
> Disclaimer: For those who know me better, I'd like to point out that I 
> consider System F only as a formal game inspired by Type:Type, whose 
> consistency (i.e. Pi X.X is empty) is irrelevant for the discussion above. 
> :-)
>
> Cheers,
> Thorsten
>
> P.S. Why are you actually interested in those isos?
>
>
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses, which could damage your computer system:
> you are advised to perform your own checks. Email communications with the
> University of Nottingham may be monitored as permitted by UK legislation.
>

-- 
Paul Blain Levy              email: pbl at cs.bham.ac.uk
School of Computer Science, University of Birmingham
Birmingham B15 2TT, U.K.      tel: +44 121-414-4792
http://www.cs.bham.ac.uk/~pbl


More information about the Types-list mailing list