A logical analysis of modules in logic programming
Journal of Logic Programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cut-elimination for a logic with definitions and induction
Theoretical Computer Science - Special issue on proof-search in type-theoretic languages
Justifying proofs using memo tables
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Oracle-based checking of untrusted software
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient Model Checking Using Tabled Resolution
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Definitional Reflection and the Completion
ELP '93 Proceedings of the 4th International Workshop on Extensions of Logic Programming
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Encoding transition systems in sequent calculus
Theoretical Computer Science - Linear logic
The Bedwyr System for Model Checking over Syntactic Expressions
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Tabling for higher-order logic programming
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Focusing and polarization in intuitionistic logic
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
Algorithmic specifications in linear logic with subexponentials
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Focusing and polarization in linear, intuitionistic, and classical logics
Theoretical Computer Science
Finding unity in computational logic
Proceedings of the 2010 ACM-BCS Visions of Computer Science Conference
Journal of Automated Reasoning
Magically constraining the inverse method using dynamic polarity assignment
LPAR'10 Proceedings of the 17th international conference on Logic for programming, artificial intelligence, and reasoning
Atomic cut introduction by resolution: proof structuring and compression
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Least and Greatest Fixed Points in Linear Logic
ACM Transactions on Computational Logic (TOCL)
A proposal for broad spectrum proof certificates
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Towards algorithmic cut-introduction
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
A bisimulation between DPLL(T) and a proof-search strategy for the focused sequent calculus
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
Hi-index | 0.00 |
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.