This document discusses modeling and abstraction as it relates to solving the classic "water jug problem". It begins by explaining the problem and then goes through different levels of abstraction for modeling water, from a molecular level to simply representing water amounts with numbers. The key levels of abstraction for solving the water jug problem represent the jugs as placeholders for water amounts. Simple rules are defined for operations like filling and pouring between the jugs. A graph search approach uses these rules and representations to systematically find a solution by applying rules to states.