  We present a scheme for translating logic programs, which may use aggregation
and arithmetic, into algebraic expressions that denote bag relations over
ground terms of the Herbrand universe. To evaluate queries against these
relations, we develop an operational semantics based on term rewriting of the
algebraic expressions. This approach can exploit arithmetic identities and
recovers a range of useful strategies, including lazy strategies that defer
work until it becomes possible or necessary.
