I'd like to do automated inference, say solving word problems or reducing to normal form, in an equational theory of the typed lambda calculus (with product and unit types). Equivalently, in category-theoretic language: I'd like to do inference in a cartesian closed category presented by a finite set of generators and relations. I would be interested in any references on this topic.

I understand that inference in this setting is generally undecidable. However, I wonder whether there is any literature that either gives useful conditions under which exact inference is possible or proposes heuristic algorithms for approximate inference.

  • $\begingroup$ The Seven Virtues of Simple Type Theory by William M. Farmer is a very good introduction, if you haven't read it or something similar yet. The issue of undecidability is handled there by using "general models" (Henkin semantics) instead of "standard models". Section 6 "Provability" gives a proof system for SST (which has the same consistency strength as bounded Zermelo set theory aka Mac Lane set theory). $\endgroup$ – Thomas Klimpel May 20 '17 at 10:48

At least the problem of whether 2 terms are equal modulo the theory of Cartesian Closed Categories (or $\beta\eta$ conversion) is decidable, because (in part) of the normalization property.

Another, more categorical way to see this is by extracting a conversion algorithm through normalization by evaluation which gives decision procedures for equality in categories which can naturally be embedded in the presheaf or sheaf category over sets.

See e.g. Altenkirch, Dybjer, Hoffmann & Scott, Normalization by Evaluation for Typed Lambda Calculus with Coproducts

for the version with products and coproducts (the version for just CCCs without coproducts can be found in the references).

An account which gives examples of implementations can be found here.

Solving more complex questions than conversion, or solving conversion questions in the presence of datatypes like the natural numbers becomes undecidable rather quickly. I'm not aware of much work on algorithms for such systems, which I would be interested in as well. One could try simply encoding the equational theory into a first-order logic prover like Vampire, but I don't know how well that would work. It would be an interesting experiment!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.