First Order Logic with Inductive Definitions for Model-Based Problem Solving