b) by default, no partitions are scanned, and we examine the query to determine which ones must be scanned.
There is an element of logic that says "by default, no partitions are scanned" is not a reasonable behavior mode. Thus an alternative analogy would be:
Bucket A is the set of all relevant partitions in the tree
Pruning: remove from bucket A those which we know we can skip; then iterate over A
Selection: choose those items from A that are possible holders of our data and process each one (place all selected items into bucket B and iterate over B if you want to perform selection in total first).
As a user I don't really need to know which model is implemented and the name doesn't necessarily imply the implementation. Pruning seems to be the commonly-used term for this feature and we should stick with that.