The way I think about it, it’s not that we’re using an agent model which is contradicted by some low-level information, it’s that we’re using an agent model which is only valid for some queries. Every abstraction comes with a set of queries over which the high-level model’s predictions match the low-level model’s predictions. Independence of the low-level variables corresponding to high-level components is the main way we track which queries are valid: valid queries are those which don’t ask about variables “close together”.
So at least the way I’m thinking about it, there’s never any contradictory information to throw away in the first place.
The way I think about it, it’s not that we’re using an agent model which is contradicted by some low-level information, it’s that we’re using an agent model which is only valid for some queries. Every abstraction comes with a set of queries over which the high-level model’s predictions match the low-level model’s predictions. Independence of the low-level variables corresponding to high-level components is the main way we track which queries are valid: valid queries are those which don’t ask about variables “close together”.
So at least the way I’m thinking about it, there’s never any contradictory information to throw away in the first place.