Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering 2000
DOI: 10.1109/ase.2000.873657
|View full text |Cite
|
Sign up to set email alerts
|

Circular coinductive rewriting

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
34
0

Year Published

2001
2001
2018
2018

Publication Types

Select...
8

Relationship

0
8

Authors

Journals

citations
Cited by 46 publications
(34 citation statements)
references
References 9 publications
0
34
0
Order By: Relevance
“…A standard approach for this is co-induction [11]: two streams or stream functions are equal if a bisimulation can be found between them. Finding such an arbitrary bisimulation is a hard problem in the general setting, but restricting to circular co-induction [6] finding this automatically is tractable. A strong tool doing so is Circ [8].…”
Section: Introductionmentioning
confidence: 99%
“…A standard approach for this is co-induction [11]: two streams or stream functions are equal if a bisimulation can be found between them. Finding such an arbitrary bisimulation is a hard problem in the general setting, but restricting to circular co-induction [6] finding this automatically is tractable. A strong tool doing so is Circ [8].…”
Section: Introductionmentioning
confidence: 99%
“…For example, [4] introduces circular coinductive rewriting as an operational technique to extend rewriting with coinductive steps. On the other hand, [5] attempts to capture circular coinduction as a proof rule, but, unfortunately, it only works with properties that need at most one derivation step and it is melted away within a particular entailment system for hidden algebra, making it hard to understand what circular coinduction really is.…”
Section: Proof Any Derivation Of Hmentioning
confidence: 99%
“…A variant of circular coinduction was published for the first time in [12] in March 2000, and then other more general or more operational variants not too long afterwards first in [13] and then in [4,5]; the system BOBJ had implemented an earlier variant of circular coinduction back in 1998. The name "circular coinduction" was inspired from how it operates: it systematically searches for circular behaviors of the terms to prove equivalent.…”
Section: Introductionmentioning
confidence: 99%
“…Most of these approaches appeared as a need to extend algebraic specifications to ease the process of specifying and verifying designs of systems and also for various other reasons, such as, to naturally handle infinite types 3 , to give semantics to the object paradigm, to specify finitely otherwise infinitely axiomatizable abstract data types, etc. The main characteristic of these approaches is that sorts are split into visible (or observational) for data and hidden for states, and the equality is behavioral, in the sense that two states are behaviorally equivalent if and only if they appear to be the same under any visible experiment.…”
Section: Introductionmentioning
confidence: 99%
“…Unfortunately, both need human intervention: coinduction to pick a "good" bisimulation relation, and context induction to invent and prove lemmas. Circular coinduction [3,12] is an automatic proof technique for behavioral equivalence. By circular coinduction one can prove, for example, the equality zip(zeros, ones) = blink on streams as follows (zeros is the stream 0 ω , ones is 1 ω , blink is (01) ω , zip merges two streams): 1. check that the two streams have the same head, 0; 2. take the tail of the two streams and generate the new goal zip(ones, zeros) = 1:blink; this becomes the next task; 3. check that the two new streams have the same head, 1; 4. take the tail of the two new streams; after simplification one gets the new goal zip(zeros, ones) = blink, which is nothing but the original proof task; 5. conclude that zip(zeros, ones) = blink holds.…”
Section: Introductionmentioning
confidence: 99%