Finite Combinatory Logic with Intersection Types

Combinatory logic is based on modus ponens and a schematic (polymorphic) interpretation of axioms. In this paper we propose to consider expressive combinatory logics under the restriction that axioms are not interpreted schematically but "literally", corresponding to a monomorphic interpretation of types. We thereby arrive at finite combinatory logic, which is strictly finitely axiomatisable and based solely on modus ponens. We show that the provability (inhabitation) problem for finite combinatory logic with intersection types is Exptime-complete with or without subtyping. This result contrasts with the general case, where inhabitation is known to be Expspace-complete in rank 2 and undecidable for rank 3 and up. As a by-product of the considerations in the presence of subtyping, we show that standard intersection type subtyping is in Ptime. From an application standpoint, we can consider intersection types as an expressive specification formalism for which our results show that functional composition synthesis can be automated.

[1]  C.-H. Luke Ong,et al.  A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[2]  Pawel Urzyczyn The Logic of Persistent Intersection , 2010, Fundam. Informaticae.

[3]  Sylvain Salvati Recognizability in the Simply Typed Lambda-Calculus , 2009, WoLLIC.

[4]  Mariangiola Dezani-Ciancaglini,et al.  A filter lambda model and the completeness of type assignment , 1983, Journal of Symbolic Logic.

[5]  Yoad Lustig,et al.  Synthesis from component libraries , 2009, International Journal on Software Tools for Technology Transfer.

[6]  Jens Palsberg,et al.  A type system equivalent to a model checker , 2008, TOPL.

[7]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[8]  Marcin Kozik A finite set of functions with an EXPTIME-complete composition problem , 2008, Theor. Comput. Sci..

[9]  Mariangiola Dezani-Ciancaglini,et al.  An extension of the basic functionality theory for the λ-calculus , 1980, Notre Dame J. Formal Log..

[10]  J. Roger Hindley,et al.  The simple semantics for Coppe-Dezani-Sallé types , 1982, Symposium on Programming.

[11]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .

[12]  Mariangiola Dezani-Ciancaglini,et al.  Intersection Types for Combinatory Logic , 1992, Theor. Comput. Sci..

[13]  Jakob Rehof Finite Combinatory Logic with Intersection Types (Extended Version) , 2011 .

[14]  Masako Takahashi,et al.  Decidable Properties of Intersection Type Systems , 1995, TLCA.

[15]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[16]  Daniel Leivant,et al.  Polymorphic type inference , 1983, POPL '83.

[17]  Dariusz Kusmierek The Inhabitation Problem for Rank Two Intersection Types , 2007, TLCA.

[18]  Joe B. Wells,et al.  Graph-Based Proof Counting and Enumeration with Applications for Program Fragment Synthesis , 2004, LOPSTR.

[19]  Pawel Urzyczyn The Emptiness Problem for Intersection Types , 1999, J. Symb. Log..

[20]  Betti Venneri,et al.  Intersection Types as Logical Formulae , 1994, J. Log. Comput..

[21]  Pawel Urzyczyn,et al.  Inhabitation of Low-Rank Intersection Types , 2009, TLCA.