Datalog programs
New predicates ? subroutines
plan(M, R, brando, seattle) ? IMDBActor(brando, M) &
ShowsInCity(M, seattle) &
ShowsInCity(M, A, C) => Sidewalk(s, M, Th)
ShowsInCity(M, A, C) => MetroCinema(s, M, Th)
ShowsInCity(M, A, C) => ...
RevOf(M, R) => Spot(M, R, Y)
RevOf(M, R) => Ebert(M, R, Y)