list(given_selection). % high part(Hw, high, weight, hint & weight < 1000) = 10. part(Ha, high, age, hint & weight < 1000) = 2. part(Hr, high, random, hint & weight < 1000) = 2. % low (degraded hints are now low priority) part(Hl, low, weight, hint) = 5. part(Wf, low, weight, false) = 3. part(W0w, low, weight, weight <= 20) = 16. part(W0a, low, age, weight <= 20) = 2. part(W0r, low, random, weight <= 20) = 2. part(W1w, low, weight, weight > 20 & weight <= 30) = 8. part(W1a, low, age, weight > 20 & weight <= 30) = 2. part(W1r, low, random, weight > 20 & weight <= 30) = 2. part(W2w, low, weight, weight > 30 & weight <= 40) = 4. part(W2a, low, age, weight > 30 & weight <= 40) = 2. part(W2r, low, random, weight > 30 & weight <= 40) = 2. part(W3w, low, weight, weight > 40) = 2. part(W3a, low, age, weight > 40) = 2. part(W3r, low, random, weight > 40) = 5. % just in case something isn't covered part(TheRest, low, weight, all) = 1. end_of_list.