Circular Coinduction with Special Contexts

Coinductive proofs of behavioral equivalence often require human ingenuity, in that one is expected to provide a "good" relation extending one's goal with additional lemmas, making automation of coinduction a challenging problem. Since behavioral satisfaction is a $\Pi_2^0$-hard problem, one can only expect techniques and methods that approximate the behavioral equivalence. Circular coinduction is an automated technique to prove behavioral equivalence by systematically exploring the behaviors of the property to prove: if all behaviors are circular then the property holds. Empirical evidence shows that one of the major reasons for which circular coinduction does not terminate in practice is that the circular behaviors may be guarded by a context. However, not all contexts are safe. This paper proposes a large class of contexts which are safe guards for circular behaviors, called special contexts, and extends circular coinduction appropriately. The resulting technique has been implemented in the CIRC prover and experiments show that the new technique can prove many interesting behavioral properties fully automatically.

[1]  Grigore Rosu,et al.  CIRC : A Circular Coinductive Prover , 2007, CALCO.

[2]  Grigore Rosu,et al.  Equality of streams is a Π0 over 2-complete problem , 2006, ICFP '06.

[3]  Lawrence C. Paulson Mechanizing Coinduction and Corecursion in Higher-Order Logic , 1997, J. Log. Comput..

[4]  Jan J. M. M. Rutten,et al.  Behavioural differential equations: a coinductive calculus of streams, automata, and power series , 2003, Theor. Comput. Sci..

[5]  Jan J. M. M. Rutten,et al.  A coinductive calculus of streams , 2005, Mathematical Structures in Computer Science.

[6]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[7]  Wan Fokkink,et al.  Introduction to Process Algebra , 1999, Texts in Theoretical Computer Science. An EATCS Series.

[8]  Milad Niqui Coinductive Formal Reasoning in Exact Real Arithmetic , 2008, Log. Methods Comput. Sci..

[9]  Grigore Rosu,et al.  Circular Coinduction , 2000 .

[10]  Grigore Rosu,et al.  Circular Coinduction: A Proof Theoretical Foundation , 2009, CALCO.

[11]  Kenneth L Stoler A hidden agenda. , 2008, The New York state dental journal.

[12]  Thierry Coquand,et al.  Infinite Objects in Type Theory , 1994, TYPES.

[13]  Alexandra Silva,et al.  Behavioural Differential Equations and Coinduction for Binary Trees , 2007, WoLLIC.

[14]  Alexander Kurz,et al.  Algebra and Coalgebra in Computer Science, Third International Conference, CALCO 2009, Udine, Italy, September 7-10, 2009. Proceedings , 2009, CALCO.

[15]  Michaël Rusinowitch,et al.  Observational proofs by rewriting , 2002, Theor. Comput. Sci..

[16]  Alexander Kurz,et al.  Observational logic, constructor-based logic, and their duality , 2003, Theor. Comput. Sci..

[17]  Grigore Rosu Equality of streams is a ∏ 2 0-complete problem , 2006 .

[18]  Hans Zantema Well-Definedness of Streams by Termination , 2009, RTA.

[19]  William McCune,et al.  Automated Deduction—CADE-14 , 1997, Lecture Notes in Computer Science.

[20]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[21]  Jeffrey Shallit,et al.  The Ubiquitous Prouhet-Thue-Morse Sequence , 1998, SETA.

[22]  Grigore Rosu,et al.  CIRC: A Behavioral Verification Tool Based on Circular Coinduction , 2009, CALCO.

[23]  Martin Wirsing,et al.  Extraction of Structured Programs from Specification Proofs , 1999, WADT.

[24]  Alan Bundy,et al.  Using A Generalisation Critic to Find Bisimulations for Coinductive Proofs , 1997, CADE.

[25]  Alan Bundy,et al.  Towards Ontology Evolution in Physics , 2008, WoLLIC.

[26]  Louise A. Dennis Proof planning coinduction , 1998 .

[27]  Maribel Fernández,et al.  Curry-Style Types for Nominal Terms , 2006, TYPES.

[28]  Grigore Rosu,et al.  Conditional Circular Coinductive Rewriting with Case Analysis , 2002, WADT.

[29]  Till Mossakowski,et al.  Iterative Circular Coinduction for CoCasl in Isabelle/HOL , 2005, FASE.

[30]  José Meseguer,et al.  General Logics , 2006 .

[31]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[32]  Neil Immerman,et al.  First-Order and Temporal Logics for Nested Words , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).