Model-based reasoning