That's not how software patents work in practice. They are written to be as broad and non-specific as possible, because their purpose is to be legal weapons. They are not about spreading innovation; competition, in functioning markets, is sufficient for that.
I think patents can be (and have been) distorted to be used as weapons, but their real purpose is to help innovation as I described.
The argument you're making is basically that the system right now is broken, so we should just throw it out. I do agree that it's broken, but I argue that fixing the system is a better solution than throwing it out.