Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Observational proofs by rewriting
Theoretical Computer Science
Circular Coinductive Rewriting
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
A coinductive calculus of streams
Mathematical Structures in Computer Science
Automatic case analysis in proof by induction
IJCAI'93 Proceedings of the 13th international joint conference on Artifical intelligence - Volume 1
Circular Coinduction with Special Contexts
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Simplification and Generalization in CIRC
SYNASC '09 Proceedings of the 2009 11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
Circular coinduction: a proof theoretical foundation
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
CIRC: a behavioral verification tool based on circular coinduction
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Sampling, splitting and merging in coinductive stream calculus
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Hi-index | 0.00 |
Coinduction is a major technique employed to prove behavioral properties of systems, such as behavioral equivalence. Its automation is highly desirable, despite the fact that most behavioral problems are Π20-complete. Circular coinduction, which is at the core of the CIRC prover, automates coinduction by systematically deriving new goals and proving existing ones until, hopefully, all goals are proved. Motivated by practical examples, circular coinduction and CIRC have been recently extended with several features, such as special contexts, generalization and simplification. Unfortunately, none of these extensions eliminates the need for case analysis and, consequently, there are still many natural behavioral properties that CIRC cannot prove automatically. This paper presents an extension of circular coinduction with case analysis constructs and reasoning, as well as its implementation in CIRC. To uniformly prove the soundness of this extension, as well as of past and future extensions of circular coinduction and CIRC, this paper also proposes a general correct-extension technique based on equational interpolants.