Graph-Based Proof Counting and Enumeration with Applications for Program Fragment Synthesis

  • J. B. Wells
  • Boris Yakobowski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3573)

Abstract

For use in earlier approaches to automated module interface adaptation, we seek a restricted form of program synthesis. Given some typing assumptions and a desired result type, we wish to automatically build a number of program fragments of this chosen typing, using functions and values available in the given typing environment. We call this problem term enumeration. To solve the problem, we use the Curry-Howard correspondence (propositions-as-types, proofs-as-programs) to transform it into a proof enumeration problem for an intuitionistic logic calculus. We formally study proof enumeration and counting in this calculus. We prove that proof counting is solvable and give an algorithm to solve it. This in turn yields a proof enumeration algorithm.

References

  1. 1.
    Aponte, M.V., Di Cosmo, R., Dubois, C., Yakobowski, B.: Signature subtyping modulo type isomorphisms (2004) (in preparation)Google Scholar
  2. 2.
    Ben-Yelles, C.-B.: Type-assignment in the lambda-calculus; syntax and semantics. PhD thesis, Mathematics Dept., University of Wales Swansea, UK (1979)Google Scholar
  3. 3.
    Broda, S., Damas, L.: On the structure of normal λ-terms having a certain type. In: 7th Workshop on Logic, Language, Information and Computation (WoLLIC 2000), Brazil (2000)Google Scholar
  4. 4.
    Dyckhoff, R.: Proof search in constructive logics. In: Logic Colloquium 1997 (1998)Google Scholar
  5. 5.
    Dyckhoff, R., Pinto, L.: Cut-elimination and a permutation-free sequent calculus for intuitionistic logic. Studia Logica 60(1) (1998)Google Scholar
  6. 6.
    Dyckhoff, R., Pinto, L.: Permutability of proofs in intuitionistic sequent calculi. Theoret. Comput. Sci. 212(1–2) (1999)Google Scholar
  7. 7.
    Haack, C.: Foundations for a tool for the automatic adaptation of software components based on semantic specifications. PhD thesis, Kansas State University (2001)Google Scholar
  8. 8.
    Haack, C., Howard, B., Stoughton, A., Wells, J.B.: Fully automatic adaptation of software components based on semantic specifications. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, p. 83. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Herbelin, H.: A λ-calculus structure isomorphic to Gentzen-style sequent calculus structure. In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  10. 10.
    Herbelin, H.: A λ-calculus structure isomorphic to Gentzen-style sequent calculus structure (1994), Available at http://coq.inria.fr/~herbelin/LAMBDA-BAR-FULL.dvi.gz
  11. 11.
    Hindley, J.R.: Basic Simple Type Theory. Cambridge Tracts in Theoretical Computer Science, vol. 42. Cambridge University Press, Cambridge (1997)MATHCrossRefGoogle Scholar
  12. 12.
    Howe, J.M.: Proof Search Issues In Some Non-Classical Logics. PhD thesis, University of St Andrews (1998), http://www.cs.kent.ac.uk/pubs/1998/946/
  13. 13.
    Pinto, L.: Cut formulae and logic programming. In: Dyckhoff, R. (ed.) ELP 1993. LNCS, vol. 798. Springer, Heidelberg (1994)Google Scholar
  14. 14.
    Pinto, L., Dyckhoff, R.: Sequent calculi for the normal terms of the λΠ and λΠΣ calculi. In: Galmiche, D. (ed.) Electronic Notes in Theoretical Computer Science, vol. 17. Elsevier, Amsterdam (2000)Google Scholar
  15. 15.
    Zaionc, M.: Fixpoint technique for counting terms in typed lambda calculus. Technical Report 95-20, State University of New York (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • J. B. Wells
    • 1
  • Boris Yakobowski
    • 2
  1. 1.Heriot-Watt University 
  2. 2.ENS Lyon 

Personalised recommendations