# Datalog maintaining views incrementally with negation

Given a single IDB rule

$$R(x) \ \mathop{:\!\!-} \ A(x), \lnot B(x)$$

Where $A$ and $B$ are EDB predicates, how would I go about calculating changes to $R$ as tuples are added to $B$? As I understand, when tuples are added to $B$, tuples may need to be removed from $R$.

This paper says

We present the DRed algorithm to incrementally maintain recursive views that use negation

and

A semi-naive computation is sufficient to compute new inserted tuples for a recursively defined view when insertions are made to base relations.

The DRed algorithm seems to take an input of the deleted EDB tuples, so adding a new tuple (and starting with a null set for deleted tuples) would have no effect. Have I missed something here?

Perhaps I misunderstand the definition of stratified negation, is $R$ an invalid rule?