Using a generalisation critic to find bisimulations for coinductive proofs

Louise Dennis, Alan Bundy, Ian Green

Research output: Contribution to conferencePaperpeer-review


Coinduction is a method of growing importance in reasoning about functional languages, due to the increasing prominence of lazy data structures. Through the use of bisimulations and proofs that bisimilarity is a congruence in various domains it can be used to prove the congruence of two processes. A coinductive proof requires a relation to be chosen which can be proved to be a bisimulation. We use proof planning to develop a heuristic method which automatically constructs a candidate relation. If this relation does not allow the proof to go through a proof critic analyses the reasons why it failed and modifies the relation accordingly. Several proof tools have been developed to aid coinductive proofs but all require user interaction. Crucially they require the user to supply an appropriate relation which the system can then prove to be a bisimulation.
Original languageUndefined
Number of pages15
Publication statusPublished - Jul 1997
Event14th International Conference on Automated Deduction - North Queensland, Australia
Duration: 13 Jul 199717 Jul 1997


Conference14th International Conference on Automated Deduction
CityNorth Queensland


  • Label Transition System
  • Functional Programming
  • Functional Language
  • Proof Method
  • Automate Deduction

Cite this