A **proof** in real analysis is like a mathematical argument built through logic and steps. When proving the two parts of the exercise, we build on known truths and definitions to make valid conclusions.
For statement (a), the proof relies on understanding how neighborhoods function. Given \( U \) is a neighborhood of \( u_{0} \), and \( U \subset V \), it demands a specific order of logic:
- If there is an open set \( O_{1} \) that fits inside \( U \) and covers \( u_{0} \),
- Then \( O_{1} \), being open, will still be snug inside \( V \).
Thus, by showing there's an open set \( O_{1} \subset V \) containing \( u_{0} \), we establish that \( V \) inherits the neighborhood status.
For statement (b), where a collection of neighborhoods \( U_{1}, U_{2}, \, \ldots, U_{n} \) are united, the proof method is about intersection:
- If every \( U_{i} \) has an open set \( O_{i} \) that covers \( u_{0} \),
- The intersection of all these \( O_{i} \)'s remains open and covers \( u_{0} \).
Both proofs follow a path of logical connections: knowing what defines a neighborhood and how open sets ensure that a neighborhood's key features, like open space around \( u_{0} \), are given even when contexts change or combine.