
Patent 5,893,120 reduced to mathematical formulae - dchest
http://paulspontifications.blogspot.com/2011/04/patent-5893120-reduced-to-mathematical.html
======
tokenadult
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,

<http://www.econlib.org/library/Enc/PublicChoice.html>

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."

<http://en.wikiquote.org/wiki/John_Godfrey_Saxe>

------
pbhjpbhj
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.

~~~
JoshTriplett
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."

------
marshray
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.

~~~
3dFlatLander
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?

~~~
marshray
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.

~~~
anamax
> 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.

~~~
khafra
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.

~~~
anamax
> 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?

------
shasta
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.

~~~
brlewis
"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.

~~~
shasta
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?

~~~
brlewis
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.

~~~
shasta
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.).

~~~
brlewis
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.

~~~
shasta
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.

~~~
marshray
_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_.

------
fizx
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.

~~~
pnathan
Agreed.

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.

------
dons
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 ...

------
eli
Uh.. Aren't mathematical formula patentable?

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

~~~
brlewis
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.

------
Natsu
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.

~~~
marshray
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.

~~~
Natsu
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.

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

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

------
janzer
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.

~~~
MarkSweep
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.

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

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

[http://docs.justia.com/cases/federal/district-
courts/texas/t...](http://docs.justia.com/cases/federal/district-
courts/texas/txedce/6:2009cv00269/116887/579/5.pdf)

------
alok-g
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.

PS: IANAL

~~~
brlewis
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.

~~~
alok-g
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?

~~~
brlewis
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.

