Title
Don't Care Non-determinism in Logic Program Refinement
Abstract
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refinement that can be used to develop programs from specifications. In a refinement, the refined program must return the same set of answers as the original program, because the meaning of a logic program is defined in terms of all the answers computed by the program. “Don't know” non-determinism is supported in the language by allowing more than one answer. In the traditional refinement calculus for imperative programs, there is another form of non-determinism, called “don't care” (or demonic) non-determinism, which allows non-determinism to be eliminated during refinement. Thus, non-deterministic specifications can be refined to deterministic implementations.
Year
DOI
Venue
2002
10.1016/S1571-0661(04)00308-1
Electronic Notes in Theoretical Computer Science
Keywords
Field
DocType
k
Logic program,Programming language,Refinement calculus,Computer science,Determinism,Theoretical computer science,Implementation,Operator (computer programming),Refinement,Semantics
Journal
Volume
ISSN
Citations 
61
1571-0661
2
PageRank 
References 
Authors
0.38
1
4
Name
Order
Citations
PageRank
David Hemer1192.86
Robert Colvin2688.67
Ian Hayes3212.71
Paul Strooper470168.70