Hacker News new | comments | show | ask | jobs | submit login
Patent 5,893,120 reduced to mathematical formulae (paulspontifications.blogspot.com)
177 points by dchest 2275 days ago | hide | past | web | 39 comments | favorite

As Justice Oliver Wendell Holmes, Jr. wrote, "The life of the law has not been logic; it has been experience. . . . The law embodies the story of a nation's development through many centuries, and it cannot be dealt with as if it contained only the axioms and corollaries of a book of mathematics."

That's the basic issue. Legislators craft laws in a rather messy process[1] that involves trade-offs among interest groups,


with many laws having built in from the get-go a certain amount of illogic. Judges who rule on cases are supposed to interpret the law as written by the legislature and as it applies to the cases before them, and sometimes particulars of how a case was argued by its parties introduces further illogic into judicial decisions. The law will never be perfectly logical--at least, not until human beings in general are perfectly logical and willing to set aside their personal interests for the sake of greater logical consistency in the law.

[1] "Laws, like sausages, cease to inspire respect in proportion as we know how they are made."


This line of reasoning is futile.

Whether it is a valid argument or not is immaterial. The purpose of patent law is to protect applied innovations. If patent law is proven to not cover the innovations that the lawmakers intend it too then that doesn't mean that those innovations will no longer be protected it means that there has been a drafting error. The law will be re-drafted, or more realistically reinterpreted, to have a meaning allowing software patents but somehow defining a complexity limit or some such to prevent mere mathematical discoveries from being patented. I know that recourse to consider the intention of the draftees is made in UK [patent] law and assume this is true in the USA(?).

See for comparison UK/European patent law with respect to computer implemented inventions. Software patents are a mentioned exclusion but a little "as such"/"per se" keeps the door open for them.

Field matters too. Compression algorithms and codecs always seemed too close to mathematics to be patentable to me but a compression algorithm as applied performs a useful real-world action ("provides a technical contribution to the art") and so is considered to be in the class of innovations that it is desirous to protect.

That sounds a lot like a paraphrase of the old quote about the Internet. In this case, "The law interprets sanity as damage and routes around it."

It's worse than that. Because of the economic and legal disruption caused by effectively declaring software patents null and void, the SCOTUS may very well say,"Yes, we agree that this patent is not valid, but we've been doing things this way for a very long time, and it would be too harmful to our society to rule that it is not valid."

Bowman v. Government of the United States is usually the most cited example of this sort of finding (it deals with illegality of personal income tax due to Ohio not being admitted to the USA due to what amounts to a clerical error.)

A valiant attempt. I hope it really does contribute to this and all software patents being struck down for the foolishness that they are.

I kind of doubt it though. Even if the law says mathematics isn't patentable, and all programs on Turing equivalent systems are provably reducible to pure mathematics, it won't matter. Those who run the legal industry will just invent whatever bad laws and rulings they need to enable it to continue sucking the life out of those who are actually trying to produce things of value.

I like to think that if things were explained in simple enough terms, judges would understand and it would have to go forward. This feels like a 'Mr. Smith Goes to Washington' quantity of optimism. Still, a guy can dream.

Surely the FSF has tried to argue this in court.. right?

Look at the RSA algorithm for example. As pure a mathematical beast as there ever was. Many folks wanted that formula opened up, but I don't know how many even got a fair hearing to argue about it. It held until it expired.

> Look at the RSA algorithm for example. As pure a mathematical beast as there ever was.

The RSA patent wasn't on the math. It was on using that math to do something specific.

The RSA patent didn't apply to other uses of that math.

Obviously, they didn't try to patent the Chinese Remainder Theorem, or any other previously existing mathematical algorithm.

But, as the top-level comment and the original post point out,

> ...any method of manipulating information (i.e an algorithm) can be translated into a Haskell program, every Haskell function is a formula in the Typed Lambda Calculus, and all the variants of the Lambda Calculus are part of mathematics.

The RSA patent doesn't provide source code per se, but it definitely describes a particular algorithm which could be transcribed to lambda calculas.

