PPT Slide
cast(X) :- age(X, A) , satisfactory(X, A) .
satisfactory(X, A) :- between(0, 10, A) , !, blond(X) .
satisfactory(X, A) :- between(11, 20, A) , !, redhair(X) .
satisfactory(X, A) :- between(20, 50, A) , !, brunette(X) .
satisfactory(X, A) :- between (50, 90, A) , !, grayhair(X) .
This eliminates some needless search.