Mathematical formulas are not patentable, but use of mathematical formulas to achieve something still is. If this were not true, then one cannot patent anything at all since the laws of physics and mathematical formulas are both not patentable. That one can write the same code in Haskell or represent it with just mathematics is not a violation of the patent yet. Execution of the code, or the device executing it is still patentable. This allows for software patents.
Whether this is sensible or not is a different question. While I do see several issues with the patent system, I personally do not believe patents law should distinguish software and hardware. If its "really" an "invention" that meets the three requirements for being patentable, it should be patentable whether its software or hardware.
The device executing software is statutory subject matter for a patent, but is only patentable if it is also novel and non-obvious. An algorithm implemented using a general-purpose digital computer can't be patentable under existing Supreme Court precedent for that reason. That isn't to say no software could ever be patented, just that every specific patent we've ever talked about on HN should rightly be invalid, if precedent were followed.
I think distinguishing software is sensible, because patent protection is not necessary to promote progress in this field. Patent monopolies are a cost that is expected to reap benefits in increased innovation, and whether they do this or not depends more on the human processes that arrive at the invention/discovery, which differs between software and hardware.
I take the first one. My legal knowledge in this area of software parents is limited.
Please let me know if I am wrong, but the second one sounds to be just semantics over what I said. It's not that coming up with an invention in software domain is easy, it rather is that an average software patent application is closer to being obvious in practice than it is for some other areas. If there is a good invention in the domain of software that is novel, non-obvious and useful, it should be patentable. If someone else working on the same problem domain can come up with the same idea in a short time, then the idea is obvious and should not be patentable.
I am not (yet) ready to believe that human processes in software domain make them more or less intelligent than in other domains. How can they then come up with "real" inventions faster or more often to not require patent protection?
I'm not interested in whether software innovation is more/less intelligent. What matters is that it's less expensive and risky than innovation in hardware. See the bottom of page 40 in http://www.groklaw.net/pdf2/BilskiScotus08-964.pdf
Keep reading through the rest of Stevens' opinion. Nearly everything he says against patenting business methods applies equally to software.
Whether this is sensible or not is a different question. While I do see several issues with the patent system, I personally do not believe patents law should distinguish software and hardware. If its "really" an "invention" that meets the three requirements for being patentable, it should be patentable whether its software or hardware.
PS: IANAL