Stupid Patent Of The Month: A Patent On Using Mathematical Proofs

from the break-out-your-wff-'n-proof dept

In some fields, software bugs are more than the proverbial pain in the neck. When software has to ensure that an airplane lands safely, or that a pacemaker keeps operating, there's no room for error.

The idea that mathematical proofs could be used to prove that software is error-free has been around since the 1970s, and is known as "formal verification." But like a lot of technologies that some visionaries saw coming, it took time to develop. In recent years, computing power has become cheap enough for formal verification to become practical for more software applications.

Unfortunately, last month, the field had a monkey wrench thrown into it, in the form of U.S. Patent No. 10,109,010, which the patent office awarded to a U.K.-based company called Aesthetic Integration Ltd.

Claim 1 of the patent describes creating mathematical "axioms"—formal mathematical statements—that describe a computerized trading forum. The patented method then describes analyzing, with a "computer assessment system … the mathematical axioms that describe the operation of the trading forum." In other words, the patent describes using formal proofs to check for bugs in a "computerized trading forum." It's formal verification—just applied to the financial services industry.

Of course, Aesthetic Integration didn't invent formal verification, nor did the company invent the idea of software powering a "trading forum." The company has apparently created software that utilizes formal verification in the financial services space, and that software might be perfectly good. But the Patent Office has effectively allowed the company to patent a whole sector of formal verification.

To be fair, the '010 patent appears to reflect some advanced and difficult programming by Aesthetic Integration. But that does not mean it should be patentable. Consider the following analogy: there are no 50 story buildings in Cincinnati. Building a 50 story building in Cincinnati, and making it compliant with seismic safety standards, would be hard work. It would take many engineers a great deal of effort to apply existing techniques to complete the project. You could write a lengthy paper describing that process, which might include lots of complex charts and diagrams. Still, that does not mean a company that completes such a project should then get a monopoly on tall buildings in Cincinnati.

Aesthetic Integration claims to be the first to apply formal verification to trading software. If that's true, the company may get a well-earned competitive advantage by being the first to this market. But it should not get a 20 year monopoly simply for applying programming techniques that the company itself has described as part of a "mature and effective field of science."

Ultimately, the '010 patent reflects a broader problem with Patent Office's failure to apply a meaningful obviousness standard to software patent applications. We have explained before that the Patent Office is all too willing to hand out patents for using known techniques in a particular field. Flow charts and whirligigs can make a concept look new when it isn't—especially when a patent owner fills its application with obscure language and "patentese." The Federal Circuit has also encouraged this through its hyper-formalistic approach to obviousness. The end result is an arms race where people rush to patent routine software development.

As we've said before, patents are simply a bad fit for software. The Patent Office should stop giving out patents on formal verification, or other well-known software processes.

Republished from the EFF's Stupid Patent of the Month series.

Hide this

Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.

Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.

While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.

–The Techdirt Team

Filed Under: math, patents, proofs, stupid patent of the month


Reader Comments

Subscribe: RSS

View by: Time | Thread


  1. icon
    hij (profile), 1 Dec 2018 @ 5:09am

    How is this new?

    There is plenty of prior art for the application of formal systems in verifying algorithms. See for example MIT's PS+SE group. Software to verify formal logic systems has been in use for a long time now, and formal systems has been a focus of academic research for well over a decade. The software of evaluating formal systems is well known, and the hard part is developing the system of formal logic to define a problem in question.


Add Your Comment

Have a Techdirt Account? Sign in now. Want one? Register here



Subscribe to the Techdirt Daily newsletter




Comment Options:

  • Use markdown. Use plain text.
  • Remember name/email/url (set a cookie)

Follow Techdirt
Special Affiliate Offer

Advertisement
Report this ad  |  Hide Techdirt ads
Essential Reading
Techdirt Deals
Report this ad  |  Hide Techdirt ads
Techdirt Insider Chat
Advertisement
Report this ad  |  Hide Techdirt ads
Recent Stories
Advertisement
Report this ad  |  Hide Techdirt ads

This site, like most other sites on the web, uses cookies. For more information, see our privacy policy. Got it
Close

Email This

This feature is only available to registered users. Register or sign in to use it.