Towards a unified proof framework for automated fixpoint reasoning using matching logic

Xiaohong Chen, Minh Thai Trinh, Nishant Rodrigues, Lucas Peña, Grigore Roşu

Research output: Contribution to journalArticlepeer-review

Abstract

Automation of fixpoint reasoning has been extensively studied for various mathematical structures, logical formalisms, and computational domains, resulting in specialized fixpoint provers for heaps, for streams, for term algebras, for temporal properties, for program correctness, and for many other formal systems and inductive and coinductive properties. However, in spite of great theoretical and practical interest, there is no unified framework for automated fixpoint reasoning. Although several attempts have been made, there is no evidence that such a unified framework is possible, or practical. In this paper, we propose a candidate based on matching logic, a formalism recently shown to theoretically unify the above mentioned formal systems. Unfortunately, the (Knaster-Tarski) proof rule of matching logic, which enables inductive reasoning, is not syntax-driven. Worse, it can be applied at any step during a proof, making automation seem hopeless. Inspired by recent advances in automation of inductive proofs in separation logic, we propose an alternative proof system for matching logic, which is amenable for automation. We then discuss our implementation of it, which although not superior to specialized state-of-the-art automated provers for specific domains, we believe brings some evidence and hope that a unified framework for automated reasoning is not out of reach.

Original languageEnglish (US)
Article number161
JournalProceedings of the ACM on Programming Languages
Volume4
Issue numberOOPSLA
DOIs
StatePublished - Nov 13 2020
Externally publishedYes

Keywords

  • automated reasoning
  • fixpoints
  • induction
  • matching logic

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Towards a unified proof framework for automated fixpoint reasoning using matching logic'. Together they form a unique fingerprint.

Cite this