View source with formatted comments or as raw
    1% Animals
    2
    3animal(lion).
    4animal(snake).
    5animal(monkey).
    6animal(rat).
    7
    8live(monkey, forest).
    9live(snake, zoo).
   10live(rat, apartment).
   11
   12live(X, forest) :-
   13    animal(X),
   14    not ab(live_animal(X)),
   15    not -live(X, forest).
   16
   17-live(X, Z) :-
   18    live(X, Y),
   19    Y \= Z.
   20
   21% ab(_) :- false.
   22
   23?- live(lion, X).