I'm trying to learn Verilog over the summer and I'm running into trouble understanding the necessity of having a 4-bit bus. My understanding of it is that it behaves like a wire. Why can't one bit of in_3 being high for example, be enough for the other 4 gates? Why do we need to replicate it four times for it to work? Here is the block diagram followed by the code from "Verilog by Example" book.
Because the example is trying to model the exact gate-level equations so they are using the bit-wise AND operator '&' , not the logical AND operator '&&'. Learn the difference between bit-wise and ;lgical operators in the LRM
If you wanted to model this at a higher RTL style, you would do