decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Software IS mathematics | 758 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Software is not mathematics
Authored by: Ian Al on Sunday, October 14 2012 @ 06:30 AM EDT
Software programs can only do what processors can be instructed to do. Processors can only manipulate math symbols.

However, if you say that a software program executed by a processor does more than manipulate binary symbols then you are going to have to explain further.

I think I know where you are coming from. This might address your concerns about not being able to patent engineering.

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | Parent | # ]

Software is not mathematics
Authored by: Anonymous on Sunday, October 14 2012 @ 06:34 AM EDT
This makes more sense.

Alas, I am not a mathematician (even a simple quadratic equation is beyond me)
or a programmer by profession, but I _have_ written half-a-dozen non-trivial
programs in my life.

These have ranged from lab process control to instrument calibration and data
presentation to a big database front-end.

Several of these were reviewed by professionals and, although I missed a couple
of tricks, I was warmly praised for my style, elegance and error-trapping.

Did I use mathematics? Yes, the programs frequently made use of mathematical
operations but above all they were the application of logic.

Writing these programs was for me, much like writing a novel, with a start,
characters, places, a plot-line and an ending rather than math.

One can write a large prolix Jamesian novel or, more appropriately, a lean,
spare Hemingway short story to accomplish the same end.

Logical engineering indeed but math?

Mac

