Making a productive use of failure to generate witnesses for coinduction from divergent proof attempts

Citation
La. Dennis et al., Making a productive use of failure to generate witnesses for coinduction from divergent proof attempts, ANN MATH A, 29(1-4), 2000, pp. 99-138
Citations number
39
Categorie Soggetti
Engineering Mathematics
Journal title
ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE
ISSN journal
10122443 → ACNP
Volume
29
Issue
1-4
Year of publication
2000
Pages
99 - 138
Database
ISI
SICI code
1012-2443(2000)29:1-4<99:MAPUOF>2.0.ZU;2-3
Abstract
Coinduction is a proof rule, it is the dual of induction. It allows reasoni ng about non-well-founded structures such as lazy lists or streams and is o f particular use for reasoning about equivalences. A central difficulty in the automation of coinductive proof is the choice of a relation (called a b isimulation). We present an automation of coinductive theorem proving. This automation is based on the idea of proof planning [7]. Proof planning constructs the hig her level steps in a proof. using knowledge of the general structure of a f amily of proofs and exploiting this knowledge to control the proof search. Part of proof planning involves the use of failure information to modify th e plan by the use of a proof critic [23] which exploits the information gai ned from the failed proof attempt. Our approach to the problem was to develop a strategy that makes an initial simple guess at a bisimulation and then uses generalisation techniques, mo tivated by a critic, to refine this guess, so that a larger class of coindu ctive problems can be automatically verified. The implementation of this strategy has focused on the use of coinduction t o prove the equivalence of programs in a small lazy functional language whi ch is similar to Haskell [22]. We have developed a proof plan for coinduction acid a critic associated wit h this proof plan. These have been implemented in (CoCLM)-M-A, an extended version of (CLM)-M-A [9], with encouraging results. The planner has been su ccessfully tested on a number of theorems.