11 Feb 1991 19:43
Long beta/eta normal forms
Date: Mon, 11 Feb 91 14:14:49 gmt The presentation of eta-rules for exponentials and pairing in the simply typed lambda calculus as contractions lambda x.fx ==> f <p1(c),p2(c)> ==> c (pi is the ith projection) leads to a number of difficulties. Notably, confluence only holds when the only terms of type 1 which appear are instances of the constant *:1. One solution to this problem is to perform the reuction in two stages: first beta-reduce as much as possible and then perform some eta-expansions f ==> lambda x.fx c ==> <p1(c),p2(c)> The question here is "Why are there two reduction systems in play?" I came to this problem while trying to create a semantics for the lambda calculus in which these reductions appear as 2-cells, or an ordering, between the morphisms of a category. In order to have a satisfying notion of adjunction in this setting (a local adjunction) the local unit of the adjunctions must be given by eta-expansions. The local triangle laws become fa ==> (lambda x.fx)a ==> fa lambda x.fx ==> lambda y.(lambda x.fx)y ==> lambda y.fy pi(c) ==> pi<p1(c),p2(c)> ==> pi(c)(Continue reading)
RSS Feed