[ Reply to This | Parent | # ]

Software is not mathematics, but algorithms in software are.
Authored by: Anonymous on Sunday, October 14 2012 @ 07:45 AM EDT
There is a lot more to software than mathematics. There is
creative content as well, which is comparable to creative
content in a novel for example. Creative content can't be
patented but it can be protected by copyright. It can be
argued that the algorithms and mathematical methods used in
software are mathematics, and should not be patentable.

Having said this, people have been granted patents for
public key encryption algorithms, video compression
algorithms etc. so it would seem that mathematics is
patentable - at least in the USA, although it is not
supposed to be.

[ Reply to This | Parent | # ]

Software is not mathematics
Authored by: Anonymous on Sunday, October 14 2012 @ 07:45 AM EDT
The point is that software is not mathematics but engineering. It is concerned with solving practical problems and not concerned with formal logic or proofs except as tools.
I fail to follow the logic of this statement. Does phasor arithmetic cease being mathematics when it is applied to circuit design? Does calculus cease being math when used in signal generation? How does the application of mathematics to a certain field suggest that it is no longer mathematics?
There is a real problem with patents especially SW patents in the US but the problem is not because software is mathematics but because of the practical consequences of the current system. The mathematical argument is false but in any case has the character of relgious dogma. The exclusion of mathematics from patentable material was surely itself based on a practical assesment of the consequences.
Aside from the "mathematical argument is false" comment, I largely agree with this. Software needs to be excluded from patentable subject matter because not doing so is untenable.

In my opinion, the greater problem of patenting software is that it only makes sense (to whatever small degree) when it is considered as a process patent. And as a process patent, infringement only occurs when the process is performed (i.e., when the software gets executed). The "machine" of an Android phone doesn't infringe a software patent, the software on an Android phone can't infringe a patent; but my 80-year old aunt should be an infringer when she uses her Samsung phone. This is unacceptable.

Of course, none of this does anything to negate the validity of "software is math", nor should one argument against software patents go unexpressed merely because other arguments exist.

[ Reply to This | Parent | # ]

I have not said the disciplines are the same
Authored by: PolR on Sunday, October 14 2012 @ 08:41 AM EDT
I have never said that the work of a programmer is the work of a mathematician. What I have said is summarized in footnote 4
There is more to software than program execution. But according to patent law, the aspect of software which is patented is the program execution. We say "software is mathematics" as a slogan to remind people that the aspect of software which is patented is entirely a mathematical computation.

[ Reply to This | Parent | # ]

Software is not mathematics
Authored by: Anonymous on Sunday, October 14 2012 @ 11:38 AM EDT
You're describing programming, not mathematics. Programming is not mathematics,
software is.

Let's go back to school. The teacher writes a problem on the board. You write
the solution (and your workings) in your exercise book. You doing all the
writing is not mathematics. But the solution written in your book is.

Now let's go to work. Your boss gives you an engineering problem. You sit down
at your workstation and write a program to solve the problem. You sitting down
and programming is not maths. Your program - the solution to the problem - IS
maths. (Not least because, as I keep saying, barring a hardware failure your
program will, given the same input, *always* give the *same* output *every*
time. That's not true for any real-world process.)

Cheers,
Wol

[ Reply to This | Parent | # ]

Software is not mathematics
Authored by: Anonymous on Sunday, October 14 2012 @ 03:59 PM EDT
"Mathematics itself is a broad discipline from pure mathematics concenred
with the logical consequences derivable from sets of axioms to applied
mathematics
concerned with how the results and methods of pure mathematics can be applied to
praticcal problems."

Software is pure math applied to compute numerical results for practical
problems. There is NOTHING software can do that is non-mathematical. A word
processor is purely mathematical. Inside a computer every letter of every word
is actually a number.The letter "t" is generally represented by the
number 116 in a computer, the letter "h" is generally 104, and
"e" is generally 101. A spell checker correcting "teh" into
"the" is a purely mathematical operation. A spell checker is merely a
particular math function which, in part, converts the numerical sequence {116,
101, 104} into the numerical sequence {116, 104, 101}.

"Software can to an extent be analysed by mathematics"

It's kinda circularly redundant, but yeah math can be analyzed by math. Software
is nothing but a sequence of mathematical operations. Each line of code is
written in an English-langauge-like form of text to make it easier to write
programs, but inside the computer every line of code is actually a mathematical
operation.

"and all software depends on algorithms"

No, all software *is* algorithm. Nothing but algorithm. Every line of code is an
algorithmic step of one big algorithm. Any decent introductory level college
programming course will mention the fact that any program is one big algorithm,
often build up from multiple smaller algorithms.

"The point is that software is not mathematics but engineering [because] It
is concerned with solving practical problems"

Math is often concerned with solving practical problems. Math does not cease to
be math merely because you use it to compute something useful.

"software itself is more than this"

No it's not. Software unable to do anything other than compute numerical
results. And as I pointed out above, just because something like a word
processor *looks* like letters instead of numbers does not change the fact that
the computer and the software actually handle those "letters" in
numerical form. A "word" in a word processor is actually handled by
computer as a sequence of numbers. When you edit text in a word processor the
software is actually preforming mathematical operations shuffling numbers
around.

You could *connect* a computer to a robotic arm, and you could run some software
and have the robotic arm brew you a cup of coffee, but the the *software* is
incapable of doing anything other than mathematically computing a particular
sequence of numbers... a sequence of numbers which, when sent to a robotic arm,
happen to cause the arm to brew you some coffee. Software is incapable of doing
anything non-mathematical. You can invent and patent a robot arm, but you can't
invent or patent math that produces particular numbers.

"There is a massive freedom in how software is structured and how it
performs functions"

Yes, that is true of any complicated mathematics.

"The design of software is critical and this design is not principally
concerned with algorithmic concerns but how to make the software easy to
understand, how to make it easy to extend and how to manage the complexity
inherent in whatever task is being performed."

First of all, *every* line of code is a line of an algorithm. When you write
code you are writing an algorithm.

And yeah, mathematicians often are concerned with making their work yeah
mathematicians are generally quite concerned with how to make their math easy to
understand, how to make it easy to extend and how to manage the complexity
inherent whatever problem they are working on.


Programmers are nothing be a specialized category of mathematicians, and
software is nothing but a specialized form of mathematical notation. Programmers
specialize in writing a particular category of large complicated math functions
which computers are optimized to compute. Computers compute. And the only thing
you can compute is math.

"Software engineering is a massively practical and creative
disciplince"

Yeah mathematics is a very creative discipline. Secondly, Some mathematicians
work on stuff with little practical application, but yeah many mathematicians
work of problems with massively practical application. Programmers merely
specialize in writing math which is efficiently computed by computers, and yeah
that happens to be an area of mathematics with particularly practical
application.

"Software engineering is ... only occasional need for
significant mathematical skills."

A mathematician working in the field of calculus does not cease to be a
mathematician because he has no knowledge or skill in topology.

Software engineering is a particular field of mathematics, an area of
mathematics which any programmer obviously requires skill in. And it does not
cease to be mathematics merely because they don't need to know calculus or
topology for the particular problems that are working on.

"A good example of the distinction is work I did medical imaging. At the
time some complex front end signal processing was performed by banks of laser
trimmed matched analog electronics. This was expensive. I derived some
mathematical relations that made it possible to achieve a similar or better
result digitally with the practical componenst available at the time. This is
perhaps mathematics"

It's !perhaps! mathematics? You derived some mathematical relations and
translated your math into a particular form that the digital components could
compute. Yeah that obviously qualifies as mathematics.

"interesting is two years later working with another company I saw they
were using my idea to process signals but with no understanding at all of the
underlying maths"

Yeah, many or even most people who use math have little or no understanding of
the underlying maths. Nothing new or surprising there.

"They had decided there must be a relationship between the
signals concerned and had simply measured it emprically and encoded it in look
up tables."

A "look up table" is a simple type of math function. One or more
numbers go in, and the math function returns the corresponding result.

"The point is that software is not mathematics but engineering. It is
concerned with solving practical problems and not concerned with formal logic or
proofs
except as tools."

Math does not cease to be math when you use it as a tool to solve practical
problems. In software there does not exist any tool or ability that is
non-mathematical. Your monitor may display patterns of light and dark that you
view as letters or anything else, but the software cannot do anything other than
compute numbers. It's merely sending a pattern of numbers to the monitor, and
those patterns of numbers happen to result in the monitor producing patterns of
light and dark which you interpret as letters.

A computer computes. You can *connect* a computer to devices that do other
things, but the software itself is nothing but a fancy form of computation.

Software is nothing but a series of mathematical computations suited to be
computed by a computer.

[ Reply to This | Parent | # ]

Software is mathematics, you idiot.
Authored by: Anonymous on Monday, October 15 2012 @ 03:01 AM EDT
There is mathematics which is not software.

However, every single piece of software is in fact a mathematical formula. Not
merely represented by a mathematical formula -- it IS a mathematical formula.

[ Reply to This | Parent | # ]

So, what your saying is...
Authored by: hAckz0r on Monday, October 15 2012 @ 01:18 PM EDT
That you first used mathematical formalism to describe the problem, and then you coded a really fast solver for that mathematical solution, while your adversary instead "discovered" the laws of nature, and similarly coded their fast(er) calculating, but approximate, solution?

Ok, so I have to ask, what part of that calculation, or lookup table method, makes the fast calculation(s) any more patentable that you using just a pen and paper to solve your initial equations? Let me guess, its because you did in on a *faster* machine than your desktop calculator?

---
The Investors IP Law: The future health of a Corporation is measured as the inverse of the number of IP lawsuits they are currently litigating.

[ Reply to This | Parent | # ]

Software IS mathematics
Authored by: Anonymous on Monday, October 15 2012 @ 02:57 PM EDT
The engineering process of making software may be more than mathematics.. it
involves human creativity and craft, as you point out.

The software itself definitely IS a mathematical object, as is the entire
process of executing that software. Software is abstract, intangible, mental.
It's an arrangement of symbols that can be manipulated to carry out some
computations. The process of carrying out these computations is entirely
mathematical, as are the computations themselves, and the inputs to the
computations, and the outputs.

I think plenty of the people who say "software is not mathematics, its this
other thing" don't really know what mathematics is, because otherwise they
wouldn't make such obviously-wrong statements.

[ Reply to This | Parent | # ]

Software is not mathematics
Authored by: Anonymous on Monday, October 15 2012 @ 03:34 PM EDT
for those of you who are having trouble understanding, try his

1 + 1 = 2

That is mathematics any one argue with that?

one plus one equals two

How about this? both statements are made up of symbols that represent numbers.

how about

A =1;
B =1;
X = A + B;

yep once again symbols that represent numbers and are mathematics, but this one
is a simple computer program.

Now how about this

printf "Hin";

Guess what that is Mathematics. This is a function that takes the symbols
stores them in a memory location so that they can be sent to a print buffer
finally to a printer.

Oh and if you dont think "Hin" is mathematics.
the computer does not send "Hin" to the printer what it sends is
numbers........

in binary 01001000 01101001 00001101 00001010 00000000
in decimal 72 69 15 10 00

the numeric ASCII codes.

and do you know what you can add 1 to 72 and now you have 73 and have the
computer prints "I" instead of H. Yep it is all numbers and
mathematics

There is no executable code sample that you can post that is not mathematics,

comments are not code, and function decelerations are not code,

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )