In this paper, we consider an approach to update nonmonotonic knowledge bases represented
as extended logic programs under the answer set semantics. In this approach, new information
is incorporated into the current knowledge base subject to a causal rejection principle, which
enforces that, in case of conflicts between rules, more recent rules are preferred and older
rules are overridden. Such a rejection principle is also exploited in other approaches to update
logic programs, notably in the method of dynamic logic programming, due to Alferes et al.
One of the central issues of this paper is a thorough analysis of various properties
of the current approach, in order to get a better understanding of the inherent causal
rejection principle. For this purpose, we review postulates and principles for update and
revision operators which have been proposed in the area of theory change and nonmonotonic
reasoning. Moreover, some new properties for approaches to updating logic programs are
considered as well. Like related update approaches, the current semantics does not incorporate
a notion of minimality of change, so we consider refinements of the semantics in this direction.
We also investigate the relationship of our approach to others in more detail. In particular,
we show that the current approach is semantically equivalent to inheritance programs, which
have been independently defined by Buccafurri et al., and that it coincides with certain classes
of dynamic logic programs. In view of this analysis, most of our results about properties of the
causal rejection principle apply to each of these approaches as well. Finally, we also deal with
computational issues. Besides a discussion on the computational complexity of our approach,
we outline how the update semantics and its refinements can be directly implemented on
top of existing logic programming systems. In the present case, we implemented the update
approach using the logic programming system DLV.