• No results found

The overall design of AURA and the research program in automated theorem-proving at Argonne more generally, was shaped by the perspectives of Larry Wos. Wos advo- cated the design of collaborative theorem-proving software that would combine what he believed were the very different skill-sets of humans and computers. Human users

275Wos, Winker, “Open Questions Solved with the Assistance of AURA,” p. 75. In particular,

theorem-proving software developed at Argonne was used for the optimization of circuit design, and for the significant field of “program correctness proving.” During the 1970s and 1980s, there was growing unease about computers. They were occupying increasingly many and increasingly important positions in the financial, military, political, and industrial infrastructure of the country. And sometimes they didn’t behave as they were intended. In order to trust computers, people wanted a guarantee that they would behave as their programmers intended - that programs did not contain errors or bugs that could jeopardize the computer’s performance. One approach to solving this problem was to represent computer programs themselves as mathematical systems and thenprovethat they would behave in the desired fashion. Often, and somewhat ironically, automated theorem-provers were used to produce said proofs since programs could be incredibly large and unmanageable for human practitioners. Program correctness proofs are the primary focus of MacKenzie’sMechanizing Proof.

would, in Wos’ design, be tasked with the supply of insights, intuitions, and instincts about the mathematical problems at hand. These would be derived from their experi- ences with mathematics and from what he took to be the mysterious world of human cognition that would forever elude any attempts at reduction to rule-bound algorithm. The computer would be tasked with the execution of complex and iterative operations that would follow those human intuitions farther, faster, and in different directions than the human user would be able. Built into this vision was a particular vision of proof as constituted by processes of iterative inference punctuated by flashes of intuition. It also entailed a particular division of labor - intuition for the people and inference for the computer. In the remainder of this chapter, I argue that both intuition and inference were reformalized in the design and implementation of the AURA program as each was translated into the context of collaborative computing.

Wos accepted a position in Applied Mathematics department at Argonne in 1957 upon leaving the world of academic mathematics. Wos firmly believed (and still be- lieves) that human mathematical practice could not, even in principle, be fully au- tomated. His conviction was based in large part on his personal experiences with mathematical research. His mathematical work seemed to him to proceed by way of seemingly spontaneous moments of insight that were not produced by any process of conscious or rule-abiding reasoning. Wos recounted one story in which the primary realization for his development of so-called “Quad arithmetic” came to him while he was sleeping: “It just came to me. So if you want to give credit, if you want to get pedantic as hell - I’ve got a big imagination that works when I’m asleep!”277

Wos’ account of mathematical intuition is reminiscent of Jacques Hadamard’s in- fluential essayThe Psychology of Invention in the Mathematical Field:

277Wos interview. Wos also cites anecdotally certain famous historical mathematicians like Henri

One phenomenon is certain and I can vouch for its absolute certainty: the sudden and immediate appearance of a solution at the very moment of sudden awakening. On being very abruptly awakened by an external noise, a solution long searched for appeared to me at once without the slightest instant of reflection on my part - the fact was remarkable enough to have struck me unforgettably - and in a quite different direction from any of those which I had previously tried to follow.278

Hadamard’s essay is one of the best known attempts to import insights from psychol- ogy, especially about the unconscious, into studies of mathematical discovery. Both Hadamard and Wos called upon their own personal experience as evidence that mathe- matical problem solving cannot be reduced to intentional and conscious reasoning prac- tices. However, such accounts of personal experience are often influenced by prevalent cultural narratives. Although anecdotal and somewhat folk psychological, these kinds of so-calledEureka moments are common tropes in narratives about mathematical dis- covery. From Archimedes himself, with whom the Eureka moment myth originated to Carl Friedrich Gauss, to William Rowan Hamilton, to Henri Poincaré, and beyond sto- ries abound of sudden insight emerging seemingly from no where when the practitioner was engaged in something other than mathematical thinking.279

Though Wos never cites such stories or accounts explicitly, he clearly seems to be

278 Jacques Haramard, The Psychology of Invention in the Mathematical Field (Princeton, NJ:

Princeton University Press, 1945). p.8.

279This is especially the case in popular histories. The phrase “Eureka moment” refers to the

