导航城市与理解证明
导航城市与理解证明
证明与城市的相似之处
皮埃尔·朗方 (Pierre L’Enfant) 不是一位理论家,而是一位设计师,特别是华盛顿特区城市布局的设计师。
今天我想谈谈为什么有些证明难以理解,而不是难以发现。
证明与城市有什么关系?乍一看,它们似乎没什么共同之处,但我相信,理解证明和在城市中导航有很大的共通之处。我认为,一些证明难以理解的原因,与一些城市难以导航的原因有关。
恕我直言,华盛顿——美国的首都——对我来说一直很难穿行。我有时会在首都感到迷失。它的主干道呈对角线布局,虽然美丽,却不利于我形成一个好的心理空间地图。而且我几乎从不在城里开车:我要么步行,要么乘坐地铁,要么打车。后两者意味着我让别人替我导航,这样我即使闭上眼睛也能到达目的地。这对我来说非常愉快和轻松,但却无法让我学会华盛顿特区街道的来龙去脉。
我认为,当我们阅读一个证明时,就像试图在一个城市中导航。如果我们想成功理解证明,其布局至关重要。此外,我们需要主动地与证明互动。如果你只是像坐在“出租车”里一样,被动地被带着浏览证明,比如在一次演讲或讲座中,那么你真正理解这个证明的可能性就要小得多。
让我们来讨论一下理解城市和理解证明之间的一些联系。也许这些评论能帮助我们写出更好的证明,并帮助我们更好地阅读证明。
城市与证明
标准布局: 尽管曼哈顿规模庞大,人、车、建筑密度极高,但导航起来却相对容易。粗略来看,街道是按矩形网格布局的:所以41街在33街的北面。大道是南北走向,从西到东编号——好吧,不完全是这样,但很接近——例如,第六大道也是美洲大道,第九大道是哥伦布大道。所以,确定一个大致位置非常直接,特别是如果你避开曼哈顿下城的话。
这对证明意味着什么? 我们应该尽可能地以标准的“网格”方式来布局我们的证明。定义、引理和证明的布局应尽可能标准化。有时这很困难甚至不可能,但具有“对角线”结构的证明要难理解得多,应该避免。
换一种说法,用一个混合的比喻:证明中的“交通流”应该是拓扑排序的。你可能需要回头查看下一个逻辑步骤的来源,比如定理5如何依赖于引理2和3,但你绝不应该需要绕圈子,比如为了证明引理3你需要理解定理5证明的一部分。另一种说法是:对一个引理的理解绝不应该被“延迟”到后面的结果。当这种“延迟”发生时,你就有了雅克·德里达所说的延异,这在文学理论中或许没问题,但在数学中则不应该出现。最后一个引述来自肯,我在这方面听从他的意见,并补充一句:保持结构尽可能简单。
好的指南: 如果有写得好的指南,任何城市都会更容易导航。这些指南会解释如何四处走动、如何定位主要地标以及如何导航。
这对证明意味着什么? 我们应该为我们的证明提供一份指南。如果一个证明非常简短或简单,那么指南可能没有必要。然而,对于任何复杂的证明来说,一个好的概述,解释你身在何处、要去向何方以及所有部分如何衔接,都是非常宝贵的。陶哲轩(Terence Tao)是这方面的大师:即使是他一些最深刻的定理,也有一个概述,至少能让你找到方向。以下是他一篇论文中的概述。
证明包含三个主要要素。首先是塞迈雷迪定理,该定理断言任何具有正密度的整数子集都包含任意长度的等差数列。第二个要素,也是本文的主要新要素,是某个转移原理。这使我们能够从塞迈雷迪定理中推断出,任何足够伪随机的集合(或测度)中具有正相对密度的子集都包含任意长度的等差数列。第三个要素是戈德斯顿和伊尔迪里姆最近的一个结果,我们在此复述。利用这个结果,我们可以将(大部分)素数置于一个由“殆素数”构成的伪随机集合(或更准确地说,一个集中在殆素数上的伪随机测度)中,并使其具有正相对密度。
区域: 许多城市,即使是巨型城市,也有区或社区。这种模块化结构在导航时非常有用。例如,即便是曼哈顿也有各个社区:仅举几十个中的三个,翠贝卡(TriBeCa)、西村(West Village)、华盛顿高地(Washington Heights)。
这对证明意味着什么? 我们应该将我们的证明构建成具有社区结构。模块化的证明通常更容易阅读。这些模块可以被分开理解,这对读者非常有帮助。通常这种模块化结构基于强大抽象的使用,如果使用得当,可以非常方便读者。使用得当的高度抽象层面的证明可以非常清晰、简单且易于理解。但如果使用不当,抽象层面可能会掩盖所论证的关键问题,使证明非常难以理解。
接下来的两点是需要避免的。
众多小巷: 拥有大量死胡同、编号方式出人意料地跳跃、命名方式奇怪的城市可能非常难以导航。
这对证明意味着什么? 我们应该避免有许多旁支和许多不必要部分的证明。我相信,证明中的小巷对应于许多情况(cases)。通常情况下,情况越多,证明就越复杂。原因是我们可能会漏掉一个情况,或者错误地论证情况(iii)可以由情况(ii)推出。大量的情况是复杂性的一个症状,而复杂性通常是理解的敌人。
情况并非总能避免。在数学的某些领域,例如有限群论,特殊情况比比皆是。你很可能会看到这样的定理:
定理: 每一个阶为偶数的群,如果不以 H 为子群,且没有阶为 pq 的元素(其中 p, q 满足性质 P),则满足…
混乱的结构: 一些城市有可爱但古怪的结构。卡内基梅隆大学所在的匹兹堡就以这样一个特性而闻名:你也许能看到你想去的地方,但就是没有路能到那儿。众多的山丘、河流和桥梁造成了这种情况。你能看到你的目的地,但似乎没有一条路能通向那里。当然,有路可走,只是路很难找到,而且可能需要你先朝与目的地相反的方向走。这可能非常令人困惑,使得导航十分困难。
在克利夫兰,至少在我读本科时,有一条路会自我相交——穿过它自己。真的。许多城市也有道路无缘无故地改变名称,或者在一天中的特定时间变成单行道。所有这些都让出行成为一种挑战。我居住的亚特兰大有很多路都叫桃树XX路(Peachtree X),这里的 X 是一个修饰词,比如:巷、街、坊等等。
这对证明意味着什么? 我们应该小心避免混乱的结构。我们应该使用合乎逻辑的名称,避免无缘无故地改变符号。我们必须避免循环论证,即使是那些并非循环但看起来像是循环的推理,也会非常难以理解。
一个经典的例子是归纳论证,它对数学的许多领域都至关重要。但归纳论证可能很棘手。总是有论证循环或有其他缺陷的危险。在编写和阅读它们时要非常小心:确保基本情况处理得当,并理解“归纳”的对象是什么。一些证明,特别是高级证明,可能会使用一个复杂的度量来进行归天。一定要仔细地跟进这些。
待解问题
如果你正在撰写或阅读一个证明,请留意上述例子来帮助你,并理解使证明变得困难的部分。如果你真的想理解一个证明,就避免乘坐证明的“出租车”。
一个待解问题:经典的证明论通过大小来衡量复杂性:越长越难。但这似乎有点天真。也许存在一种更合理的证明复杂性度量。同样的情况也适用于复杂性理论的大部分内容:更大的电路更复杂,更长的计算更复杂,等等。这是我们能做到的最好的吗?
Navigating Cities and Understanding Proofs
How proofs are like cities
Pierre L’Enfant was not a theorist, but a designer, and in particular the designer of the physical layout of Washington D.C.
Today I want to talk about why some proofs are hard to understand, not hard to discover.
What do proofs have to do with cities? At first glance they seem to have little in common, but I believe that understanding proofs and navigating cities have a great deal in common. I think that the reason some proofs can be hard to follow is related to why some cities are hard to navigate.
Washington, as in the US capital, has always been difficult for me to get around, with due respect to L’Enfant. I sometimes feel lost in the capital. Its main streets run in a diagonal pattern which is beautiful, but does not help me form a good mental spatial map. I also almost never drive a car around the city: I walk, take the Metro, or take a taxi. The latter have me let someone else do the navigating for me, which means that I can close my eyes and still get where I want to go. This is very pleasant and easy on me, yet does not make me learn the ins and outs of the streets of D.C.
I think when we read a proof it is like trying to navigate around a city. The layout is critical if we are to be successful in understanding the proof. Also we need to actively interactive with the proof. If you just sit back in a “taxi” and are driven around the proof, say at a talk or lecture, then you are much less likely to really understand the proof.
Let’s turn to discuss some connections between the understanding of cities and proofs. Perhaps these comments will help us both to write better proofs and to help us to better read proofs.
Cities And Proofs
Standard Layout: For all its size and immense density of people and vehicles and buildings, Manhattan is relatively easy to navigate around. The streets, to a first approximation, are laid out on a rectangular grid: so 41 street is north of 33. The avenues run north and south and are numbered west to east—okay not exactly but close—for example, Sixth Avenue is also the Avenue of the Americas and Ninth is Columbus Avenue. So figuring out a rough location is pretty straightforward, especially if you stay away from the lower part of Manhattan.
What does this mean for a proof? We should, as much as possible, layout our proofs in a standard “grid” manner. Definitions, lemma’s, and proofs should be in as standard a layout as possible. Sometimes this is hard or even impossible, but proofs with “diagonal” structure are much harder to understand and should be avoided.
Stated another way, with a mixed metaphor: Traffic flow in a proof should be topologically sorted. You might have to refer back to check the source of the next logic step, how Theorem 5 depends on Lemmas 2 and 3, but you should never have to cycle around, where to prove Lemma 3 you need to understand part of the proof of Theorem 5. Another way to say this: the understanding of a lemma should never need to be “deferred” to a later result. When such “deferrence” happens, you have what Jacques Derrida called différance, which might be fine in literary theory, but shouldn’t be in math. This last reference is due to Ken, I defer to him on this, and simply add: keep the structure as simple as possible.
Good Guide Books: Any city is easier to navigate if their are well written guide books. Ones that explain how to get around, how to locate major landmarks, and how to navigate.
What does this mean for a proof? We should supply a guidebook with our proofs. If a proof is very short or simple, then a guide may be unnecessary. However, for a proof of any complexity having a good overview that explains where you are, where you are going, and how all fits together is invaluable. Terence Tao is a master at this: even some of his deepest theorems have an overview that at least allows you to get your bearings. Here is an overview from one of his papers.
There are three major ingredients. The first is Szemerédi’s theorem, which asserts that any subset of the integers of positive density contains progressions of arbitrary length. The second, which is the main new ingredient of this paper, is a certain transference principle. This allows us to deduce from Szemerédi’s theorem that any subset of a sufficiently pseudorandom set (or measure) of positive relative density contains progressions of arbitrary length. The third ingredient is a recent result of Goldston and Yildirim, which we reproduce here. Using this, one may place (a large fraction of) the primes inside a pseudorandom set of “almost primes” (or more precisely, a pseudorandom measure concentrated on almost primes) with positive relative density.
Districts: Many cities, even huge ones, have districts or neighborhoods. This modular structure is immensely useful in navigating around. Even Manhattan, for example, has neighborhoods: TriBeCa, West Village, Washington Heights to name just three out of dozens.
What does this mean for a proof? We should structure our proofs to have a neighborhood structure. Proofs that are modular often can be read much more easily. The modules can be understood separately and that helps the reader greatly. Often this modular structure is based on the use of powerful abstraction, which used properly can be very reader friendly. Used properly a highly abstract level proof can be quite clean, simple, and very understandable. Or used poorly the abstract level may hide the key issues that are being argued, and make the proof very hard to understand.
The next two are things to be avoided.
Many side streets: Cities with lots of. dead-end streets, with numbering schemes that jump in unexpected ways, in naming schemes that are strange can be very hard to navigate.
What does this mean for a proof? We should avoid proofs with many side steps and many parts that are unneeded. I believe that side streets in proofs correspond to many cases. The more cases the more complex a proof is, usually. The reason is that we can leave a case out, or argue that case (iii) follows as case (ii), which is false. Lots of cases is a symptom that there is complexity, and that is usually an enemy of understanding.
Cases cannot always be avoided. In some areas of mathematics, for example finite group theory, special cases abound. One is quite likely to see a theorem like this:
Theorem: Every group of even order that does not have as a subgroup and has no elements of order where satisfies .
Crazy Structure: Some cities have endearing, but nutty structures. Pittsburgh where CMU is located, is famous for having the property: you may be able to see where you want to get to, but there is no way to get there. The many hills, rivers, and bridges make this happen. You can see where you want to be, but there seems to be no road that leads you there. Of course, there is a way to get there, the way is just hard to discover, and may involve you heading initially away from where you are going. It can be very confusing and makes for difficult navigation.
In Cleveland there was a road that self-intersects—crosses itself—at least when I was an undergraduate there. Really. Many cities also have roads that change names for no obvious reason, or become one-way at certain times of the day. All of this makes getting around a challenge. Atlanta, where I live, has many roads that are named
where is a modifier like: way, street, place, and so on.
What does this mean for a proof? We should be careful to avoid crazy structure. We should use logical names, keep notation from changing for no reason. We must avoid circular reasoning, even reasoning that is not circular but appears to be will be quite hard to follow.
A classic example of this are inductive arguments, which are essential to many areas of mathematics. But an inductive argument can be tricky. There is always the danger that the argument is circular or has some other defects. Be very careful writing them and reading them: be sure the base case is handled properly and that you understand what is being “inducted” on. Some proofs, especially advanced ones, may use a complex measure that is being used to do the induction on. Be sure to follow these carefully.
Open Problems
If you are writing or reading a proof look for the above examples to help you, and understand the parts that make the proof hard. Avoid taking proof “taxis” if you really want to understand a proof.
An open problem: classic proof theory measures complexity by size: longer is harder. But this seems to be a bit naive. Perhaps there is a more reasonable measure of proof complexity. The same applies to much of complexity theory in general: a bigger circuit is more complex, a longer computation is more complex, and so on. Is this the best we can do?

