Those are the official requirements. In real life, only #3 prior art is of any use in disqualifying any software patent.
1. Patentable subject matter. The Supreme Court declared that algorithms are not patentable in Benson (1972) and Flook (1978). The Court of Appeals for the Federal Circuit (the patent court) reversed the Supreme Court rulings completely by 1994's Alappat decision. Since then, very, very few especially egregious patents are rejected on subject matter grounds.
2. Utility is usually trivial to prove. If you're using it, it has utility.
4. (unmentioned) Invalidity on the basis of obviousness is a dead letter under CAFC precedent. The Supreme Court attempted to revive it in 2007's KSR v. teleflex, but the CAFC has overruled the Supreme Court on 35 USC §103 (the obviousness law). You pretty much need a single published public prior reference reciting or clearly suggesting every element in the claim to argue obviousness, which is exactly what you need to argue anticipation under 35 USC §102 (prior art).
5. Enablement is assumed to be automatically satisfied in software patent cases by 1997's Fonar precedent by the CAFC:
“As a general rule, where software constitutes part of a best mode of carrying out an invention, description of such a best mode is satisfied by a disclosure of the functions of the software. This is because, normally, writing code for such software is within the skill of the art, not requiring undue experimentation, once its functions have been disclosed.... Thus, flow charts or source code listings are not a requirement for adequately disclosing the functions of software."
Also consider University of Pittsburgh v. Varian (CAFC 2014) where the CAFC decided that 3D computer vision imaging of people and articulated human movement is trivial and obvious post-solution activity that need not even be described or considered part of the claims on a medical imaging patent. The function of human motion detection is entirely covered by mentioning the two steps that particular spots will be tracked and then motion inferred. It's literally that bad.
If it sounds to you like the CAFC is waging an undeclared war on software, you may be right.
The Supreme Court attempted to revive it in 2007's KSR v. teleflex, but the CAFC has overruled the Supreme Court on 35 USC §103 (the obviousness law).
The CAFC is subordinate to SCOTUS, and cannot "overrule" a SCOTUS decision. Consequently obviousness is very much alive.
The CAFC can try to ignore or "distinguish" a SCOTUS decision on flimsy grounds, but SCOTUS has repeatedly overruled the CAFC when it has tried to overstep its bounds.
I refer you to the awful and smart patent troll promoter Gene Quinn:
"How long will it take the Federal Circuit to overrule this inexplicable nonsense? The novice reader may find that question to be ignorant, since the Supreme Court is the highest court of the United States. Those well acquainted with the industry know that the Supreme Court is not the final word on patentability, and while the claims at issue in this particular case are unfortunately lost, the Federal Circuit will work to moderate (and eventually overturn) this embarrassing display by the Supreme Court. This will eventually be accomplished the same as it was after the Supreme Court definitively ruled software is not patentable in Gottschalk v. Benson, and the same as the ruling in KSR v. Teleflex will be overruled. I have taken issue with Chief Judge Rader’s statements that nothing has changed in Federal Circuit jurisprudence as a result of KSR, which is not technically true. What is true, however, is that the Federal Circuit continues to refine the KSR “common sense test,” narrowing the applicability in case after case and tightening the ability for “common sense” to be used against an application. We are almost 5 years post KSR and there is still a lot of work left to be done by the Federal Circuit to finally overrule the Supreme Court’s KSR decision. It took almost 10 years to overrule Gottschalk v. Benson, so we are likely in for a decade of work to moderate the nonsense thrust upon the industry this morning."[0]
No court is subordinate to any other in the American system. Higher courts can overrule lower courts, but cannot subordinate them or force them to follow dictates or discipline judges. So-called precedent is an artificial social convention among judges that the CAFC judges reject. [1]
The Supreme Court doesn't have the time or interest to assert itself against the CAFC. When it does take a case, the Supreme Court often overturns decisions unanimously and expresses frustration in its opinions, but that doesn't mean the Supremes are about to start taking 50 or 100 patent cases a year and making any real difference.
1. Patentable subject matter. The Supreme Court declared that algorithms are not patentable in Benson (1972) and Flook (1978). The Court of Appeals for the Federal Circuit (the patent court) reversed the Supreme Court rulings completely by 1994's Alappat decision. Since then, very, very few especially egregious patents are rejected on subject matter grounds.
2. Utility is usually trivial to prove. If you're using it, it has utility.
4. (unmentioned) Invalidity on the basis of obviousness is a dead letter under CAFC precedent. The Supreme Court attempted to revive it in 2007's KSR v. teleflex, but the CAFC has overruled the Supreme Court on 35 USC §103 (the obviousness law). You pretty much need a single published public prior reference reciting or clearly suggesting every element in the claim to argue obviousness, which is exactly what you need to argue anticipation under 35 USC §102 (prior art).
5. Enablement is assumed to be automatically satisfied in software patent cases by 1997's Fonar precedent by the CAFC: “As a general rule, where software constitutes part of a best mode of carrying out an invention, description of such a best mode is satisfied by a disclosure of the functions of the software. This is because, normally, writing code for such software is within the skill of the art, not requiring undue experimentation, once its functions have been disclosed.... Thus, flow charts or source code listings are not a requirement for adequately disclosing the functions of software."
Also consider University of Pittsburgh v. Varian (CAFC 2014) where the CAFC decided that 3D computer vision imaging of people and articulated human movement is trivial and obvious post-solution activity that need not even be described or considered part of the claims on a medical imaging patent. The function of human motion detection is entirely covered by mentioning the two steps that particular spots will be tracked and then motion inferred. It's literally that bad.
If it sounds to you like the CAFC is waging an undeclared war on software, you may be right.