A HUMAN HISTORY OF MATHEMATICS凿构周期律 · 数学鑿構週期律 · 數學 · 18 / 25
Closure Has a Price
闭合可以买到
閉合可以買到
Presburger and Tarski found islands of decidability. Their guarantees reveal what a language excludes—and what a real machine can afford.
完备、可判定与可用并不是同一份担保;从普雷斯伯格到数学机械化,边界与代价各有一本账。
完備、可判定與可用並不是同一份擔保;從普雷斯伯格到數學機械化,邊界與代價各有一本賬。
In this essay篇内目录篇內目錄
1. Two Even Numbers
In the summer of 1954, a twenty-six-year-old logician put a very small mathematical world inside a very large machine. Martin Davis was working at the Institute for Advanced Study in Princeton. Its vacuum-tube computer had 1,024 words of memory. Instructions, input, intermediate expressions: everything had to fit.
Most computers were then doing numerical calculation. Davis wanted his to decide statements. Give it a sentence from a certain language of arithmetic, and it would follow a prescribed procedure toward a correct yes or no. The underlying algorithm came with a termination guarantee. The actual computer, of course, had no guarantee of possessing enough memory to complete every instance. That difference would become the experiment's central lesson.
Davis later remembered its proudest achievement with affectionate understatement: it established that adding two even numbers gives another even number. A roomful of equipment had demonstrated something a child could grasp. Yet the intellectual achievement was not that elementary result. It was the possibility of entrusting an entire class of questions to one uniform method.
Why this class? And why, if the guarantee was so powerful, was the practical achievement so modest?
For the first answer, go back twenty-five years, to Warsaw. On September 24, 1929, the First Congress of Mathematicians of the Slavic Countries was in its second day. A twenty-four-year-old Warsaw student, Mojżesz Presburger, presented a result obtained before he had completed his master's degree. The conference programme placed his talk at 10:30 that morning.
This was no provincial gathering. Abraham Fraenkel spoke about Cantor; Alfred Tarski gave two talks. Most participants were Polish, but visitors also came from Japan and Texas. The proceedings accepted five European languages, particularly German and French. Afterward, some participants took a sleeping car to Poznań, where Kazimierz Kuratowski continued the mathematical conversation with topology.
Presburger's contribution occupied ten pages, with a short supplement elsewhere in the proceedings. Its subject was the completeness of an arithmetic of integers whose only operation was addition. A footnote dated the result to May 1928 and identified Tarski as the person who had suggested the problem.
Hilbert's circle was then pursuing the decision problem: could an entirely mechanical procedure settle the relevant logical questions, without ingenuity at each step? The precise Entscheidungsproblem concerned logical validity, not an unrestricted oracle for every imaginable mathematical truth. But the larger hope was unmistakable: replace inspired judgment with a procedure whose instructions anyone could follow.
Tarski assigned a sharply delimited version of that hope to a student. Presburger returned a positive answer. Within his fragment of arithmetic, every sentence could be settled, and an effective method would settle it after finitely many steps. Before an electronic implementation existed, its logical blueprint was already on paper.
The preceding episodes have mostly followed guarantees coming apart: contradictions in unrestricted set formation, quarrels over foundations, Gödel's obstruction to complete effective theories strong enough for arithmetic. Presburger's result points in another direction. Obtained in 1928 and presented in 1929, it preceded Gödel's 1931 paper. Closure was possible. The question was what had to remain outside.
2. Questions the Language Cannot Ask
Suppose the only available coins have values three and five. Can they make eleven? Yes: two threes and a five. Can they make seven? No. Is every sufficiently large amount possible? Yes: every integer from eight onward can be formed with nonnegative numbers of those coins.
Presburger arithmetic can express all these questions. It can also decide them. The coefficients three and five are fixed: three copies of a variable mean repeated addition, not multiplication of two independently varying quantities.
The language can speak about zero and one, sums, equality, order, and quantifiers such as “there exists” and “for every.” Order may be included explicitly or defined in an appropriate presentation. It can compare differences, specify a remainder modulo seven, or require several linear conditions to hold together. This is a functioning mathematical country, not a few ruins left after subtraction of the interesting parts.
What it cannot define is the general relation between three variables saying that one is the product of the other two. Nor can it uniformly define the square numbers, the primes, or divisibility with a variable divisor. Individual numerical facts are another matter: one can name a particular square or prime. The missing resource is a formula that picks out precisely all such numbers.
The distinction is stronger than difficulty in finding a proof. There is no question in this language that does the required job. In one variable, definable subsets of the natural numbers are eventually periodic: beyond some point their membership pattern repeats with a fixed period. Squares and primes do not have that form. They cannot be recovered merely by being ingenious with longer additions.
Loss of expressive power is not loss of deductive power. A system may settle every question it can formulate while being unable to formulate many questions we care about.
Three terms need keeping apart. Completeness, in the present sense, says that for every sentence the theory proves either it or its negation. Decidability says that one algorithm determines membership in the theory and always terminates. Feasibility concerns the resources needed to carry this out.
Under suitable hypotheses, completeness gives decidability. If a consistent theory has effectively enumerable axioms and is complete, enumerate its proofs. Given a sentence, wait until a proof of it or of its negation appears. Completeness ensures that one eventually does; consistency ensures they do not both appear. This argument provides termination, not a useful timetable.
Presburger's own method was more informative than blind enumeration. Its effective completeness argument supplied a way to decide truth in the intended arithmetic structure. That is the sense in which a proof delivered a machine along with its theorem.
Completeness does not mean omniscience. It means that no sentence within the chosen language remains unsettled. The restriction “within” carries much of the result. A less expressive language may make completeness easier to obtain, although no general numerical law says that every small-looking language is decidable.
Feasibility asks something different again. A procedure can be guaranteed to finish yet require more time or storage than any actual machine could provide. Complexity theory makes that distinction mathematical; engineering confronts it materially. Princeton's 1,024 words would expose the gap well before the sharp lower bounds arrived.
3. Removing a Quantifier
The organizing operation behind Presburger's procedure is quantifier elimination. A formula mentioning an unknown quantity is transformed into an equivalent condition that no longer quantifies over it.
For example, ask whether there is an integer x such that x + x = a. The answer is exactly that a is even. We have replaced a search for x with a condition on a alone.
There is an important technical qualification. “Even” is not magically a new quantifier-free expression in the bare language of addition. Presburger quantifier elimination is normally carried out in an expanded language containing predicates for divisibility by fixed integers, or congruence conditions. Those predicates are themselves definable in the original language. Adding them does not enlarge the sets we can ultimately describe; it makes the elimination process expressible without hidden quantifiers.
The resulting condition can therefore mention that a leaves remainder zero on division by two, but no longer mention a candidate x. The procedure repeatedly converts quantified linear arithmetic into Boolean combinations of inequalities and fixed-modulus conditions.
A similar move works in a different world. Is there a real x with x² = a? Exactly when a is nonnegative. Over the reals, the unknown can disappear into the condition a ≥ 0. Over the integers, that answer would be wrong. Both the operations and the domain matter.
Tarski showed that first-order statements built from real polynomial equations, inequalities, and quantifiers admit this kind of elimination. Addition and multiplication are both available. For a sentence with no free variables, continued elimination leaves something whose truth can be directly determined.
Elementary geometry enters through coordinates. Points become finite tuples of real numbers. Collinearity, perpendicularity, circles, and distance relations can be written with polynomial equations and inequalities. Geometric propositions that admit such first-order formulations consequently enter the decision procedure too.
Not every statement ever called geometry enters with them. Arbitrary sets of points, arbitrary functions, and unrestricted higher-order quantification exceed the language. The boundary is drawn by the formal vocabulary, not by the name on a university department's door.
An existential statement appears to demand a search through infinitely many candidates. If no candidate works, that search might never end. Elimination replaces it with a finite condition whose equivalence has been proved. It succeeds here because these structures have special mathematical regularities, not because all infinite searches are secretly finite.
Nor does the procedure necessarily supply understanding in the form a mathematician wants. The output may be enormous and aesthetically unrewarding. But it reveals something beyond a yes or no. It describes the shapes of sets that formulas can define. Model theory would make that structural information one of quantifier elimination's central uses: the method tells us not just which assertions hold, but what sorts of objects a language is capable of isolating.
4. The Boundary Is Not a Multiplication Sign
If deleting multiplication helps, perhaps multiplication is the culprit. Two examples defeat that explanation.
Skolem arithmetic keeps multiplication on the natural numbers while discarding addition, and is decidable. Tarski's theory of real closed fields keeps addition, multiplication, and order, and is decidable too. Neither operation by itself has a fixed logical destiny.
The dangerous combination is ordinary addition and multiplication acting together on the integers or natural numbers. Together they support elaborate coding: finite sequences, proofs, and stages of computation can be represented arithmetically. This is the expressive machinery behind the preceding episode's self-reference.
Presburger arithmetic remains below that threshold. Its escape from Gödel's hypothesis is not inconsistency, and not a refusal to make its axioms effective. It lacks the required arithmetic strength. That is why its completeness is no counterexample to incompleteness.
Tarski's real algebra offers a revealing test. Inside the ordered-field language of the reals, the integers are not definable as a set. If they were, one could restrict quantification to them and recover the forbidden arithmetic within a supposedly decidable theory.
The expression x³ + y³ = z³ looks the same on either side of that divide. Allow real values, and it belongs to real algebra; insist that the variables range over integers, and it belongs to a much less tame domain. This particular equation is not itself undecidable. It illustrates the change of domain through which a general class of difficult integer questions becomes available.
Hilbert's tenth problem made that class explicit: find a general procedure deciding whether an arbitrary polynomial with integer coefficients has an integer solution. Davis had been pursuing it since his student years. While he implemented a decision procedure in Princeton, he was also helping investigate the boundary beyond which no such procedure could exist.
Work by Davis, Hilary Putnam, and Julia Robinson prepared the way. Yuri Matiyasevich supplied the final ingredient in 1970. His first public presentation took place in Leningrad on January 29; Grigori Tseitin helped carry the result onward. The answer was negative: no algorithm solves every instance of Hilbert's tenth problem.
Davis thus worked on both sides of the boundary—building one machine and helping prove the impossibility of another. There is no contradiction. The machines were being asked different questions.
Church and Turing had already established in 1936 that first-order validity has no general decision procedure. Trakhtenbrot's 1950 theorem showed that restricting attention to finite structures does not rescue the unrestricted finite-model validity problem either. Finiteness of each object does not mean a bounded collection of objects to inspect.
Meanwhile, decidable territories persisted: additive arithmetic, real algebra, algebraically closed fields, and later many structures understood through automata. Their mechanisms differ. Logic's landscape is not a single ladder ascending from easy to impossible. It is a map of fragments and extensions, with researchers seeking large decidable regions on one side and surprisingly small undecidable expansions on the other.
5. Warsaw, and a Book Delayed
Presburger belonged to a dense intellectual community. The broader Lwów–Warsaw school grew from Kazimierz Twardowski's teaching. In the interwar period it included Kazimierz Ajdukiewicz, Tadeusz Kotarbiński, Stanisław Leśniewski, Jan Łukasiewicz, and Tarski. Warsaw's logicians worked amid students and younger colleagues such as Adolf Lindenbaum and Presburger.
Presburger was a participant, not merely a name attached to one result. He prepared Łukasiewicz's mathematical-logic lectures for publication from the spoken course. Journals such as Fundamenta Mathematicae provided institutional channels, while other Polish mathematical centres had their own publications.
The network extended beyond Poland. Tarski visited Vienna in 1930 and again in 1935; Rudolf Carnap came to Warsaw in 1930. The names from the foundational controversies belong to overlapping relationships, not separate national boxes.
A bibliography conceals the difficulty of Tarski's employment. Born Alfred Teitelbaum, he changed his surname in 1923 and converted to Catholicism, despite lacking religious belief. Identification with Poland and the barriers facing Jews in academic employment formed part of that decision's setting. After earning his doctorate in 1924, he combined university teaching appointments with years of school teaching. Standard biographical accounts report an unsuccessful application for a chair at Lwów in 1939. Such accounts agree on the larger fact: international mathematical stature did not bring him a secure Polish professorship. Stanford's scholarly biography documents that contrast.
Tarski obtained his decision method for real algebra around 1930, with antecedents in courses from 1926–28. Students heard parts of the work long before a broad readership could buy it.
A Paris publication was planned for 1939. War prevented it. RAND revived the manuscript in 1948, with J. C. C. McKinsey helping prepare and revise it; a revised edition followed in 1951. The publication history is recorded in the original RAND report. A result developed before the war entered circulation through an American research organization tied to military funding.
The wartime interruption has a clear cause. The earlier interval between discovery and planned publication has no comparably simple explanation established here. A historian should leave that space open rather than fill it with a plausible story.
Presburger's own record becomes much less complete. Born in Warsaw on December 27, 1904, he finished secondary school in 1923, entered the university, and received his master's degree in October 1930. Jan Zygmunt's 1991 biographical study drew heavily on surviving university records. Registration papers, courses, and graduation documents preserve an institutional outline of the young man.
The end of his life is less certain than the beginning. A Polish Jew, he was murdered during the Holocaust, probably around 1943. The exact date and place, and the course of his last years, remain uncertain. That uncertainty is part of the history, not a detail to be tidied away.
Procedures growing from a paper he wrote in his twenties have run on successive generations of machines. His own final journey cannot be reconstructed with comparable precision.
6. A Different Bargain
Back in Princeton, Davis discovered that a short description of an algorithm need not imply a small computation. Converting formulas into a suitable normal form could multiply their components. Combinations expanded into combinations of combinations. Available memory disappeared.
His later recollection says that the program consumed the tiny store and could handle only elementary examples. The discouragement was practical, not a refutation of Presburger. Finite termination on an idealized machine had never promised completion on this particular one.
In 1956, Allen Newell, J. C. Shaw, and Herbert Simon pursued another approach. Their Logic Theorist searched for proofs of propositions from Whitehead and Russell's Principia Mathematica. It used selective strategies: try promising directions and avoid exploring everything indiscriminately.
A discovered proof could be checked. Failure to discover one, however, did not establish that none existed. The sacrificed guarantee was completeness of the search and assured success, not permission to issue false proofs. “No proof found” and “not a theorem” are different answers.
This distinction matters for the episode's recurring ledger. Some methods guarantee an answer for every admissible input but become too expensive. Others trade exhaustive search for useful performance on selected cases. Heuristics do not automatically entail unsound reasoning.
Hao Wang challenged the assumption that algorithms had to be hopelessly slow. Born in Jinan in 1921 and educated at the wartime Southwest Associated University in Kunming, he later pursued logic in the United States. During the summer of 1958 he worked with an IBM 704 at IBM's laboratory in Poughkeepsie.
One program proved more than two hundred theorems from the first five chapters of Principia Mathematica in about thirty-seven minutes. Twelve thirteenths of that time went to input and output; the actual proving occupied under three minutes. Wang set out the timings in “Toward Mechanical Mathematics”, published in 1960.
He also made an uncomfortable methodological point. Showing that heuristics outperform a particularly inefficient algorithm establishes little about the relative power of heuristics and algorithms in general. The baseline matters.
Wang drew another lesson from the results: theorems people actually prove may use only a small part of a theory's full expressive resources. A large mathematical subject can contain a practically important, tractable fragment. The worst difficulties available in principle need not be present in every working example.
In 1983 he received the first IJCAI milestone award for automated theorem proving. Davis later dedicated his account of early automated deduction to Wang. The disagreement had become part of a shared history. Neither successful examples nor discouraging experiments were enough by themselves; one had to ask exactly what the program was being given and exactly what its guarantees covered.
7. The Cost Is a Separate Question
By the early 1970s, the two approaches faced related but distinct difficulties. James Lighthill's 1973 review of artificial intelligence for Britain's Science Research Council emphasized combinatorial explosion. Programs impressive on carefully limited examples could fail when possibilities multiplied at realistic scale.
In 1974, Michael Fischer and Michael Rabin established a more precise obstruction for Presburger arithmetic. They were not criticizing one implementation. Their lower bound applied to any general decision method in the relevant computational model: some sufficiently large inputs require doubly exponential resources. A typical scale is 2 raised to a quantity that itself grows exponentially with input length.
This is a worst-case theorem. It does not say that every sentence of a given length is hard, or that each extra symbol literally squares every program's runtime. It says that no universally fast decision algorithm escapes suitable families of difficult inputs. Their work also related decision difficulty to the possible lengths of proofs under specified assumptions.
Derek Oppen's 1978 upper bound supplied a complementary guarantee: a general procedure exists within a triply exponential deterministic-time bound. Upper and lower bounds do not coincide merely because both are enormous. Oppen's paper states the distinction explicitly.
Lighthill and Fischer–Rabin were therefore not proving the same thing. One assessed the limitations of a research programme's contemporary methods; the other established a mathematical limitation for a sharply defined problem. Their juxtaposition makes the cost visible at two scales without turning an empirical assessment into an impossibility theorem.
Real algebra had its own expensive success. Tarski's original procedure established decidability but was impractical. George Collins's cylindrical algebraic decomposition, introduced in 1975, made complete real-algebraic methods much more usable. It partitions real space into finitely many cells on which relevant polynomial signs behave consistently.
The number of cells can grow doubly exponentially in the number of variables. Davenport and Heintz's 1988 work showed an intrinsic doubly exponential obstruction for general quantifier elimination: some equivalent quantifier-free descriptions must themselves become immense. That output-size result must not be casually identified with every decision problem over the reals. Later improvements reduced unnecessary projection and decomposition work, exploited special forms, and avoided constructing information a particular question did not need.
Wu Wen-tsun made another selective bargain. In Beijing during 1976–77, he began developing mechanized methods for geometry based on polynomial equations. General statements involving inequalities and order were not his initial target. Restricting the class of questions enabled effective treatment of many substantial geometric theorems, with degeneracy conditions handled carefully.
Wu described ancient Chinese algorithmic mathematics, especially The Nine Chapters and Liu Hui's 263 commentary, as an intellectual predecessor. That was Wu's historical interpretation of his programme, not proof that modern algebraic algorithms had simply survived unchanged from antiquity. His preface on mathematics mechanization also recalled Wang's rapid machine proofs.
Decidability promises eventual correct termination. It does not promise seconds, a lifetime, or the resources of a physical universe. Practical usefulness concerns the actual distribution of problems, machines, and available resources. A dreadful worst case can coexist with an indispensable tool. Wang's lesson returns: useful problems need not inhabit the worst corner of a theory.
8. A Ledger with Three Columns
Closure can be obtained, but “buying” is our retrospective metaphor. Presburger and Tarski were studying structures, not negotiating prices for certainty.
Presburger obtained a complete decidable additive arithmetic by working in a language that cannot express much of number theory. Tarski obtained a decision procedure for real algebra and the elementary geometry it encodes. His language includes multiplication but cannot define the integers. In both cases the guarantee depends on what the domain and language permit.
Their longest afterlives include disciplines that did not yet have their present shape. Quantifier elimination became central to model theory. Presburger arithmetic became useful in program analysis, where array indices, loop counts, and linear relations between integers arise constantly. David Cooper's 1972 algorithm made an important practical improvement, and variants entered proof assistants and verification tools.
These uses should change how we hear the word “limited.” A restriction may omit nearly everything a number theorist wants and still capture a large part of what a verification system needs.
The author's proposed ledger has three columns. The first records what questions a system can ask. The second records what its guarantees actually are: sound answers, completeness of search, or guaranteed termination. The third records the resources required.
Davis had a theoretical decision guarantee and collided with implementation cost. Logic Theorist pursued selective proof search without guaranteeing that it would find every available proof. Wang demonstrated that a well-chosen decidable fragment could offer both rigorous guarantees and impressive speed. Wu narrowed the geometric problem class to obtain effective methods.
Later systems moved among these possibilities. Work by Davis, Putnam, and colleagues helped develop procedures for propositional satisfiability, whose descendants became important in hardware and software verification. Other systems accept far broader requests while offering weaker guarantees. Calling both kinds “intelligent” tells us little about their entries in the ledger.
No theorem says every possible trade-off must resemble a simple three-way conservation law. The rigorous negative results apply to specified languages, theories, and computational models. In particular, sufficiently expressive effective arithmetic cannot have a sound total decision procedure for all its truths. That precise barrier supports the metaphor; the metaphor must not replace it.
A system answering every question it can formulate may be powerful, or its questions may be severely restricted, or both. To assess it, count the excluded questions as well as the answered ones. Then ask whether its promise is a proof, a decision, or a useful guess—and how much fulfilling that promise costs.
Two gaps remain in this account's chronology. War stopped Tarski's planned Paris book. Genocide ended Presburger's life, leaving its final date uncertain. Those are not limitations of a formal language. They are losses inflicted on the people who built one. The next episode returns to the institutions from which people could be removed while the mathematical symbols remained.
一 两个偶数
1954年夏天,普林斯顿高等研究院。那里有一台电子管计算机,是世界上最早造出来的那一批里的一台。它的内存一共一千零二十四个机器字:程序本身,要处理的式子,以及运算当中生出来的所有东西,都得挤在这个数目里。
一个二十六岁的逻辑学者给它写了一个程序。他叫马丁·戴维斯。
那时候的计算机差不多都在算数。这个程序不算数,它判断话。你交给它一句关于整数的话,它就按一套写死的规矩一步一步往下走。底层判定算法保证在理想化的、存储不受限制的机器上最终停下并答对;实际那台机器却可能在此以前耗尽内存。那时候人工智能这个词还没有被造出来。
这个程序最得意的一次,戴维斯很多年以后自己写道,是证明了两个偶数相加还是偶数。
这句话是自嘲,可它一点也没有夸张。一间屋子那么大的机器,最漂亮的一次,证出来的是一个小学生都知道的事。
两个问题跟着就来了。整个数学里,为什么偏偏是这一小块,可以放心交给一台机器去判,而且它说真就一定是真。既然判得了,为什么它判出来最好的结果只有这么一点。后一个问题,那台机器自己很快就给出了答案,而且比那句自嘲沉重得多。头一个问题的答案,在二十五年前的华沙。
1929年九月二十四日,星期二,上午十点半。第一届斯拉夫国家数学家大会在华沙开到第二天,第一分组的第一个位置,排给了一个还没拿到硕士学位的学生。他叫普雷斯伯格,华沙大学的数学生,二十四岁。
那次大会的样子值得看一眼。开幕的时候弗兰克尔讲康托尔,塔尔斯基自己讲了两场。与会的人大部分是波兰人,但有人从日本来,也有人从美国的得克萨斯来。论文集允许用五种欧洲文字刊出,其中德文和法文最常见。会开完,一批人坐卧铺车转去波兹南,库拉托夫斯基在那里接着讲拓扑。
普雷斯伯格那天讲的东西后来收进论文集,正文十页,另有一页没有编号的补遗。题目的意思是:论一种整数算术系统的完备性,其中加法是唯一的运算。论文开头有一个不起眼的脚注:结果是1928年五月得到的,问题由塔尔斯基提出。
这个问题有来头。那几年希尔伯特那一派在问一件很大的事:有没有一个统一的机械办法,拿来判定给定的一阶逻辑公式是否普遍有效。这件事有个名字,叫判定问题。那时候还没有计算机,所谓机械的办法,是写在纸上的一套规矩,规矩死到这种程度:一个完全不懂数学的人照着做,也能得出正确的答案。希尔伯特那一派想要的,是对整个数学都有这样一套规矩。
塔尔斯基把这件事切下很小的一块,交给了一个学生。普雷斯伯格交回来的答案是:这一块,有。有那么一小块整数算术,里面的每一句话都能被定下来是真是假,而且有一个统一的办法,你随便给它一句,它走有限步就把答案交出来。二十五年以后被戴维斯装进电子管里的,正是这套办法。一台机器在能被造出来以前,先在纸上造好了。
前面几篇讲的差不多全是反过来的事。集合论造出了矛盾,地基之争吵了二十年,还有一条定理说,足够强的算术不可能又一致又完备。而这里有一个学生,在一间挤满人的教室里,用十页纸给出了一块完全不出这种事的算术,结果得到于1928年,大会报告在1929年,分别比1931年发表的那条定理早三年和两年。
所以值得问的是:一套算术要弱到什么程度,才能既完备又带着一台统一的机器。答案比删掉乘法要复杂得多,也有意思得多。
二 说不出来的话
手上只有三块和五块两种硬币,能不能正好凑出某一个数目。凑十一,办得到。凑七,办不到。那么凑到一定大小以后,是不是就再也没有凑不出来的数了。答案是:从八开始,全都凑得出来。
这几句话,普雷斯伯格那套语言全都说得出来,也全都判得出来。
他谈的是整数的一种算术,里面的运算只有加法。语言里有加号,有零和一,有等号和大小,有"存在"和"所有"这样的词。三倍的某个数照样说得出来,因为那只是这个数加它自己再加它自己。他列公理的时候就写明过:因为没有乘法符号,那种写法必须理解成固定次数的重复相加。几个数加起来等于另一个数,某个数比另一个数大多少,某个数除以七余三,一群整数同时满足一串这样的条件,这些话它全说得出来,而且全都能判。它不是一块残骸,它是一个小而完整的世界。
没有的是两个变量相乘。于是下面这些话,在那套语言里根本说不出来。某个数是另外两个数的乘积。某个数是平方数。某个数是素数。某个数整除另一个数,而且两个都是变量。
说不出来这四个字,重量在这里:不是难证,是没有一句话可以把它统一说出来。在那套语言里能圈出来的数,有一种很整齐的形状,走到后面总是一段一段周期性地重复。平方数和素数都不是这样排的,所以它们在那里连名字都没有。"这个数是不是素数",这是数论里最老的一类问题,在普雷斯伯格的世界里问不出来。
这是表达力的损失,不是证明力的损失,而这两样不是一回事。
这里有三个词,后面它们各走各的路。完备说的是:这套语言里的每一句话,这个理论都能定下来是这一边还是那一边,不会出现第十七篇那种既证不出来也驳不倒的句子。可判定说的是另一件事:有一个统一的机械办法,你随便给它一句这个语言里的话,它走有限步以后一定停下来,并且给出正确的答复。
两者之间有一座很短的桥。假定一个理论既完备,公理又能被一条一条地列出来,那么所有的证明也可以一份一份列出来。拿到一句话,就一份一份往下列,看它和它的反面哪一个先出现。理论是完备的,两个里面必有一个会出现,所以这个过程一定停。普雷斯伯格在原文开头就写明了这一点:完备性的证明由于它那种有效的性质,同时给出了判断一句话是否为真的办法。一个证明,顺手交出了一台机器。
完备这个词还有一层。它不是说这个理论什么都知道,它只说,凡是这套语言说得出来的话,它都能定下来。说不出来的那些,它连问都问不了。所以一个体系越是说得少,就越容易完备。这句话听起来像褒奖,其实是账单的第一行。
第三个词是可行。有一个办法,和这个办法在人的时间,内存和机器上真的跑得动,是两件事。前两个说的是逻辑上的性质,第三个进一步追问复杂度与实际资源。一台一千零二十四个字的机器,很快就会把这个区别摆上桌面。
三 消掉一个词
那台机器的核心方法叫量词消去;普雷斯伯格算术通常先扩充语言,加入固定模数的同余或整除谓词,再在这个等价扩充中消去量词。
一句话里可能有"存在某个数"或者"对所有的数"这样的词。量词消去不是去猜那个数到底是哪一个,而是把整句话换成一句完全等价,但不再提那个数的话。
一个最小的例子。问:有没有一个整数,它加它自己等于某个给定的数。这句话里有一个"有没有一个整数"。把它消掉,剩下的条件只关于那个给定的数,而那个条件是:它是偶数。
就是这样。"存在一个整数,它加它自己等于那个数",被换成了"那个数是偶数"。后一句不再提那个要找的整数,而且它是一句可以当场查的话。普雷斯伯格的论文里就有这样的小例子:一个带着"存在"的加法方程,被改写成只关于余数和其余那些数的条件。戴维斯那台机器最得意的那个结果,说的也是偶数。它在电子管里走的,正是这样一步一步的换法。
再看一个别的世界里的例子。问:有没有一个实数,它自乘等于某个给定的数。消掉以后,剩下的条件是:那个数大于或者等于零。那个要找的数不见了,剩下的是一句只关于给定的数的话。
把这个动作反复做下去,一句完全不带自由变量的话,最后会变成一个可以直接判断真假的条件。判定的过程就是这么来的。塔尔斯基的突破,是把同样的想法推进到实数的多项式等式和不等式那个世界里去。那里有加,有乘,有大小关系,有量词,而量词仍然消得掉。
这一步顺手把一门学科也带了进来,就是几何。塔尔斯基说的初等几何,指的是那些可以坐标化以后翻译成实数代数式子的问题:固定一个直角坐标系,点用实数坐标表示,距离,共线,垂直,圆这些关系都能化成有限多个多项式的等式或者不等式,于是相应的几何命题也落进了那台机器。关于任意点集,任意函数的一般命题不在里面。范围是由所选的那套语言决定的,不是由"几何"这个学科的名字决定的。
这件事本来没有道理成立。"存在"这个词看上去是在一个无限多的范围里搜,而一台机器不能在无限多个数里一个一个去找,找不到就永远停不下来。消去它,意味着那场找不完的搜索可以换成一句有限的,马上能核对的话。为什么偏偏是这一小块能交给机器,一半的答案就在这里:它里面的每一个"存在"都消得掉。换不换得掉,取决于那个世界的形状规整到什么程度。规整的地方换得掉,不规整的地方换不掉。
它交付的是答案,不是理解。换出来的东西可能极其庞大,也未必长成人认为漂亮的证明的样子。不过它还有一个比回答是非大得多的用处:它会告诉你,一个带着"存在"和"所有"的说法,在那个世界里最后到底圈出了一堆什么东西。后来的模型论正是把这个结构上的信息,当作量词消去最要紧的价值。
四 边界在哪里
既然删掉乘法可以换来一台机器,那就顺着往下问:边界在乘号上吗。
不在。有两个现成的例子,从两个方向把这个猜想打穿。第一个是斯科伦算术:自然数只保留乘法,把加法拿掉,它仍然可判定。第二个更有力,就是塔尔斯基的实数:加法和乘法全都在,还有大小关系,这个理论照样可判定。
加的那一侧温顺,乘的那一侧也温顺。是它们在整数上凑到一起的时候,才发生了质变。
原因不在符号表里。整数的加法和乘法合在一起,足以造出极丰富的编码,让有限的序列,证明,一步一步的计算,全都能改写成整数之间的关系。这正是第十七篇那套编码要用的本事。普雷斯伯格算术接不下这个活,因为它里面连两个变量相乘都定义不出来。所以它落在门槛以下的那一条,正是第十七篇三个条件里的第三条:它不是在一致性上过关,也不是在有效可公理化上过关,是在表达强度上没有跨过去。
塔尔斯基自己在书里把这个对照写得很直接:凡是一个理论强到包含通常那种整数加法和乘法算术的全部有关句子,就不会有这样的统一判定办法。
他还做了一个极漂亮的边界实验。在实数那套语言里,"这个数是整数"这个统一的说法是定义不出来的。而如果允许变量直接限制在整数上,那么"某个数的三次方加另一个数的三次方,等于第三个数的三次方,有没有整数解"这一类问题就进了语言,整数算术跟着潜进来,统一的判定就保不住了。同一个式子,只把变量的取值范围从实数换成整数,逻辑上的命运就整个变了。
难和易不在那些符号上,在你让变量跑在什么地方。
门槛另一边的样子,后来被钉死过一次,而钉的人里有一个熟面孔。希尔伯特1900年那份问题清单里的第十问题是:给一个任意整数系数的多项式方程,判断它有没有整数解。这正是变量相乘,取值在整数上的那一种问题。从研究生时代起,这个问题就是马丁·戴维斯一辈子放不下的东西。1954年夏天,他在普林斯顿把门槛这一边的机器装进电子管的时候,已经在门槛另一边找了好几年。
那一边的路,他和普特南,朱莉娅·罗宾逊一起铺了十几年,最后一块是马季亚谢维奇补上的。马季亚谢维奇自己记得很清楚: 1970年一月二十九日,他在列宁格勒第一次公开讲这个解答,听众里有采廷。答案是:没有一般的办法。同一个人,一只脚在门槛这边造出了机器,另一只脚在门槛那边,帮着证明了机器造不出来。
所以门槛不是一条整齐的线。1936年丘奇和图灵证明,一般的一阶逻辑没有统一的判定办法,希尔伯特那个对整个数学的心愿就此落了空。可是门槛以下住着的东西来自完全不同的方向:线性的算术,实数的代数,代数闭域,后来还有自动机那一路的一大批结构。它们可判定的理由也各不相同,有的靠次序,有的靠代数上的封闭,有的靠自动机,有的靠量词消去。1950年特拉赫滕布罗特又证明,就算只看有限的结构,一般的判定问题仍然没有办法。于是逻辑史上留下来的不是一条从可判定到不可判定的直线,是一张地图:一边在找最大的可判定片段,一边在找最小的不可判定扩张。
五 华沙,以及一本印不出来的书
普雷斯伯格不是一个远在边缘,偶然写出一篇论文的学生。那时候的华沙是欧洲逻辑学最密的地方之一。更大的一支叫利沃夫华沙学派,奠基的是特瓦尔多夫斯基,两次大战之间的代表人物有阿伊杜凯维奇,科塔尔宾斯基,莱希涅夫斯基,卢卡西耶维奇,塔尔斯基。这个学派繁盛的年头正好是两次大战之间那二十一年,从波兰重新建国算到战争爆发,逻辑学慢慢变成了它最显眼的一支。镜头缩到华沙的逻辑一圈,中心是卢卡西耶维奇,莱希涅夫斯基和塔尔斯基,外围还有林登鲍姆,普雷斯伯格,以及大量学生。
普雷斯伯格在这个圈子里是做事的人。卢卡西耶维奇那部数理逻辑课程的讲义,就是他根据口头课整理出来的。
出版这一层也很密。波兰数学界有《数学基础》这样的专门刊物,利沃夫和克拉科夫还有另外两份。这一圈跟维也纳也不是两个互不相干的岛:塔尔斯基1930年去维也纳,卡尔纳普同一年来华沙,塔尔斯基1935年又去了一趟。第十五,第十七篇里那些维也纳的名字,和这里这些华沙的名字,在那些年是同一张网上的人。
而塔尔斯基本人的处境,后来的论文数据库会把它整个抹掉。他生下来姓泰特尔鲍姆, 1923年和兄弟一起把姓改成了塔尔斯基,同时改信天主教,而他自己并不信教。理由不止一条,他想做一个波兰人,也知道那时候在波兰,一个犹太人很难被任命到大学的职位上。1924年在华沙拿到博士学位以后,他长期在中学教数学,同时只持有华沙大学一个不大的教职。1939年他申请利沃夫的教授席位,没有成功。那些年里一批世界级的逻辑成果,出自一个同时在中学教书的人。
他那个实数代数的判定办法,是1930年找到的。书末的历史注释还往前推了一段:一部分结果在1926年到1928年的课程里已经出现过。那几年坐在他教室里的华沙学生,已经听过这套东西的一部分,而教室以外的人要再等二十年才读得到。
然后这本书开始了它自己那段路。原本准备1939年由巴黎一家出版社出,战争把它打断了。把它重新捡起来的是一家美国的研究机构: 1948年,美国空军的兰德计划对判定问题有了兴趣,那份搁了九年的稿子被找出来,麦金西参与整理和修订,以兰德一份编号文件的样子印了出来。1951年五月又有一个修订本,后来通常按1951年引。七八年以后,同一个机构的计算机上,会跑起另一种证定理的程序。
从塔尔斯基找到那个办法,到那本书以国际通行的样子问世,隔了十八年。1939年以后为什么停,有清楚的原因:战争。而1930年到1939年那九年为什么也没印出来,至今找不到一个说法。
这一段里所有的年份都是可以查的,只有一个年份查不到。
普雷斯伯格1904年十二月二十七日生于华沙, 1923年读完中学,然后进了华沙大学。关于他本人的专门研究只有一篇,是齐格蒙特1991年写的传记,依据主要是华沙大学保存下来的学生档案。那批档案后来被高分辨率扫描整理公开:注册的表格,修过的课程,毕业的文件。他1930年十月拿到数学硕士学位这件事,今天还能一页一页翻出来看。
再往后就断了。他是波兰犹太人,死在纳粹的大屠杀里,通常推定大约在1943年。专业的传记里,那个年份后面还跟着一个问号。确切的日期,地点和最后的经历,没有达到他学生时代那些材料的确定度。
一个人二十几岁写下的十页东西,被一台又一台机器执行了七十多年,而他本人是怎么死的,写不出来。
六 另一条路
回到1954年夏天那台机器。
判定的办法有了,机器也有了,可是戴维斯很快就撞上了一堵墙。那套办法在纸上只有几步,到了机器里,先要把式子改写成某种标准的形状,而改写会把式子撑开:条件和条件之间的组合一层叠一层,原来不长的一行,改写完可以长出许多倍。一千零二十四个字的内存很快就装不下。他后来对更复杂的判定程序不抱什么指望,就是从这里开始的。
这台机器第一次让人亲眼看见:可以判定,不等于判得起。
两年以后,有人从另一头下手。兰德公司的纽厄尔和肖,加上卡内基理工学院的西蒙,做了一个证明逻辑定理的程序,对象是怀特海和罗素那部《数学原理》开头的那些命题。它不照一套保证有结果的规矩走,它有选择地找:哪条路看着离目标近,先走哪条,分支太多就剪掉一些。它找到了,就交出证明。它找不到的时候,只能说没找到。没找到和不存在之间,隔着的正是戴维斯那台机器有,而它没有的那样东西:担保。那时候,人工智能这个名字刚被造出来不到一年。
一边保证有答案,可是很快就撑爆了内存。一边不保证总能找到证明,为的是不被撑爆;找到的证明仍须遵守可靠的推理规则。两条路从这里分了岔。
岔口上站着一个中国人。王浩1921年生在济南,在昆明的西南联合大学读完书,后来去美国做数理逻辑。1958年夏天,他在纽约州波基普西,国际商业机器公司的研究实验室里,用一台当时的大型计算机写了几个程序。其中一个把《数学原理》前五章里的两百多条定理全部证了一遍,一共用了三十七分钟左右,其中十三分之十二的时间花在读入和打印上,真正用来证明的不到三分钟。
他把这些结果写成一篇论文,题目的意思是走向机械化的数学,听起来就是希尔伯特那一派当年那个心愿换了一种说法。论文里有一处说得很不客气。纽厄尔他们拿启发式跟算法比,用来作对照的是一个特别笨的算法。拿一个特别没有效率的算法,来论证启发式胜过算法,他说,这很难算公平。
他还从这些结果里总结出一课:即使在一个相当丰富的领域里,实际被证出来的定理,大多只动用了这个领域全部本事里很小的一部分。说得少,是一台机器能判定的前提。而人真正要证的东西,多半本来就只用得上一点点。
1983年,他拿到了机器定理证明的第一个里程碑奖,设奖的是国际人工智能联合会议。又过了将近二十年,戴维斯写那一段早期历史的时候,题下写着:纪念王浩。
七 价钱另外算
岔开以后,两条路各走了将近二十年。
启发式那一路的程序越做越多,许诺也越来越大。1973年,英国的科学研究委员会请应用数学家莱特希尔对人工智能做一次总体的评估。他那份东西里反复出现一个词:组合爆炸。程序在小而干净的问题上表现得很好,一放到真实世界的规模,要搜的可能性就多到永远走不完。
第二年,另一头传来一件更冷的事。1974年,费舍尔和拉宾问的不是普雷斯伯格那个办法快不快,而是任何办法有没有可能从根本上快很多。答案是没有。对这块算术,无论谁设计什么样的一般办法,总有这样的式子:输入每多出一小截,需要的步数就得自乘一次。这叫双指数的下界。1978年奥彭又给出一个上界,把这个问题夹在极高的上下两道墙之间。
这不是说每一个那么长的式子都这么难,是说无论你设计什么一般办法,总有这样的坏输入。它也不是哪个程序写得不好,它是这个问题本身的性质。费舍尔和拉宾还顺手讨论了证明的长度:在适当的条件下,有些句子即使证得出来,证明本身也不得不极长。于是可判定,可证明,和人真的能拿到一份看得完的证明,又分成了三件事。
两条路在同一堵墙前面碰了头。莱特希尔说的是一个领域在真实世界的规模上撞到的墙。费舍尔和拉宾说的是:就算退回到最小,最干净,最有保证的那一块算术里,这堵墙也在。
实数那边是同一个故事的另一遍。塔尔斯基的办法证明了判定法存在,却不是一个能跑的算法。第一个称得上能实际运行的完整办法,通常算到1975年柯林斯那里:把多维的实空间切成有限多块,使得输入的那些多项式在每一块上的正负保持不变,于是关于无限多个点的问题,变成了有限多块上的代表性判断。它后来成了计算机代数系统的基础,可是切出来的块数,随着变量的个数可能双指数地涨。1988年达文波特和海因茨证明,这也不全是那个办法的错,实数上一般的量词消去本身就有这种级别的困难。此后四十多年的改进,主线不是推翻那个下界,而是少做不必要的活:更好的投影,只切当前这道题真正需要的那些区域。
几何那一头,有人换了一个买法。1976年到1977年间,吴文俊在北京开始把几何定理的证明搬上计算机。他后来在一篇序里写过,塔尔斯基那个机械化的定理,在初等几何里包罗虽广,但效率太低。他的办法是把几何问题化成一组多项式等式来处理,带大小次序的那一类命题先放在一边。能问的收窄了一点,机器就跑得动了,一批并不平凡的几何定理由此被机器证了出来。
他给这件事起的名字叫数学机械化,并且说启示来自中国古代的数学: 《九章算术》,以及公元263年刘徽为它作的注,在他看来是东方数学机械化算法体系的经典代表。第五篇里的刘徽,在这里被一个二十世纪的数学家认作了前辈。同一篇序里,他还记下了王浩那一台机器三分钟里证完的两百多条命题。
所以可判定和可用之间有一道缝。数学上的可判定问的是:有没有一个统一的办法,保证最终停下来并且答对。它不承诺几秒,不承诺一百年,甚至不承诺在这个宇宙允许的资源里做得完。工程上的可用问的是:对实际会出现的那些问题,给定的机器,给定的时间和内存,程序是不是经常能很快给出有用的结果。两个问题的答案可以一个是有,一个是没有,而且经常就是这样。
反过来也成立。最坏情形很难看,不等于没有用处。许多判定程序的理论最坏情形极差,在实际要处理的问题上却相当有效。王浩那一课在这里又出现了一次:实际碰到的问题,大多不在最坏的那一角。
八 三栏账
回到题目。闭合可以买到吗。可以,而且买到了两次,两次买到的东西还不一样。
普雷斯伯格买到的是一个完备而且可判定的整数算术片段,代价是一大片数论在那里说不出来。塔尔斯基买到的是实数代数,连带初等几何的统一判定法,而他什么也没有删,他那边的代价在别处:那套语言天生说不出"这个数是整数"。两次都不是在市场上交易,两次都是有人去研究一个具体的数学对象,然后发现这个对象碰巧很规整。那个"买"字是后来的人回头看出来的形状,不是当时有人在付钱。
这两项结果活得最久的地方,在后来的两门学科里。塔尔斯基的量词消去成了模型论的基础技术,实数和代数闭域成了模型论教科书里最基本的例子。普雷斯伯格的算术则进了程序检查:一段程序对不对,常常取决于数组的下标,循环的计数,整数之间的线性关系,而这正是它擅长的那一类话。1972年,库珀把普雷斯伯格的办法改成了在计算机上实用的版本,论文的题目是在没有乘法的算术里证明定理,登在一套叫《机器智能》的丛书里。今天帮数学家逐行核对证明的程序里,有的专门带着一个模块,标题就叫普雷斯伯格算术的判定程序,里面装的就是库珀那个版本。
那么可以带走的是什么。
一个体系对自己说得出来的每一句话都有答案,这件事听起来像本事。它同时也是一份清单,清单上写的是它说不出来的那些话。衡量一套说法的时候,先数它答不上来的问题有多少,再数它答得上来的有多少。全都答得上来的,通常是问得太少。
从1954年那台机器起,凡是造出来回答问题的机器,都可以记在同一本账上。账有三栏:一栏记能问它什么,一栏记它的回答有没有担保,一栏记它答一次要付多大的代价。
普雷斯伯格那十页纸说的是,能问的那一栏收得够窄,担保那一栏就能填满。塔尔斯基书里那句话,连同1936年丘奇和图灵的结果,说的是能问的一旦放开到整数的加法和乘法,担保就再也填不满。费舍尔和拉宾说的是,就算能问的收到普雷斯伯格那么窄,担保也填满了,代价那一栏仍然会有付不起的时候。
戴维斯那台机器填满了担保,撞在代价上。1956年那个程序空出担保,去换代价。王浩在同一块地方把担保和代价都填上了,因为那块地方够小。吴文俊把几何里能问的收掉一角,代价那一栏就付得起了。此后的机器在三栏之间挪来挪去。有的守着担保,能问的一点一点往外扩:戴维斯后来和普特南等人一起做出的一套办法,专门判断一组逻辑条件能不能同时成立,它的后代后来广泛用于芯片和软件的检查。有的把能问的放得很开,担保那一栏空着,后来被叫作人工智能的东西,有很大一部分是这样记的账。
三栏一起填满的那一页,没有人记出来过。其中能问的和担保不能一起满,是定理说的。
这一篇里有两个年份摆不平。一个是塔尔斯基那本书为什么1939年没在巴黎印出来,一个是普雷斯伯格死在哪一天。两处的原因是同一件事,而那件事从1933年的一所大学开始。
数还在往下算,而什么算数学,还没有算清楚过。
一 兩個偶數
1954年夏天,普林斯頓高等研究院。那裡有一台電子管計算機,是世界上最早造出來的那一批里的一台。它的內存一共一千零二十四個機器字:程序本身,要處理的式子,以及運算當中生出來的所有東西,都得擠在這個數目裡。
一個二十六歲的邏輯學者給它寫了一個程序。他叫馬丁·戴維斯。
那時候的計算機差不多都在算數。這個程序不算數,它判斷話。你交給它一句關於整數的話,它就按一套寫死的規矩一步一步往下走。底層判定算法保證在理想化的、存儲不受限制的機器上最終停下並答對;實際那台機器卻可能在此以前耗盡內存。那時候人工智能這個詞還沒有被造出來。
這個程序最得意的一次,戴維斯很多年以後自己寫道,是證明了兩個偶數相加還是偶數。
這句話是自嘲,可它一點也沒有誇張。一間屋子那麼大的機器,最漂亮的一次,證出來的是一個小學生都知道的事。
兩個問題跟著就來了。整個數學裡,為什麼偏偏是這一小塊,可以放心交給一台機器去判,而且它說真就一定是真。既然判得了,為什麼它判出來最好的結果只有這麼一點。後一個問題,那台機器自己很快就給出了答案,而且比那句自嘲沈重得多。頭一個問題的答案,在二十五年前的華沙。
1929年九月二十四日,星期二,上午十點半。第一屆斯拉夫國家數學家大會在華沙開到第二天,第一分組的第一個位置,排給了一個還沒拿到碩士學位的學生。他叫普雷斯伯格,華沙大學的數學生,二十四歲。
那次大會的樣子值得看一眼。開幕的時候弗蘭克爾講康托爾,塔爾斯基自己講了兩場。與會的人大部分是波蘭人,但有人從日本來,也有人從美國的得克薩斯來。論文集允許用五種歐洲文字刊出,其中德文和法文最常見。會開完,一批人坐臥鋪車轉去波茲南,庫拉托夫斯基在那裡接著講拓撲。
普雷斯伯格那天講的東西後來收進論文集,正文十頁,另有一頁沒有編號的補遺。題目的意思是:論一種整數算術系統的完備性,其中加法是唯一的運算。論文開頭有一個不起眼的腳注:結果是1928年五月得到的,問題由塔爾斯基提出。
這個問題有來頭。那幾年希爾伯特那一派在問一件很大的事:有沒有一個統一的機械辦法,拿來判定給定的一階邏輯公式是否普遍有效。這件事有個名字,叫判定問題。那時候還沒有計算機,所謂機械的辦法,是寫在紙上的一套規矩,規矩死到這種程度:一個完全不懂數學的人照著做,也能得出正確的答案。希爾伯特那一派想要的,是對整個數學都有這樣一套規矩。
塔爾斯基把這件事切下很小的一塊,交給了一個學生。普雷斯伯格交回來的答案是:這一塊,有。有那麼一小塊整數算術,裡面的每一句話都能被定下來是真是假,而且有一個統一的辦法,你隨便給它一句,它走有限步就把答案交出來。二十五年以後被戴維斯裝進電子管里的,正是這套辦法。一台機器在能被造出來以前,先在紙上造好了。
前面幾篇講的差不多全是反過來的事。集合論造出了矛盾,地基之爭吵了二十年,還有一條定理說,足夠強的算術不可能又一致又完備。而這裡有一個學生,在一間擠滿人的教室裡,用十頁紙給出了一塊完全不出這種事的算術,結果得到於1928年,大會報告在1929年,分別比1931年發表的那條定理早三年和兩年。
所以值得問的是:一套算術要弱到什麼程度,才能既完備又帶著一台統一的機器。答案比刪掉乘法要複雜得多,也有意思得多。
二 說不出來的話
手上只有三塊和五塊兩種硬幣,能不能正好湊出某一個數目。湊十一,辦得到。湊七,辦不到。那麼湊到一定大小以後,是不是就再也沒有湊不出來的數了。答案是:從八開始,全都湊得出來。
這幾句話,普雷斯伯格那套語言全都說得出來,也全都判得出來。
他談的是整數的一種算術,裡面的運算只有加法。語言裡有加號,有零和一,有等號和大小,有"存在"和"所有"這樣的詞。三倍的某個數照樣說得出來,因為那只是這個數加它自己再加它自己。他列公理的時候就寫明過:因為沒有乘法符號,那種寫法必須理解成固定次數的重復相加。幾個數加起來等於另一個數,某個數比另一個數大多少,某個數除以七餘三,一群整數同時滿足一串這樣的條件,這些話它全說得出來,而且全都能判。它不是一塊殘骸,它是一個小而完整的世界。
沒有的是兩個變量相乘。於是下面這些話,在那套語言裡根本說不出來。某個數是另外兩個數的乘積。某個數是平方數。某個數是素數。某個數整除另一個數,而且兩個都是變量。
說不出來這四個字,重量在這裡:不是難證,是沒有一句話可以把它統一說出來。在那套語言裡能圈出來的數,有一種很整齊的形狀,走到後面總是一段一段週期性地重復。平方數和素數都不是這樣排的,所以它們在那裡連名字都沒有。"這個數是不是素數",這是數論裡最老的一類問題,在普雷斯伯格的世界裡問不出來。
這是表達力的損失,不是證明力的損失,而這兩樣不是一回事。
這裡有三個詞,後面它們各走各的路。完備說的是:這套語言裡的每一句話,這個理論都能定下來是這一邊還是那一邊,不會出現第十七篇那種既證不出來也駁不倒的句子。可判定說的是另一件事:有一個統一的機械辦法,你隨便給它一句這個語言裡的話,它走有限步以後一定停下來,並且給出正確的答復。
兩者之間有一座很短的橋。假定一個理論既完備,公理又能被一條一條地列出來,那麼所有的證明也可以一份一份列出來。拿到一句話,就一份一份往下列,看它和它的反面哪一個先出現。理論是完備的,兩個裡面必有一個會出現,所以這個過程一定停。普雷斯伯格在原文開頭就寫明了這一點:完備性的證明由於它那種有效的性質,同時給出了判斷一句話是否為真的辦法。一個證明,順手交出了一台機器。
完備這個詞還有一層。它不是說這個理論什麼都知道,它只說,凡是這套語言說得出來的話,它都能定下來。說不出來的那些,它連問都問不了。所以一個體系越是說得少,就越容易完備。這句話聽起來像褒獎,其實是賬單的第一行。
第三個詞是可行。有一個辦法,和這個辦法在人的時間,內存和機器上真的跑得動,是兩件事。前兩個說的是邏輯上的性質,第三個進一步追問複雜度與實際資源。一台一千零二十四個字的機器,很快就會把這個區別擺上桌面。
三 消掉一個詞
那台機器的核心方法叫量詞消去;普雷斯伯格算術通常先擴充語言,加入固定模數的同余或整除謂詞,再在這個等價擴充中消去量詞。
一句話裡可能有"存在某個數"或者"對所有的數"這樣的詞。量詞消去不是去猜那個數到底是哪一個,而是把整句話換成一句完全等價,但不再提那個數的話。
一個最小的例子。問:有沒有一個整數,它加它自己等於某個給定的數。這句話裡有一個"有沒有一個整數"。把它消掉,剩下的條件只關於那個給定的數,而那個條件是:它是偶數。
就是這樣。"存在一個整數,它加它自己等於那個數",被換成了"那個數是偶數"。後一句不再提那個要找的整數,而且它是一句可以當場查的話。普雷斯伯格的論文裡就有這樣的小例子:一個帶著"存在"的加法方程,被改寫成只關於餘數和其餘那些數的條件。戴維斯那台機器最得意的那個結果,說的也是偶數。它在電子管里走的,正是這樣一步一步的換法。
再看一個別的世界裡的例子。問:有沒有一個實數,它自乘等於某個給定的數。消掉以後,剩下的條件是:那個數大於或者等於零。那個要找的數不見了,剩下的是一句只關於給定的數的話。
把這個動作反復做下去,一句完全不帶自由變量的話,最後會變成一個可以直接判斷真假的條件。判定的過程就是這麼來的。塔爾斯基的突破,是把同樣的想法推進到實數的多項式等式和不等式那個世界裡去。那裡有加,有乘,有大小關係,有量詞,而量詞仍然消得掉。
這一步順手把一門學科也帶了進來,就是幾何。塔爾斯基說的初等幾何,指的是那些可以坐標化以後翻譯成實數代數式子的問題:固定一個直角坐標系,點用實數坐標表示,距離,共線,垂直,圓這些關係都能化成有限多個多項式的等式或者不等式,於是相應的幾何命題也落進了那台機器。關於任意點集,任意函數的一般命題不在裡面。範圍是由所選的那套語言決定的,不是由"幾何"這個學科的名字決定的。
這件事本來沒有道理成立。"存在"這個詞看上去是在一個無限多的範圍裡搜,而一台機器不能在無限多個數里一個一個去找,找不到就永遠停不下來。消去它,意味著那場找不完的搜索可以換成一句有限的,馬上能核對的話。為什麼偏偏是這一小塊能交給機器,一半的答案就在這裡:它裡面的每一個"存在"都消得掉。換不換得掉,取決於那個世界的形狀規整到什麼程度。規整的地方換得掉,不規整的地方換不掉。
它交付的是答案,不是理解。換出來的東西可能極其龐大,也未必長成人認為漂亮的證明的樣子。不過它還有一個比回答是非大得多的用處:它會告訴你,一個帶著"存在"和"所有"的說法,在那個世界裡最後到底圈出了一堆什麼東西。後來的模型論正是把這個結構上的信息,當作量詞消去最要緊的價值。
四 邊界在哪裡
既然刪掉乘法可以換來一台機器,那就順著往下問:邊界在乘號上嗎。
不在。有兩個現成的例子,從兩個方向把這個猜想打穿。第一個是斯科倫算術:自然數只保留乘法,把加法拿掉,它仍然可判定。第二個更有力,就是塔爾斯基的實數:加法和乘法全都在,還有大小關係,這個理論照樣可判定。
加的那一側溫順,乘的那一側也溫順。是它們在整數上湊到一起的時候,才發生了質變。
原因不在符號表裡。整數的加法和乘法合在一起,足以造出極豐富的編碼,讓有限的序列,證明,一步一步的計算,全都能改寫成整數之間的關係。這正是第十七篇那套編碼要用的本事。普雷斯伯格算術接不下這個活,因為它裡面連兩個變量相乘都定義不出來。所以它落在門檻以下的那一條,正是第十七篇三個條件裡的第三條:它不是在一致性上過關,也不是在有效可公理化上過關,是在表達強度上沒有跨過去。
塔爾斯基自己在書裡把這個對照寫得很直接:凡是一個理論強到包含通常那種整數加法和乘法算術的全部有關句子,就不會有這樣的統一判定辦法。
他還做了一個極漂亮的邊界實驗。在實數那套語言裡,"這個數是整數"這個統一的說法是定義不出來的。而如果允許變量直接限制在整數上,那麼"某個數的三次方加另一個數的三次方,等於第三個數的三次方,有沒有整數解"這一類問題就進了語言,整數算術跟著潛進來,統一的判定就保不住了。同一個式子,只把變量的取值範圍從實數換成整數,邏輯上的命運就整個變了。
難和易不在那些符號上,在你讓變量跑在什麼地方。
門檻另一邊的樣子,後來被釘死過一次,而釘的人里有一個熟面孔。希爾伯特1900年那份問題清單里的第十問題是:給一個任意整數系數的多項式方程,判斷它有沒有整數解。這正是變量相乘,取值在整數上的那一種問題。從研究生時代起,這個問題就是馬丁·戴維斯一輩子放不下的東西。1954年夏天,他在普林斯頓把門檻這一邊的機器裝進電子管的時候,已經在門檻另一邊找了好幾年。
那一邊的路,他和普特南,朱莉婭·羅賓遜一起鋪了十幾年,最後一塊是馬季亞謝維奇補上的。馬季亞謝維奇自己記得很清楚: 1970年一月二十九日,他在列寧格勒第一次公開講這個解答,聽眾里有採廷。答案是:沒有一般的辦法。同一個人,一隻腳在門檻這邊造出了機器,另一隻腳在門檻那邊,幫著證明了機器造不出來。
所以門檻不是一條整齊的線。1936年丘奇和圖靈證明,一般的一階邏輯沒有統一的判定辦法,希爾伯特那個對整個數學的心願就此落了空。可是門檻以下住著的東西來自完全不同的方向:線性的算術,實數的代數,代數閉域,後來還有自動機那一路的一大批結構。它們可判定的理由也各不相同,有的靠次序,有的靠代數上的封閉,有的靠自動機,有的靠量詞消去。1950年特拉赫滕布羅特又證明,就算只看有限的結構,一般的判定問題仍然沒有辦法。於是邏輯史上留下來的不是一條從可判定到不可判定的直線,是一張地圖:一邊在找最大的可判定片段,一邊在找最小的不可判定擴張。
五 華沙,以及一本印不出來的書
普雷斯伯格不是一個遠在邊緣,偶然寫出一篇論文的學生。那時候的華沙是歐洲邏輯學最密的地方之一。更大的一支叫利沃夫華沙學派,奠基的是特瓦爾多夫斯基,兩次大戰之間的代表人物有阿伊杜凱維奇,科塔爾賓斯基,萊希涅夫斯基,盧卡西耶維奇,塔爾斯基。這個學派繁盛的年頭正好是兩次大戰之間那二十一年,從波蘭重新建國算到戰爭爆發,邏輯學慢慢變成了它最顯眼的一支。鏡頭縮到華沙的邏輯一圈,中心是盧卡西耶維奇,萊希涅夫斯基和塔爾斯基,外圍還有林登鮑姆,普雷斯伯格,以及大量學生。
普雷斯伯格在這個圈子裡是做事的人。盧卡西耶維奇那部數理邏輯課程的講義,就是他根據口頭課整理出來的。
出版這一層也很密。波蘭數學界有《數學基礎》這樣的專門刊物,利沃夫和克拉科夫還有另外兩份。這一圈跟維也納也不是兩個互不相干的島:塔爾斯基1930年去維也納,卡爾納普同一年來華沙,塔爾斯基1935年又去了一趟。第十五,第十七篇裡那些維也納的名字,和這裡這些華沙的名字,在那些年是同一張網上的人。
而塔爾斯基本人的處境,後來的論文數據庫會把它整個抹掉。他生下來姓泰特爾鮑姆, 1923年和兄弟一起把姓改成了塔爾斯基,同時改信天主教,而他自己並不信教。理由不止一條,他想做一個波蘭人,也知道那時候在波蘭,一個猶太人很難被任命到大學的職位上。1924年在華沙拿到博士學位以後,他長期在中學教數學,同時只持有華沙大學一個不大的教職。1939年他申請利沃夫的教授席位,沒有成功。那些年裡一批世界級的邏輯成果,出自一個同時在中學教書的人。
他那個實數代數的判定辦法,是1930年找到的。書末的歷史注釋還往前推了一段:一部分結果在1926年到1928年的課程裡已經出現過。那幾年坐在他教室裡的華沙學生,已經聽過這套東西的一部分,而教室以外的人要再等二十年才讀得到。
然後這本書開始了它自己那段路。原本準備1939年由巴黎一家出版社出,戰爭把它打斷了。把它重新撿起來的是一家美國的研究機構: 1948年,美國空軍的蘭德計劃對判定問題有了興趣,那份擱了九年的稿子被找出來,麥金西參與整理和修訂,以蘭德一份編號文件的樣子印了出來。1951年五月又有一個修訂本,後來通常按1951年引。七八年以後,同一個機構的計算機上,會跑起另一種證定理的程序。
從塔爾斯基找到那個辦法,到那本書以國際通行的樣子問世,隔了十八年。1939年以後為什麼停,有清楚的原因:戰爭。而1930年到1939年那九年為什麼也沒印出來,至今找不到一個說法。
這一段裡所有的年份都是可以查的,只有一個年份查不到。
普雷斯伯格1904年十二月二十七日生於華沙, 1923年讀完中學,然後進了華沙大學。關於他本人的專門研究只有一篇,是齊格蒙特1991年寫的傳記,依據主要是華沙大學保存下來的學生檔案。那批檔案後來被高分辨率掃描整理公開:註冊的表格,修過的課程,畢業的文件。他1930年十月拿到數學碩士學位這件事,今天還能一頁一頁翻出來看。
再往後就斷了。他是波蘭猶太人,死在納粹的大屠殺里,通常推定大約在1943年。專業的傳記裡,那個年份後面還跟著一個問號。確切的日期,地點和最後的經歷,沒有達到他學生時代那些材料的確定度。
一個人二十幾歲寫下的十頁東西,被一台又一台機器執行了七十多年,而他本人是怎麼死的,寫不出來。
六 另一條路
回到1954年夏天那台機器。
判定的辦法有了,機器也有了,可是戴維斯很快就撞上了一堵牆。那套辦法在紙上只有幾步,到了機器裡,先要把式子改寫成某種標準的形狀,而改寫會把式子撐開:條件和條件之間的組合一層疊一層,原來不長的一行,改寫完可以長出許多倍。一千零二十四個字的內存很快就裝不下。他後來對更複雜的判定程序不抱什麼指望,就是從這裡開始的。
這台機器第一次讓人親眼看見:可以判定,不等於判得起。
兩年以後,有人從另一頭下手。蘭德公司的紐厄爾和肖,加上卡內基理工學院的西蒙,做了一個證明邏輯定理的程序,對象是懷特海和羅素那部《數學原理》開頭的那些命題。它不照一套保證有結果的規矩走,它有選擇地找:哪條路看著離目標近,先走哪條,分支太多就剪掉一些。它找到了,就交出證明。它找不到的時候,只能說沒找到。沒找到和不存在之間,隔著的正是戴維斯那台機器有,而它沒有的那樣東西:擔保。那時候,人工智能這個名字剛被造出來不到一年。
一邊保證有答案,可是很快就撐爆了內存。一邊不保證總能找到證明,為的是不被撐爆;找到的證明仍須遵守可靠的推理規則。兩條路從這裡分了岔。
岔口上站著一個中國人。王浩1921年生在濟南,在昆明的西南聯合大學讀完書,後來去美國做數理邏輯。1958年夏天,他在紐約州波基普西,國際商業機器公司的研究實驗室里,用一台當時的大型計算機寫了幾個程序。其中一個把《數學原理》前五章裡的兩百多條定理全部證了一遍,一共用了三十七分鐘左右,其中十三分之十二的時間花在讀入和打印上,真正用來證明的不到三分鐘。
他把這些結果寫成一篇論文,題目的意思是走向機械化的數學,聽起來就是希爾伯特那一派當年那個心願換了一種說法。論文裡有一處說得很不客氣。紐厄爾他們拿啓發式跟算法比,用來作對照的是一個特別笨的算法。拿一個特別沒有效率的算法,來論證啓發式勝過算法,他說,這很難算公平。
他還從這些結果里總結出一課:即使在一個相當豐富的領域裡,實際被證出來的定理,大多只動用了這個領域全部本事里很小的一部分。說得少,是一台機器能判定的前提。而人真正要證的東西,多半本來就只用得上一點點。
1983年,他拿到了機器定理證明的第一個里程碑獎,設獎的是國際人工智能聯合會議。又過了將近二十年,戴維斯寫那一段早期歷史的時候,題下寫著:紀念王浩。
七 價錢另外算
岔開以後,兩條路各走了將近二十年。
啓發式那一路的程序越做越多,許諾也越來越大。1973年,英國的科學研究委員會請應用數學家萊特希爾對人工智能做一次總體的評估。他那份東西里反復出現一個詞:組合爆炸。程序在小而乾淨的問題上表現得很好,一放到真實世界的規模,要搜的可能性就多到永遠走不完。
第二年,另一頭傳來一件更冷的事。1974年,費捨爾和拉賓問的不是普雷斯伯格那個辦法快不快,而是任何辦法有沒有可能從根本上快很多。答案是沒有。對這塊算術,無論誰設計什麼樣的一般辦法,總有這樣的式子:輸入每多出一小截,需要的步數就得自乘一次。這叫雙指數的下界。1978年奧彭又給出一個上界,把這個問題夾在極高的上下兩道牆之間。
這不是說每一個那麼長的式子都這麼難,是說無論你設計什麼一般辦法,總有這樣的壞輸入。它也不是哪個程序寫得不好,它是這個問題本身的性質。費捨爾和拉賓還順手討論了證明的長度:在適當的條件下,有些句子即使證得出來,證明本身也不得不極長。於是可判定,可證明,和人真的能拿到一份看得完的證明,又分成了三件事。
兩條路在同一堵牆前面碰了頭。萊特希爾說的是一個領域在真實世界的規模上撞到的牆。費捨爾和拉賓說的是:就算退回到最小,最乾淨,最有保證的那一塊算術裡,這堵牆也在。
實數那邊是同一個故事的另一遍。塔爾斯基的辦法證明了判定法存在,卻不是一個能跑的算法。第一個稱得上能實際運行的完整辦法,通常算到1975年柯林斯那裡:把多維的實空間切成有限多塊,使得輸入的那些多項式在每一塊上的正負保持不變,於是關於無限多個點的問題,變成了有限多塊上的代表性判斷。它後來成了計算機代數系統的基礎,可是切出來的塊數,隨著變量的個數可能雙指數地漲。1988年達文波特和海因茨證明,這也不全是那個辦法的錯,實數上一般的量詞消去本身就有這種級別的困難。此後四十多年的改進,主線不是推翻那個下界,而是少做不必要的活:更好的投影,只切當前這道題真正需要的那些區域。
幾何那一頭,有人換了一個買法。1976年到1977年間,吳文俊在北京開始把幾何定理的證明搬上計算機。他後來在一篇序裡寫過,塔爾斯基那個機械化的定理,在初等幾何裡包羅雖廣,但效率太低。他的辦法是把幾何問題化成一組多項式等式來處理,帶大小次序的那一類命題先放在一邊。能問的收窄了一點,機器就跑得動了,一批並不平凡的幾何定理由此被機器證了出來。
他給這件事起的名字叫數學機械化,並且說啓示來自中國古代的數學: 《九章算術》,以及公元263年劉徽為它作的注,在他看來是東方數學機械化算法體系的經典代表。第五篇裡的劉徽,在這裡被一個二十世紀的數學家認作了前輩。同一篇序裡,他還記下了王浩那一台機器三分鐘裡證完的兩百多條命題。
所以可判定和可用之間有一道縫。數學上的可判定問的是:有沒有一個統一的辦法,保證最終停下來並且答對。它不承諾幾秒,不承諾一百年,甚至不承諾在這個宇宙允許的資源里做得完。工程上的可用問的是:對實際會出現的那些問題,給定的機器,給定的時間和內存,程序是不是經常能很快給出有用的結果。兩個問題的答案可以一個是有,一個是沒有,而且經常就是這樣。
反過來也成立。最壞情形很難看,不等於沒有用處。許多判定程序的理論最壞情形極差,在實際要處理的問題上卻相當有效。王浩那一課在這裡又出現了一次:實際碰到的問題,大多不在最壞的那一角。
八 三欄賬
回到題目。閉合可以買到嗎。可以,而且買到了兩次,兩次買到的東西還不一樣。
普雷斯伯格買到的是一個完備而且可判定的整數算術片段,代價是一大片數論在那裡說不出來。塔爾斯基買到的是實數代數,連帶初等幾何的統一判定法,而他什麼也沒有刪,他那邊的代價在別處:那套語言天生說不出"這個數是整數"。兩次都不是在市場上交易,兩次都是有人去研究一個具體的數學對象,然後發現這個對象碰巧很規整。那個"買"字是後來的人回頭看出來的形狀,不是當時有人在付錢。
這兩項結果活得最久的地方,在後來的兩門學科裡。塔爾斯基的量詞消去成了模型論的基礎技術,實數和代數閉域成了模型論教科書裡最基本的例子。普雷斯伯格的算術則進了程序檢查:一段程序對不對,常常取決於數組的下標,循環的計數,整數之間的線性關係,而這正是它擅長的那一類話。1972年,庫珀把普雷斯伯格的辦法改成了在計算機上實用的版本,論文的題目是在沒有乘法的算術裡證明定理,登在一套叫《機器智能》的叢書裡。今天幫數學家逐行核對證明的程序裡,有的專門帶著一個模塊,標題就叫普雷斯伯格算術的判定程序,裡面裝的就是庫珀那個版本。
那麼可以帶走的是什麼。
一個體系對自己說得出來的每一句話都有答案,這件事聽起來像本事。它同時也是一份清單,清單上寫的是它說不出來的那些話。衡量一套說法的時候,先數它答不上來的問題有多少,再數它答得上來的有多少。全都答得上來的,通常是問得太少。
從1954年那台機器起,凡是造出來回答問題的機器,都可以記在同一本賬上。賬有三欄:一欄記能問它什麼,一欄記它的回答有沒有擔保,一欄記它答一次要付多大的代價。
普雷斯伯格那十頁紙說的是,能問的那一欄收得夠窄,擔保那一欄就能填滿。塔爾斯基書裡那句話,連同1936年丘奇和圖靈的結果,說的是能問的一旦放開到整數的加法和乘法,擔保就再也填不滿。費捨爾和拉賓說的是,就算能問的收到普雷斯伯格那麼窄,擔保也填滿了,代價那一欄仍然會有付不起的時候。
戴維斯那台機器填滿了擔保,撞在代價上。1956年那個程序空出擔保,去換代價。王浩在同一塊地方把擔保和代價都填上了,因為那塊地方夠小。吳文俊把幾何裡能問的收掉一角,代價那一欄就付得起了。此後的機器在三欄之間挪來挪去。有的守著擔保,能問的一點一點往外擴:戴維斯後來和普特南等人一起做出的一套辦法,專門判斷一組邏輯條件能不能同時成立,它的後代後來廣泛用於芯片和軟體的檢查。有的把能問的放得很開,擔保那一欄空著,後來被叫作人工智能的東西,有很大一部分是這樣記的賬。
三欄一起填滿的那一頁,沒有人記出來過。其中能問的和擔保不能一起滿,是定理說的。
這一篇裡有兩個年份擺不平。一個是塔爾斯基那本書為什麼1939年沒在巴黎印出來,一個是普雷斯伯格死在哪一天。兩處的原因是同一件事,而那件事從1933年的一所大學開始。
數還在往下算,而什麼算數學,還沒有算清楚過。
Sources and further reading史料与延伸阅读史料與延伸閱讀
Selected references for historical details and interpretive disputes. Museum records, ancient literary accounts and modern reconstructions do not carry the same kind of evidence.
以下资料对应文中的历史细节与解释分歧。馆藏记录、古代文学与现代重建,不是同一种证据。
以下資料對應文中的歷史細節與解釋分歧。館藏記錄、古代文學與現代重建,不是同一種證據。
- Presburger's Article: Remarks and Translation普雷斯伯格原文译注普雷斯伯格原文譯注
- Stanford Encyclopedia: Alfred Tarski斯坦福哲学百科:塔尔斯基斯坦福哲學百科:塔爾斯基
- Tarski's RAND decision-method report塔尔斯基RAND判定法报告塔爾斯基RAND判定法報告
- Hao Wang, Toward Mechanical Mathematics (1960)王浩《走向机械化的数学》原论文王浩《走向機械化的數學》原論文
- Oppen's 1978 complexity upper bound奥彭1978年复杂度上界奧彭1978年複雜度上界
- Brown and Davenport on quantifier-elimination complexityBrown与Davenport量词消去复杂度论文Brown與Davenport量詞消去複雜度論文
- Wu Wen-tsun's mathematics-mechanization preface吴文俊数学机械化丛书序吳文俊數學機械化叢書序