Anindya Bhattacharyya wrote:

> One way of picturing about this is in terms of the natural \\(Y\\)-indexed partition \\(f\\) induces on \\(X\\). Colour each partition _white_ if none of its members is in \\(S\\), _black_ if all of its members are in \\(S\\), _grey_ if it's "on the borderline". Then \\(f_* (S)\\) is the \\(y\\) indices corresponding to grey or black partitions, and \\(f_!(S)\\) is the \\(y\\) indices of just the black ones. The double complements thing that Owen talks about is basically a matter of swapping black and white.

That's a really nice mental picture! To expand on the "swapping black and white" idea, there are two steps to go from \\(f_\ast\\) to \\(f_!\\): first, taking the complement in \\(X\\) swaps the roles of black and white, so you'd go from "grey or black" to "grey or white". Then taking the complement in \\(Y\\) means you take all the partitions you *didn't* before, so instead of "grey or white" you get "neither grey nor white"—i.e. "black".

> One way of picturing about this is in terms of the natural \\(Y\\)-indexed partition \\(f\\) induces on \\(X\\). Colour each partition _white_ if none of its members is in \\(S\\), _black_ if all of its members are in \\(S\\), _grey_ if it's "on the borderline". Then \\(f_* (S)\\) is the \\(y\\) indices corresponding to grey or black partitions, and \\(f_!(S)\\) is the \\(y\\) indices of just the black ones. The double complements thing that Owen talks about is basically a matter of swapping black and white.

That's a really nice mental picture! To expand on the "swapping black and white" idea, there are two steps to go from \\(f_\ast\\) to \\(f_!\\): first, taking the complement in \\(X\\) swaps the roles of black and white, so you'd go from "grey or black" to "grey or white". Then taking the complement in \\(Y\\) means you take all the partitions you *didn't* before, so instead of "grey or white" you get "neither grey nor white"—i.e. "black".