[TYPES] Y-combinator in Type:Type?

Thorsten Altenkirch txa at Cs.Nott.AC.UK
Mon May 19 10:16:05 EDT 2008


Actually, the initial PTS (Type : Type) has got no identity types but  
only Pi-types. However, we can encode an equality type using the usual  
"Leibniz encoding"

Eq : (A:Type) -> A -> A -> Type
Eq A a b = Pi P:A -> Type.P a -> P b

and this behaves like intensional equality actually worse: we cannot  
even show that equality is a groupoid (actually using eta we can show  
that it is a category but the laws involving symmetry require  
parametricity, I think).

If you add W-types with the normal elimination principle you get a  
fixpoint combinator (See Thierry's paper on the paradox of Trees).  
That's maybe cheaper then extensional equality (depending on your  
currency). The problem is that the impredicative encodings don't give  
you primitive recursion but only iteration - I'd say.

Cheers,
Thorsten

On 16 May 2008, at 16:41, Thomas Streicher wrote:

> [ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list 
>  ]
>
> But if you have Type:Type together with extensional identity types  
> then
> every type X is equal to X->X and thus provides a model for untyped
> lambda calculus and thus allows one to write down an Y-combinator of  
> type X.
>
> So the problem is open because of intensional identity types, isn't  
> it?
>
> Thomas


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.



More information about the Types-list mailing list