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