Greek Archimedes’ reportedly sudden realization of his eponymous principle (also called the first law of hydrostatics). As narrated by Amir Aczel, “Suddenly it hit him: the water displaced was equal in volume to that of his body. Famously, he jumped out of the bath and ran naked through the streets of Syracuse shouting, “Eureka, eureka!” (I found it, I found it!)” Aczel, A Strange Wilderness: The Lives of the Great Mathematicians (New York, NY: Sterling, 2011): p. 25, my emphasis. Aczel also reports that the famous mathematician Carl Friedrich Gauss penned “EU- REKA!” next to a result in a 1796 notebook, Aczel, p. 151. The idea of “eureka” is also often cited in descriptions of William Rowan Hamilton’s discovery of quanternions. The podcast Anti- matter relayed the account as follows: “As regards quaternions, we know exactly when Hamilton had his Eureka moment. According to his own writing, inspiration struck on the 16th October in 1843, as he was walking with his wife [...] He was so pleased with the breakthrough that he used his penknife to carve the new equation onto Broom bridge as they past,” Antimatter, Oc- tober 16, 2011 (http://coraifeartaigh.wordpress.com/2011/10/16/hamilton-walk-and-maths-week-in- ireland/), my emphasis.

drawing from a body of cultural resources that presents mathematical discovery as consisting in part of such flashes of insight. And Wos brought this perspective to bear on the prospects of automated theorem-proving. Computers would be helpful where rules of deduction and inference and analysis could be made explicit, but they would never be capable of attaining those insights that propel mathematical investigation forward in unpredictable ways. Wos agreed with Newell and Simon that intuition was a central element in mathematical theorem-proving. He disagreed with them and with George Polya whose “heuristics” they borrowed, that those intuitions could be translated into algorithms and transferred to a computing machine.

According to Overbeek, not everyone at Argonne held this position with as much conviction as Wos but most did agree that collaborative software was likely the most promising for approaching open problems in mathematics.280 More, Wos is a particu-

larly charismatic leader and had a correspondingly central role in shaping the research environment at Argonne until it lost funding in 2006.281 In line with his view, the base

assumption at Argonne was that “Proving theorems in mathematics and in logic is too complex a task for total automation, for it requires insight, deep thought, and much knowledge and experience”.282 So the task of intuiting the way forward in particular

proof searches would fall on the human users.

But there was a catch: if human users were going to impart their unautomatable intuitions to the AURA program they needed to put their intuitions into a form that

280Overbeek interview, November 2010. They were not the only automated theorem-proving practi-

tioners to hold this position. The development of stand alone theorem-proving programs turned out to be quite difficult, especially for branches of mathematics more complex than the predicate calcu- lus. Increasing effort was directed towards the development of collaborative programs as early at the late 1960s. For example, J.R. Guard, F.C. Aglesby, J.H. Bennett and L.G. Settle, “Semi-Automated Mathematics” in Automation of Reasoning 2: 203 - 216; J. Allen, D. Luckham, “An Interactive Theorem-Proving Program” inAutomation of Reasoning 2: 417 - 434.

281The image of Wos as a charismatic and influential director of research at Argonne comes through

clearly in the personal accounts of his colleagues in Robert Veroff, ed. Automated Reasoning and Its Applications: Essays in Honor of Larry Wos(Cambridge, MA: The MIT Press, 1993).

the computer could understand and act upon. In order to implement a collaborative theorem-proving program, the Argonne team had to fashion an interface for human- computer communication. Intuitions had to be translated into computer input. So even though the Argonne team cordoned off intuition as a uniquely human and unau- tomatable faculty, they still had to rethink intuition with their computer in mind. They had to translate intuition into the technical language of computing. That translation was areformalism - they fashioned intuition into a new form that accommodated the affordances of computing even if it was not produced by them.

The AURA program was constituted by several so-called ‘modules’ or ‘environ- ments’, each of which was a programmed subroutine that performed a certain task in the search for a proof.283 There was one special module whose function was to read in

all of the initial input information (called the SYSIN file).284 This would include a for-

mulation of the problem that the program was going to help solve and the parameters of the mathematical domain from which that problem originated - its axioms and def- initions. The SYSIN module was the “first contact” in which a user would present the AURA with a problem. The SYSIN module also afforded users their first opportunity to impart their intuitions about a particular problem to the program.

In particular, users could make use of what was called a “weighting mechanism” - a means for users to translate their ideas about how a certain proof might be found intoquantitative directions to guide the program’s search.285 Primarily, the computer

283Complete specifications are available from Brian Smith, Reference Manual for the Environmental Theorem Prover: An Incarnation of AURA(Springfield, VA: National Technical Information Service, U.S. Department of Commerce, 2010 [originally printed by Argonne National Laboratory in March 1988]).

284Each input and control specification was coded with the relevant verb first, followed by any extra

subparameters the user desired, followed by a semicolon. ‘Verb’, a term no longer commonly used in computer science, simply denotes what kind of action the computer is to perform on the subparameters that follow. A complete list of the permissible SYSIN verbs is available at Smith,Reference Manual for the Environmental Theorem Prover, pp. 14 - 18.

285It was designed and implemented specifically by Ross Overbeek as a part of his doctoral disser-

would be engaged in the application of rules of inference - deducing consequences from assumptions, axioms, and known theorems using permitted operations of deduction. Weighting was intended to restrict what kinds of deductions and what kinds of con- sequences the program would prioritize in order to minimize the time spent deducing things that weren’t relevant to a particular problem.

With weighting, human collaborators could provide their preliminary sense of what

kind of information would matter for a given proof. It was a way to communicate to the program that, in deductively exploring a mathematical problem, it should prefer- entially seek mathematical statements that had particular properties or that it should preferentially employ certain rules of inference. To do this, users would formulate so- called ‘weighting templates’ that would be included in the SYSIN file. They could indicate, for example, that addition was more important than multiplication, or that the sum of two sums was more important than the sum of two products. Or they could indicate that steps which produced shorter mathematical statements - called clauses - should be prefered to ones.286 Weighting templates could prioritize the appearance or

particular combination of certain terms in a mathematical statement. And so on. AURA would check whether or not the mathematical statements at play in a given

and he designed the mechanism with their collaborative software development in mind. Overbeek also went on to be one of the central developers of AURA.

286“Clauses” were just mathematical statements but with a particular form chosen by the Argonne

team for simplicity and standardization. Although AURA could handle problems from many branches of mathematics, the problems would be represented by the predicate calculus. Clause is defined as follows in the manual: “A clause is a logical expression in first-order predicate calculus, extended to include functions, and is the disjunction (primary connective is OR) of primaries known as literals. For our theorem-provers, an example of a clause that is read from an input file isCL q(x, y) p(f(a, b))

where q(x, y) and p(f(a, b))are literals, p and q are predicates, is the negation symbol, f is a

function,xandyand implicitly universally quantified variables, andaandbare constants. This clause

is thus the logical expression “for allxand y, q(x, y) or not p(f(a, b))”.” (Smith, Reference Manual

for the Environmental Theorem Prover, p. 3.) Recall from the previous chapter that variables in the predicate calculus can take non-logical assignments, meaning that expressions of this form can be used to represent and explore non-logical branches of mathematics. Taken together, all of the possible deductions for a given problem were called the “clause space.” One way to think about Weighting is an attempt to give the computer a “compass” for prioritizing certain paths through the “clause space.”

proof search were instances of the general form given by a weighting template. For example,[(x^y)_(x^z)]is aninstance of the more general formA_B. Each weighting template provided AURA with a recursive function for assigning “an integer (weight) to any term (well formed formula) that can occur in a given theorem proving run” depending on whether it contained instances of prioritized forms.287 Those integer

values would lead AURA to preferentially pursue those inferences whose ancestral clauses have the highest concentration of relevant information as represented in the templates.

As evidenced by the description of the weighting mechanism in the AURA Reference Manual, these templates and functions were meant to reflect the user’s intuitions about a given problem:288

Weighting is the process that assigns measures of complexity to clauses in the clause space. The definition(s) of complexity can be chosen by the user to reflect some predisposition that may be, for example, based on an

intuitive notion of how to direct the proof search. To create new inferences, clauses that seed the next inference... are selected by least weight. Derived inferences that are too complex (too heavy) are rejected.289

287Vero, “Appendix A: Term Weighting” in “Canonicalization and Demodulation”: 23 - 24, p. 23. 288It bears noting that the AURA had a “reference Manual” in the first place. It was circulated

internally at Argonne as a technical report, but the distribution list went beyond the automated theorem-proving team. Neither Newell, Shaw and Simon nor Wang drafted reference manuals for the Logic Theory Machine or the Program P. This marks another difference about the AURA program - the hope of the Argonne team was that it would beused. Someone other than the development team could, in theory, put the AURA program on their IBM 360 computer and use it in their own problem- solving world. Although AURA’s user community remained quite small, later software developed by the Argonne team - especially OTTER and MACE - were circulated quite widely and can still be found in certain variations for online use: http://www.cs.unm.edu/~mccune/otter/. Other large-scale automated tool kits for mathematical problem solving have become nearly omnipresent in technical communities - engineers, computer scientists, physicists, and some mathematicians make regular use of systems like Wolfram’s Mathematica, Maple, and Mathlab. These systems, especially the earliest one, called MACSYMA (a system for symbolic mathematical problem solving developed at MIT beginning in the 1960s) will be the subject of some of my future work. I am particularly interested in the role of the User’s Manual as a central part of the creation of novel forms of diffuse mathematical communities that were held together not by research questions but by technological infrastructure and shared tools.

289Smith, Reference Manual for the Environmental Theorem Prover, p. 12. The implementation

This description of the mechanism breathes “predisposition,” “intuitive notions,” and the “complexity of clauses in the clause space” in the same breath. Intuition was here translated into an algorithmic, quantitative, and actionable form that could be input to the computer. I contend that these “weighting templates” were quite different from the “flashes of insight” and unautomatable intuitions they were designed to capture. Whatever those insights were and wherever they originated, they ended up being trans- lated into weighting templates, punched onto cards, and were input along with the rest of the AURA SYSIN File.290

This was a case of what I callreformalism. In fact, it was in considering the transfor- mation of “intuition” in the design and implementation of AURA that I first conceived of the idea that implementation was a significant site to explore how computing was made to intervene in knowledge production: in spite of the fact that they wanted to keep intuition out of the computer, reserve it for people, they still had to transform it when time came to make a program that actually ran according to their design and their beliefs. Intuition was here given a particularform, namely the “weighting mecha- nism” and translated into a particularmaterial, namely the punched card. This was a new form of intuition, an exercise in fashioning ideas about proof in terms of weighted paths in the set of possible paths to a proof. This was an example of how intuition