Suppose we're working in the first-order language of the real numbers, and we write

$$\forall x (x > 0 \;\rightarrow\; 1/x > 0)$$

We want this to be true, however I feel like it doesn't quite work, because by the principle of universal instantiation, it follows that we can set $x=0$ in order to obtain

$$0 > 0 \;\rightarrow\; 1/0 > 0$$

or in other words

$$\mathrm{FALSE} \;\rightarrow\; \mathrm{UNDEF}.$$

Now we wish this statement to be true, and you may argue, "Well false implies everything, so it's true," however I don't think this *technically* works, because false implies both true and false, but we've never specified how false interacts with undef. My question is, how do people deal with this issue, and does the solution involve a third truthvalue called "UNDEF" or some such.