> The RSA patent doesn't provide source code per se, but it definitely describes a particular algorithm which could be transcribed to lambda calculas.

Yes, but "transcribed to lambda calculus" does not imply that RSA isn't unpatentable any more than "can be translated to Japanese".

Note that you can't patent chemistry, molecules, or forces of nature either. However, no one confuses that with patenting the use of said things for specific applications.

Why do you think that math is different?

You should think of the legal system as a paraconsistent logic. Laws are globally inconsistent, and so arguments are favored that align most closely with established precedent. Arguing that murder for hire is covered by freedom of speech won't fly either. This is a similar waste of time.

The focus on correcting patents, generally, and software patents, in particular, should be on making sure the economic incentives protect only development that would not otherwise occur.

"Arguments are favored that align most closely with established precedent" -- This is the theory. Practice in the area of software patents is precisely contrary to this theory.

Established precedent: Benson and Flook, specifically, is ignored. Diehr is deliberately misread to be inconsistent with Benson and Flook.

Seriously, if precedent were followed, every software patent we've ever discussed on HN would be rejected. The focus on fixing software patents should be on letting the law be the law. Every time a software patent is legally successful, the law is not the law. They're all invalid.

Suppose that instead of just programming a general purpose computer, algorithms are oneday developed to program general purpose robots. Should those algorithms be patentable? Or is "a program to separate seeds from cotton" just a mathematical concept?

I'm going to dodge the "should" word and instead talk about whether those algorithms would be patentable based on Supreme Court precedent.

I'll walk through the three tests, all of which must be passed for the claimed invention to be patentable.

Statutory subject matter: The algorithm is not. The general-purpose robot is. The relationship between the algorithm and the general-purpose robot is.

Novel: Doesn't matter for the algorithm, since it didn't pass the first test. I'm reading between the lines that the general-purpose robot is not. The relationship between a robot and the algorithm that runs it is not.

Non-obvious: The question is moot for the invention as a whole, since no novelty was found.

The invention would not merit patent protection.

I don't know that a court would have to rule that way. On your very first step, where you decide the algorithm is not patentable subject matter, I think they could instead take into account the generality of the algorithm in making that determination. They could distinguish between simple unpatentable algorithms and complex patentable ones. Video codecs, in my opinion, should be patentable (provided they are novel, etc.).

Algorithms are not statutory subject matter, according to any court. Software patents are always drafted to claim a larger system of which the algorithm is a part.

Right, and yet courts affirm patents where the only novel component is something that can be expressed in software. The reason they do, in my non-expert opinion, is that they see the slippery slope - every invention can be decomposed into logical steps (the algorithm) and simple physical processes carrying out those steps that aren't novel enough to be patented on their own. And for many or most inventions, the combination of the physical processes isn't even enough to be novel -- the algorithm is key. Consider, for example, synthesizing a chemical. You could have a chemical plant that's able to perform hundreds of basic processes, and the key component is the algorithm that describes which steps to perform in which order. Not allowing patents on these processes just because the important parts of them can be described with an algorithm would be a radical departure from the functioning of our patent system - much more radical than not following the reasoning in some past case to the letter.

So courts have allowed this kind of patent on algorithms, but in my opinion have gotten the logic of it wrong. What I think they should do is distinguish between algorithms that are really mathematical in nature (as in, would be of interest to computer scientists or mathematicians) and algorithms that really just encode a physical process. This wouldn't be that radical of a departure from the cases you mention - they'd just need to refine what those cases meant by 'algorithm'.

The problem with the way courts have ruled to date is that it actually affords less protection to the real mathematical algorithms that the clause was meant to protect, because everyone just slaps "on a machine" to the end of their patent and bam, you've got patentable subject matter. Linked lists on a machine. I'd much rather see the courts look at the crux of the algorithm being suggested (linked lists) and decide that it's too abstract for a patent.

everyone just slaps "on a machine" to the end of their patent and bam, you've got patentable subject matter. Linked lists on a machine.

