Fix $b>1$.
Let's define $B(x)=\{b^t:t\in \mathbb{Q},t\leq x\}$.
Prove that $b^r=\sup B(r)$ when $r$ is rational. Hence it makes sense to define $b^x=\sup B(x)$ for every real $x$.
The question is about last sentence: "Hence it makes sense to define $b^x=\sup B(x)$ for every real $x$."
Can someone explain rigorously how our prove for rational $x$ makes sense define it for real $x$?
I think it is because the real line is complete and that rational numbers are dense in real line. But I dont know how to show it rigorously.
The fact that "the real line is complete and the rational numbers are dense in the real line" perhaps helps to justify that the definition of $b^x$ over $x \in \mathbb{R}$ matches our visual intuitive picture of what the graph of an exponential function should look like; but that is not what is needed here just for the definition to "make sense" - you are overcomplicating things!
For any $b>0$ and any rational $x \in \mathbb{Q}$, we already have a definition of $b^x$. With this, for any $b>0$ and any real $x \in \mathbb{R}$, we can define a set $B(x)$ by $$ B(x) := \{b^t : t \in \mathbb{Q}, t \leq x\}\text{.} $$ It is easy to check that for any real $x$, the set $B(x)$ is bounded above, and therefore $\,\sup B(x)\,$ is a well-defined real number!
In the case that $x$ is rational, this number $\,\sup B(x)\,$ turns out to be precisely the value of $b^x$. Therefore, it would not create any inconsistency of definitions to introduce a definition of $b^x$ for all real $x$ as $$ b^x := \sup B(x)\text{,} $$ since those $x$-values for which $b^x$ has already been defined (namely, the rationals) give the same value for $b^x$ under our previously-existing definition (defined only for rational $x$) as under our new definition (defined for all real $x$).