What does it mean to prove an upper bound or lower bound to an algorithm?
Proving an upper bound means you have proven that the algorithm will use no more than some limit on a resource.
Proving a lower bound means you have proven that the algorithm will use no less than some limit on a resource.
"Resource" in this context could be time, memory, bandwidth, or something else.