Datalog and Recursive Query Processing (Sections 1-3, 6)