That was the 1980s. Those patents have since be re-filed to protect the grand new invention:

$data_structure on a machine connected to the Internet.

I don't know what courts you're referring to. The U.S. Supreme Court has never affirmed a patent where the only novel component was an algorithm executed on a general-purpose computer.

Mathematical algorithms were never intended to receive patent protection.

You definitely wouldn't want to make a case under freedom of speech, I'd suggest claiming Executive Privilege.

For a different perspective, "What colour are your bits?" ( http://ansuz.sooke.bc.ca/entry/23 ) is an excellent read.

It could be argued that programs and ideas built up through the machinery of mathematics are unpatentable, whereas programs and ideas built through the machinery of engineering are.

The law may ignore the actual content in favor of looking at the mechanism of discovery and/or usage.


There is a profound philosophical disconnect between the (well-meaning) author of the Haskell and the way the law works.

There is a whole body of thought regarding dealing with humans that plays out in the law: mathematical approaches to law do not regard that and tend to fail.

That was fascinating to read. Thanks.

I'd have liked to see the Haskell rendered "unexecutable" by reducing it to pure, typed lambda calculus. Just a matter of a few rewrite rules from the Haskell specification ...

Uh.. Aren't mathematical formula patentable?

(Edit: the answer is "sometimes." http://www.uspto.gov/web/offices/pac/mpep/documents/2100_210... , http://en.wikipedia.org/wiki/State_Street_Bank_v._Signature_...)

Reading your first link, one would think the patents in the Benson and Flook cases would be patentable, since both had claimed practical application. We see here that in most cases the Supreme Court does not get to decide what is and isn't patentable.

The Supreme Court's Bilski decision essentially smacked down the Federal Circuit's State Street decision. But again, this would only matter if the patent office and lower courts respected the Supreme Court.

This is a lovely illustration of the Curry-Howard-Lambek correspondence, but I fear that they'll still think of this as software because it can be executed. It might make the point stronger if one were to reduce it all the way back to typed Lambda calculus.

Though even http://us.metamath.org/index.html itself seems to be unpersuasive, and it's concerned with writing the program equivalent to the ZFC axioms (which is, basically, the framework that underlies all the math most people have ever even heard of).

The person with the "what color are your bits" link, sadly, has the right idea. The law can, in fact, concern itself with distinguishing between mathematically equivalent things, legal fiction or not. It seems like we get more traction by arguing that the barrier to "invention" with software is so low and the risk of liability so high, even if one is not trying to infringe, that software patents hinder progress more than they help it.

Still, I love the illustration. Thanks for sharing.

Define your term "executed" as it applies to this Haskell source without using the words "transformation", "rewrite", or "evaluation". Probably you could do it somehow, but the point is that you're simply rewriting equivalent mathematical expressions as actual parameters are substituted in.

If this program is patentable, then Gaussian elimination and everything in my high school algebra textbook is patentable.

I know it's truly equivalent and the differences between Haskell and math are illusory, I just think that it would be easier for non-technical people to go "oh, that's math!" if it was in the form of a calculus and if running it involved more than telling Haskell, "here's a Haskell source file, go for it."

The point that one can, in fact, make an interpreter for mathematical statements is not lost on me. That's more or less what metamath.org is making, after all.

metamath.org How have I never seen this before?! So much for the rest of my weekend.. thanks! (really)

I'm glad you're enjoying it. It's the single strongest proof I know of for the equivalence of mathematics and software.

Unfortunate that it seems at least for FF4 there is an interaction between the <pre> and <code> tags around the actual haskell such that about the last 1/2 of long lines are cut off.

It did finally get me to install the readability addon though.

You can often use the menu View -> Page Style -> No Style to fix these sorts of problem. On Windows it's a quick Alt-V-Y-N and then an Alt-V-Y-B to turn styling back on.

Does anyone know where in the Linux kernel that is being used? Pure curiosity...

In Amazon's suit, this filing suggests that it is the route cache and possible something with flow tracking.


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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact