Infinite objects in type theory
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
Theoretical Computer Science
Introduction to Process Algebra
Introduction to Process Algebra
Observational proofs by rewriting
Theoretical Computer Science
The Linear Time - Branching Time Spectrum II
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
Using A Generalisation Critic to Find Bisimulations for Coinductive Proofs
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
Observational logic, constructor-based logic, and their duality
Theoretical Computer Science - Foundations of software science and computation structures
Behavioural differential equations: a coinductive calculus of streams, automata, and power series
Theoretical Computer Science
A coinductive calculus of streams
Mathematical Structures in Computer Science
Equality of streams is a Π0 over 2-complete problem
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Well-Definedness of Streams by Termination
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Behavioural differential equations and coinduction for binary trees
WoLLIC'07 Proceedings of the 14th international conference on Logic, language, information and computation
CIRC: a circular coinductive prover
CALCO'07 Proceedings of the 2nd international conference on Algebra and coalgebra in computer science
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
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
Iterative circular coinduction for CoCasl in isabelle/HOL
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Automating coinduction with case analysis
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Checking NFA equivalence with bisimulations up to congruence
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Circular coinduction in coq using bisimulation-up-to techniques
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
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.