rule analysis