Incorporating Tables into Proofs

  • Dale Miller
  • Vivek Nigam
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4646)

Abstract

We consider the problem of automating and checking the use of previously proved lemmas in the proof of some main theorem. In particular, we call the collection of such previously proved results a table and use a partial order on the table’s entries to denote the (provability) dependency relationship between tabled items. Tables can be used in automated deduction to store previously proved subgoals and in interactive theorem proving to store a sequence of lemmas introduced by a user to direct the proof system towards some final theorem. Tables of literals can be incorporated into sequent calculus proofs using two ideas. First, cuts are used to incorporate tabled items into a proof: one premise of the cut requires a proof of the lemma and the other branch of the cut inserts the lemma into the set of assumptions. Second, to ensure that lemma is not reproved, we exploit the fact that in focused proofs, atoms can have different polarity. Using these ideas, simple logic engines that do focused proof search (such as logic programming interpreters) are able to check proofs for correctness with guarantees that previous work is not redone. We also discuss how a table can be seen as a proof object and discuss some possible uses of tables-as-proofs.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Albert, E., Puebla, G., Hermenegildo, M.V.: Abstraction-carrying code. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 380–397. Springer, Heidelberg (2005)Google Scholar
  2. 2.
    Anderson, A.R., Belnap, N.D.: Entailment: The Logic of Relevance and Necessity. Princeton University Press, Princeton (1975)MATHGoogle Scholar
  3. 3.
    Andreoli, J.-M.: Logic programming with focusing proofs in linear logic. J. of Logic and Computation 2(3), 297–347 (1992)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Baelde, D., Gacek, A., Miller, D., Nadathur, G., Tiu, A.: The Bedwyr system for model checking over syntactic expressions. In: CADE-21 (to appear, 2007)Google Scholar
  5. 5.
    Gentzen, G.: Investigations into logical deductions. In: Szabo, M.E. (ed.) The Collected Papers of Gerhard Gentzen, pp. 68–131. North-Holland, Amsterdam (1969)Google Scholar
  6. 6.
    Girard, J.-Y.: A fixpoint theorem in linear logic. An email posting to the mailing list linear@cs.stanford.edu (February 1992)Google Scholar
  7. 7.
    Liang, C., Miller, D.: Focusing and polarization in intuitionistic logic. In: Duparc, J., Henzinger, T.A. (eds.) CSL 2007. LNCS, vol. 4646, pp. 451–465. Springer, Heidelberg (2007)Google Scholar
  8. 8.
    McDowell, R., Miller, D.: Cut-elimination for a logic with definitions and induction. Theoretical Computer Science 232, 91–119 (2000)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    McDowell, R., Miller, D., Palamidessi, C.: Encoding transition systems in sequent calculus. Theoretical Computer Science 294(3), 411–437 (2003)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Miller, D.: A logical analysis of modules in logic programming. Journal of Logic Programming 6(1-2), 79–108 (1989)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Miller, D., Nadathur, G., Pfenning, F., Scedrov, A.: Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic 51, 125–157 (1991)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Necula, G.C.: Proof-carrying code. In: Conference Record of the 24th Symposium on Principles of Programming Languages 97, Paris, France, pp. 106–119. ACM Press, New York (1997)CrossRefGoogle Scholar
  13. 13.
    Necula, G.C., Rahul, S.P.: Oracle-based checking of untrusted software. In: POPL, pp. 142–154 (2001)Google Scholar
  14. 14.
    Pfenning, F., Schürmann, C.: System description: Twelf — A meta-logical framework for deductive systems. In: Ganzinger, H. (ed.) Automated Deduction - CADE-16. LNCS (LNAI), vol. 1632, pp. 202–206. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  15. 15.
    Pientka, B.: Tabling for higher-order logic programming. In: 20th International Conference on Automated Deduction, Talinn, Estonia, pp. 54–69. Springer, Heidelberg (2005)Google Scholar
  16. 16.
    Ramakrishna, Y.S., Ramakrishnan, C.R., Ramakrishnan, I.V., Smolka, S.A., Swift, T., Warren, D.S.: Efficient model checking using tabled resolution. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 143–154. Springer, Heidelberg (1997)Google Scholar
  17. 17.
    Roychoudhury, A., Ramakrishnan, C.R., Ramakrishnan, I.V.: Justifying proofs using memo tables. In: PPDP, pp. 178–189 (2000)Google Scholar
  18. 18.
    Schroeder-Heister, P.: Definitional reflection and the completion. In: Dyckhoff, R. (ed.) ELP 1993. LNCS, vol. 798, pp. 333–347. Springer, Heidelberg (1994)Google Scholar
  19. 19.
    Slaney, J.: Solution to a problem of Ono and Komori. Journal of Philosophic Logic 18, 103–111 (1989)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Dale Miller
    • 1
  • Vivek Nigam
    • 1
  1. 1.INRIA & LIX/École Polytechnique, PalaiseauFrance

Personalised recommendations