---

Why Software Is Abstract

“Following the ruling of the Supreme Court in Bilski, the USPTO
asked, in substance, how to tell an abstract idea from an
application of the idea. In this article I propose an answer to the
question of what makes software abstract. It is a follow up to the
previous article, Physical Aspects of Mathematics.

“The logic is to look at why a mathematical calculation is
abstract and then see if the same logic applies to software. It
happens that it does. It is possible to show that software is
abstract with references to the underlying mathematical aspects.
This is not, however, the topic for this article. The argument is
presented without any assumption as to whether or not software is
mathematics. I work from the observation that a mathematical
calculation solving a mathematical problem is abstract. Then I look
at what makes it abstract. Then I observe that the exact same logic
is applicable to all software whether or not the law sees it as an
algorithm as defined by Benson. This is not surprising. Software is
mathematics and this makes it abstract, but I don’t use or rely on
this fact in making the arguments in this article.

“Abstraction Is Self-Containment

“Let’s start with experts, who can define for us what makes
mathematics abstract, in some writings on the psychology of
learning. See Mitchelmore, Michael and White, Paul —
Abstraction in Mathematics and Mathematical Learning (where you can
download the article as PDF)

“We claim that the essence of abstraction in mathematics is that
mathematics is self-contained: An abstract mathematical object
takes its meaning only from the system within which it is defined.
Certainly abstraction in mathematics at all levels includes
ignoring certain features and highlighting others, as Sierpinska
emphasises. But it is crucial that the new objects be related to
each other in a consistent system which can be operated on without
reference to their previous meaning. Thus, self-containment is
paramount.”

Complete
Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis