added negation scope analysis