holiday(wednesday, december25). weather(wednesday, fair). weather(saturday,fair). weather(sunday,fair). weekend(saturday). weekend(sunday). picnic(Day) :- !, weather(Day,fair), weekend(Day). picnic(Day) :- holiday(Day,december25). ?picnic(When) When = saturday ? When = sunday ;why do saturday and sunday pass? assuming the first value the backtracker uses ;is wednesday, it should be locked in from the cut, and then fail on weekend(wednesday), giving no valid ; solutions?