Table of Contents
Fetching ...

Propositional Dynamic Logic has Craig Interpolation: a tableau-based proof

Manfred Borzechowski, Malvin Gattinger, Helle Hvid Hansen, Revantha Ramanayake, Valentina Trucco Dalmas, Yde Venema

TL;DR

This work proves that Propositional Dynamic Logic has Craig Interpolation by developing a cyclic tableau system with a loading mechanism to detect repeats, and by adapting Maehara’s method to handle clusters arising from these repeats. It introduces unfolding rules for complex programs, test profiles, and quasi-tableaux to express interpolants as fixpoint-language solutions within PDL, ensuring all interpolants reside in the shared vocabulary. The results include a constructive method for computing interpolants, a publicly available Haskell implementation, and ongoing Lean formalization, with open questions about fragments and extensions. The approach advances modular reasoning for PDL and opens avenues for automated verification of interpolants and Beth definability in dynamic-logical settings.

Abstract

We show that Propositional Dynamic Logic (PDL) has the Craig Interpolation Property. This question has been open for many years. Three proof attempts were published, but later criticized in the literature or retracted. Our proof is based on the main ideas from Borzechowski (1988). We define a cyclic tableau system for PDL with a loading mechanism to recognize successful repeats. For this system, we show soundness and completeness via a game. To show interpolation, we modify Maehara's method to work for tableaux with repeats: we first define pre-interpolants at each node, and then use a quasi-tableau to define interpolants for clusters (strongly connected components). In different terms, our method solves the fixpoint equations that characterize the desired interpolants, and the method ensures that the solutions to these equations can be expressed within PDL. The proof is constructive and we show how to compute interpolants. We also make available a Haskell implementation of the proof system that provides interpolants. Lastly, we mention ongoing work to formally verify this proof in the interactive theorem prover Lean, and several questions for future work.

Propositional Dynamic Logic has Craig Interpolation: a tableau-based proof

TL;DR

This work proves that Propositional Dynamic Logic has Craig Interpolation by developing a cyclic tableau system with a loading mechanism to detect repeats, and by adapting Maehara’s method to handle clusters arising from these repeats. It introduces unfolding rules for complex programs, test profiles, and quasi-tableaux to express interpolants as fixpoint-language solutions within PDL, ensuring all interpolants reside in the shared vocabulary. The results include a constructive method for computing interpolants, a publicly available Haskell implementation, and ongoing Lean formalization, with open questions about fragments and extensions. The approach advances modular reasoning for PDL and opens avenues for automated verification of interpolants and Beth definability in dynamic-logical settings.

Abstract

We show that Propositional Dynamic Logic (PDL) has the Craig Interpolation Property. This question has been open for many years. Three proof attempts were published, but later criticized in the literature or retracted. Our proof is based on the main ideas from Borzechowski (1988). We define a cyclic tableau system for PDL with a loading mechanism to recognize successful repeats. For this system, we show soundness and completeness via a game. To show interpolation, we modify Maehara's method to work for tableaux with repeats: we first define pre-interpolants at each node, and then use a quasi-tableau to define interpolants for clusters (strongly connected components). In different terms, our method solves the fixpoint equations that characterize the desired interpolants, and the method ensures that the solutions to these equations can be expressed within PDL. The proof is constructive and we show how to compute interpolants. We also make available a Haskell implementation of the proof system that provides interpolants. Lastly, we mention ongoing work to formally verify this proof in the interactive theorem prover Lean, and several questions for future work.

Paper Structure

This paper contains 43 sections, 99 equations, 15 figures.

Figures (15)

  • Figure 1: Examples of tableau rules.
  • Figure 2: An example of tableau over the rules $(\lnot)$ and $(\lnot \land)$
  • Figure 3: A tableau with local rules for each program constructor --- not our system.
  • Figure 4: A tableau in our system consisting of a single application of the $(\Box)$ rule.
  • Figure 5: Two "standard" local tableaux for $[(a^*)^*]p$ and $\lnot[(a^\ast)^\ast]p$ and their corresponding local tableaux in our system.
  • ...and 10 more figures

Theorems & Definitions (52)

  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • ...and 42 more