%% rebreathsoning %% hungry([[head,5],[torso,5]],[head >= 6,torso = 5]). hungry([],_Rules). hungry(BodypartsEnergy1,Rules) :- BodypartsEnergy1 = [BodypartEnergy|BodypartsEnergy2], BodypartEnergy = [Bodypart,Energy], member(Rule,Rules), enoughenergy(Bodypart,Energy,Rule), hungry(BodypartsEnergy2, Rules). enoughenergy(Bodypart, Energy1,Bodypart >= Energy2) :- Energy1 >= Energy2. enoughenergy(Bodypart, Energy1,Bodypart = Energy2) :- Energy1 = Energy2.