A precondition is a logical expression, defined over the current world state, that must evaluate to true for a planning operator or HTN method to be applicable. It acts as a guard condition, ensuring an action's logic is only invoked when the environment is in a valid, expected state. For example, a PickUp(Object) operator may have the precondition At(Agent, Object) ∧ HandEmpty(Agent). This formalizes the rule that an agent can only pick up an object if it is at the object's location and its hand is free.
