Consistency enforcement starts from a given program specification S and a static invariant I and aims to replace S by a slightly modified program specification SI that is provably consistent with respect to I. One formalization which suggests itself is to define SI as the greatest consistent specialization of S with respect to I, where specialization is a partial order on semantic equivalence classes of program specifications.In this paper we present such a theory on the basis of arithmetic logic. We show that with mild technical restrictions and mild restrictions concerning recursive program specifications it is possible to obtain the greatest consistent specialization gradually and independently from the order of given invariants as well as by replacing basic commands by their respective greatest consistent specialization. Furthermore, this approach allows to discuss computability and decidability aspects for the first time.
[1]
Bernhard Thalheim,et al.
Dependencies in relational databases
,
1991,
Teubner-Texte zur Mathematik.
[2]
Bernhard Thalheim,et al.
Limitations of Rule Triggering Systems for Integrity Maintenance in the Context of Transition Specifications
,
1998,
Acta Cybern..
[3]
Greg Nelson,et al.
A generalization of Dijkstra's calculus
,
1989,
ACM Trans. Program. Lang. Syst..
[4]
Bernhard Thalheim,et al.
Integrity Enforcement in Object-Oriented Databases
,
1992,
FMLDO.
[5]
Bernhard Thalheim,et al.
Towards a theory of consistency enforcement
,
1999,
Acta Informatica.
[6]
Klaus-Dieter Schewe.
Fundamentals of Consistency Enforcement
,
1998,
EJC.
[7]
Yuri Gurevich,et al.
The Classical Decision Problem
,
1997,
Perspectives in Mathematical Logic.