Magic sets and bottom-up evaluation of well-founded models. David B. Kemp, Divesh Srivastava and Peter J. Stuckey. We present a bottom-up operational procedure for computing well-founded models of allowed DATALOG programs with negation. This procedure provides a practical method of handling programs that involve unstratified negation in a manner that may be mixed with other evaluation approaches, such as semi-naive evaluation. We also define classes of programs and sips for which the magic sets transformation preserves well-founded models with respect to the query. The class of programs and sips we consider strictly subsume those already considered in the literature, and include stratified programs (with any choice of sips), modularly stratified programs (with left-to-right sips) and programs with three-valued well-founded models (with well-founded sips). For these programs and sips, our procedure for computing well-founded models is applicable to the magic programs, thus allowing increased efficiency by specializing a program for a query.