Generate text that is semantically similar to this text: sufficient is an upper bound , necessary is a lower bound .
the difference between " necessary " and " sufficient " is the direction of the logical arrow .