A state predicate is a Boolean expression that may contain rigid and flexible variables. Semantically, it is satisfied by a state iff it is true when each variable is replaced with the value it is assigned by the state.