We present the “big-step” operational semantics of a small programming language NIL (Natural Imperative Language) in definite clauses, thus building on the fixpoint semantics of logic programs. NIL operates on a state which is just a sequence of counters. As basic statements NIL has incrementation, decrementation and test for null. NIL allows for sequential composition and non-deterministic choice of statements as well as mutually recursive definitions of procedures, which we find support our long-term aim of formalizing and reasoning about specific actions and planning tasks for rational agents. A novelty is the use of the de Bruijn notation instead of names. To our knowledge the operational semantics of an imperative language like NIL have not been given in definite clauses, although it is well-known that it is possible.