 The !tells the interpreter to stop looking for alternatives; however, if fails it will check the second rule.Although checking for in the second rule may appear redundant since Prolog's appearance is dependent on failing before, otherwise the second rule would not be evaluated in the first place.