[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]

Hello Ryan,

Dan Licata, Bob Harper, and I designed an algorithm for deciding beta-eta equality for the simply typed lambda calculus with 0, 1, +, and * but without unspecified base types. The basic idea is that all of these types are finitely inhabited so we can enumerate their inhabitants to uniquely identify a member of each type. As you mention, finding a unique canonical form is the tricky part. We essentially used a form of multi-focusing that focused on everything in the context it possibly could simultaneously and then performed all necessary inversions simultaneously as well. This means if there is a variable of type bool -> bool in the context, a canonical form in this context must apply this function to both true and false simultaneously to uniquely determine which of the four possible functions of this type the variable represents. We haven't published this result, but I can send you more information if you're interested.

I would also point you to the work of Lindley in Typed Lambda Calculus and Applications 2007. This gives a decision procedure based on extensional rewriting for the simply typed lambda calculus with + and *. It does not include 0 and 1 but suggests these wouldn't be too hard to add.

Arbob Ahmad

Tadeusz Litak wrote:
[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]

Hello Ryan,

it's not exactly my area, but the LiCS'01 reference that you quote mentions earlier work of Neil Ghani: >>A decision procedure for cartesian closed categories with binary coproducts has been presented in Ghani's the- sis [Gh95a] (see [Gh95b] for a summary) <<

[Gh95b] comments on the addition of empty type at the beginning of Section 3.

And [Gh95a], i.e., Neil's PhD Thesis available at this link:
http://hdl.handle.net/1842/404
discusses the subject in conclusions on p. 145. Also see "Initial objects" subsection on p. 104.

Although I cannot find the reference "Inconsistency and extensionality" anywhere: not sure if it materialized.

Anyway, HTH ...
Best,
t.

On 9/20/13 1:36 PM, Ryan Wisnesky wrote:
[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]

Hello,

I am trying to find a reference that states whether or not the free bi-cartesian closed category is decidable. That is, I am wondering if beta-eta equality of the simply typed lambda calculus extended with strong 0,1,+,* types is decidable. (In particular, I am interested in the full calculus, including the eliminator for 0, introduction for 1, and eta for all types).

So far, my search through the literature says that the answer to this question is "almost" or "maybe" :

- the STLC with strong 1,+,* types is decidable (omits 0, the empty type): http://www.cs.nott.ac.uk/~txa/publ/lics01.pdf

- the STLC with strong 0,1,+,* types has normal forms, but equivalent terms may have different such normal forms:http://www.cl.cam.ac.uk/~mpf23/papers/Types/tdpe.pdf

- work on mechanized proofs of correctness for deciding co-product equality may or may not include the "absurd" eliminator for the empty type: http://www.cis.upenn.edu/~sweirich/wmm/wmm07/programme/licata.pdf

I feel like the answer to this question is probably well-known, but I can't seem to find it in the literature. Any help would be appreciated.

Thanks,
Ryan




Reply via email to