A Coinduction Rule for Entailment of Recursively Defined Properties

  • Authors:
  • Joxan Jaffar;Andrew E. Santosa;Răzvan Voicu

  • Affiliations:
  • School of Computing, National University of Singapore, Republic of Singapore 117543;School of Computing, National University of Singapore, Republic of Singapore 117543;School of Computing, National University of Singapore, Republic of Singapore 117543

  • Venue:
  • CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recursively defined properties are ubiquitous. We present a proof method for establishing entailment $\mathcal{G} \models \mathcal{H}$ of such properties $\mathcal{G}$ and $\mathcal{H}$ over a set of common variables. The main contribution is a particular proof rule based intuitively upon the concept of coinduction. This rule allows the inductive step of assuming that an entailment holds during the proof the entailment. In general, the proof method is based on an unfolding (and no folding) algorithm that reduces recursive definitions to a point where only constraint solving is necessary. The constraint-based proof obligation is then discharged with available solvers. The algorithm executes the proof by a search-based method which automatically discovers the opportunity of applying induction instead of the user having to specify some induction schema, and which does not require any base case.