Hostname: page-component-848d4c4894-ndmmz Total loading time: 0 Render date: 2024-05-10T22:56:09.472Z Has data issue: false hasContentIssue false

Inhabitation in simply typed lambda-calculus through a lambda-calculus for proof search

Published online by Cambridge University Press:  17 April 2018

JOSÉ ESPÍRITO SANTO
Affiliation:
Centro de Matemática, Universidade do Minho, Braga, Portugal Email: jes@math.uminho.pt, luis@math.uminho.pt
RALPH MATTHES
Affiliation:
Institut de Recherche en Informatique de Toulouse (IRIT), CNRS and University of Toulouse, Toulouse, France Email: Ralph.Matthes@irit.fr
LUÍS PINTO
Affiliation:
Centro de Matemática, Universidade do Minho, Braga, Portugal Email: jes@math.uminho.pt, luis@math.uminho.pt

Abstract

A new approach to inhabitation problems in simply typed lambda-calculus is shown, dealing with both decision and counting problems. This approach works by exploiting a representation of the search space generated by a given inhabitation problem, which is in terms of a lambda-calculus for proof search that the authors developed recently. The representation may be seen as extending the Curry–Howard representation of proofs by lambda terms. Our methodology reveals inductive descriptions of the decision problems, driven by the syntax of the proof-search expressions, and produces simple, recursive decision procedures and counting functions. These allow to predict the number of inhabitants by testing the given type for syntactic criteria. This new approach is comprehensive and robust: based on the same syntactic representation, we also derive the state-of-the-art coherence theorems ensuring uniqueness of inhabitants.

Type
Paper
Copyright
© Cambridge University Press 2018 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Alves, S. and Broda, S. (2015). A short note on type-inhabitation: Formula-trees vs. game semantics. Information Processing Letters 115 (11) 908911.CrossRefGoogle Scholar
Aoto, T. and Ono, H. (1994). Uniqueness of normal forms in →, ∧-fragment of NJ. Technical report, Research Report IS-RR-94-0024F.Google Scholar
Barendregt, H., Dekkers, W. and Statman, R. (2013). Lambda Calculus with Types. Perspectives in Logic, Cambridge University Press.CrossRefGoogle Scholar
Ben-Yelles, C.-B. (1979). Type Assignment in the Lambda-Calculus: Syntax & Semantics. PhD thesis, University College of Swansea.Google Scholar
Bourreau, P. and Salvati, S. (2011). Game semantics and uniqueness of type inhabitance in the simply-typed λ-calculus. In: Ong, L. (ed.), Proceedings of TLCA 2011, LNCS, vol. 6690, Springer, 61–75.CrossRefGoogle Scholar
Broda, S. and Damas, L. (2005). On long normal inhabitants of a type. Journal of Logic and Computation 15 (3) 353390.CrossRefGoogle Scholar
Bucciarelli, A., Kesner, D. and Rocca, S. R. D. (2014). The inhabitation problem for non-idempotent intersection types. In: Díaz, J., Lanese, I., and Sangiorgi, D. (eds.), Proceedings of IFIP TCS 2014, LNCS, vol. 8705, Springer, 341–354.CrossRefGoogle Scholar
David, R. and Zaionc, M. (2009). Counting proofs in propositional logic. Archive for Mathematical Logic 48 (2) 185199.CrossRefGoogle Scholar
Dowek, G. and Jiang, Y. (2009). Enumerating proofs of positive formulae. The Computer Journal 52 (7) 799807.CrossRefGoogle Scholar
Dudenhefner, A. and Rehof, J. (2017). Intersection type calculi of bounded dimension. In: Proceedings of POPL 2017, ACM, 653–665.CrossRefGoogle Scholar
Espírito Santo, J., Matthes, R., and Pinto, L. (2013). A coinductive approach to proof search. In: Baelde, D. and Carayol, A. (eds.), Proceedings of FICS 2013, vol. 126, EPTCS, 28–43.CrossRefGoogle Scholar
Espírito Santo, J., Matthes, R., and Pinto, L. (2016). A coinductive approach to proof search through typed lambda-calculi. Available at http://arxiv.org/abs/1602.04382v2.Google Scholar
Hindley, J. R. (1997). Basic Simple Type Theory, vol. 42. Cambridge Tracts in Theoretical Computer Science, Cambridge University Press.CrossRefGoogle Scholar
Hopcroft, J. E. and Ullman, J. D. (1979). Introduction to Automata Theory, Languages and Computation, Addison-Wesley.Google Scholar
Liang, C. and Miller, D. (2009). Focusing and polarization in linear, intuitionistic, and classical logic. Theoretical Computer Science 410 47474768.CrossRefGoogle Scholar
Miller, D. and Nadathur, G. (2012). Programming with Higher-Order Logic, Cambridge University Press.CrossRefGoogle Scholar
Mints, G. (1979). A coherence theorem for cartesian closed categories (abstract). The Journal of Symbolic Logic 44 453454.Google Scholar
Mints, G. (1992). A simple proof for the coherence theorem for cartesian closed categories. In: Selected papers in proof theory, vol. 3, 213220 North-Holland Publishing Co., Amsterdam.Google Scholar
Schubert, A., Dekkers, W. and Barendregt, H. P. (2015). Automata theoretic account of proof search. In: Kreutzer, S. (ed.), Proceedings CSL 2015, LIPIcs, vol. 41, Schloss Dagstuhl, 128–143.Google Scholar
Takahashi, M., Akama, Y. and Hirokawa, S. (1996). Normal proofs and their grammar. Information and Computation 125 (2) 144153.CrossRefGoogle Scholar
Wells, J. B. and Yakobowski, B. (2004). Graph-based proof counting and enumeration with applications for program fragment synthesis. In: Proceedings of LOPSTR 2004, LNCS, vol. 3573, Springer, 262–277.Google Scholar