A spam filter asks one yes/no question about each email, like “Does it mention a prize?”. The answer sorts a group of emails into left (yes) and right (no), each a list of labels: "spam" or "ham" (real mail). Before the question, telling whether a random email is spam takes some yes/no questions on average (“How surprising?”); once you know its side, it may take fewer. Write split_score(left, right): how many yes/no questions the question saved, on average. Count them in bits, as in “How surprising?”: one bit is one yes/no question.