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

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.

[1]  Luís Pinto,et al.  Cut Formulae and Logic Programming , 1993, ELP.

[2]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[3]  Jacob M. Howe,et al.  Proof search issues in some non-classical logics , 1998 .

[4]  J. V. Tucker,et al.  Basic Simple Type Theory , 1997 .

[5]  Roberto Di Cosmo,et al.  A Confluent Reduction for the Extensional Typed lambda-Calculus with Pairs, Sums, Recursion and terminal Object , 1993, ICALP.

[6]  Marek Zaionc,et al.  Fixpoint Technique for Counting Terms in Typed Calculus , 2022 .

[7]  Luís Pinto,et al.  Proof search in constructive logics , 1999 .

[8]  Hugo Herbelin,et al.  A Lambda-Calculus Structure Isomorphic to Gentzen-Style Sequent Calculus Structure , 1994, CSL.

[9]  Olivier Danvy,et al.  Memoization in Type-Directed Partial Evaluation , 2002 .

[10]  Lars-Henrik Eriksson,et al.  Extensions of Logic Programming , 1993, Lecture Notes in Computer Science.

[11]  Christian Haack,et al.  Foundations for a tool for the automatic adaptation of software components based on semantic specifications , 2001 .

[12]  Luís Pinto,et al.  Sequent Calculi for the Normal Terms of the - and - Calculi , 1998, Proof Search in Type-Theoretic Languages@CADE.

[13]  Alley Stoughton,et al.  Fully Automatic Adaptation of Software Components Based on Semantic Specifications , 2002, AMAST.

[14]  Luís Pinto,et al.  Permutability of Proofs in Intuitionistic Sequent Calculi , 1999, Theor. Comput. Sci..

[15]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[16]  Luís Pinto,et al.  Cut-Elimination and a Permutation-Free Sequent Calculus for Intuitionistic Logic , 1998, Stud Logica.