John M. Lee is a famous mathematician, who bears the reputation of writing the classical book "Introduction to Smooth Manifolds". In his article, "Some Remarks on Writing Mathematical Proofs", he gives us concrete and complete suggestions about how to write mathematical proofs in a concise and unambiguous way. In my opinion, most of them are quite pertinent and enlightening. In the following, I'll list some key points from this article and some comments are also appended.

  • Identify your audience: know your audience is and what they already know.

    Comment: this is very important! For audience at the beginner level, explanations should include minute details, which are similar to the annotations in a traditional Chinese book and usually their text length largely exceeds the original text. Don't be afraid that the explanations may look naive and trivial in the eyes of expert. Actual examples are also recommended to be provided. Vivid illustrations are quite helpful for the ease of understanding. For professional mathematicians, the writing should presented in a rather formal and abstract way for the purpose of clarity and brevity. We should use well-defined and unambiguous mathematical symbols to describe facts by starting from definitions, then lemmas, theorems etc. and gradually unfolding the complete logical network.

  • Write in paragraph form
  • Avoid most abbreviations like "s.t.", "w.r.t", etc. However, "e.g." and "i.e." are still acceptable.

    They are suitable for handwritten in a notebook or on a blackboard, but not suitable for a formal mathematical writing.

  • State what you're proving, i.e. restate the theorem to be proved in a formal way before the proof starts.
  • Label your theorems by using the following keywords (generally speaking, they all mean the same thing, that is a mathematical statement to be proved from assumptions and previously proved results):
    • Theorem: an important proposition.
    • Proposition: a result that is interesting in its own right, but not as important as a theorem.
    • Lemma: a result that might not be interesting in itself, but is useful for proving another theorem.
    • Corollary: a result that follows easily from some theorem, usually the immediately preceding one.

    For handwritten mathematics, underline these keywords with an emphasizing effect.

  • Show where your proofs begin and end

    The proofs start with Proof and end with \(\Box\). In \(\LaTeX\), this is done automatically by various predefined mathematical environments. Handwritten mathematics should also follow the same convention.

  • Why is it true?

    Every mathematical statement in a proof must be justified in one or more of the following six ways:

    • by an axiom;
    • by a previously proved theorem;
    • by a definition;
    • by a hypothesis (including an inductive hypothesis or an assumption for the sake of contradiction);
    • by a previous step in the current proof;
    • by the rules or logic.

    Comment: we can see the logical rigorousness in mathematical proofs.

  • Include more than just the logic

    Mathematical proofs are not simply stacking formulas. The formulas should be concatenated by meaningful and logical descriptions.

  • Include the right amount of detail

    Knowing the audience is a precondition.

  • Writing mathematical formulas
    • Every mathematical symbol or formula should have a definite grammatical function as part of a sentence. Therefore, if they end a sentence or a clause, a punctuation mark must be followed.

      Read aloud each sentence is a good way to check.

    • Do not begin a sentence in a paragraph with a mathematical symbol. For example, "\(l\) and \(m\) are parallel lines" is not good, write "The lines \(l\) and \(m\) are parallel" instead.
    • Avoid writing two in-line formulas separated only by a comma or other punctuation mark. For example, "If \(x \neq 0\), \(x^2>0\)" is not good, write "If \(x \neq 0\), then \(x^2>0\) instead.
    • Do not connect words with symbols. For example, "If \(x\) is an function \(\in X\)" is not good.
    • Symbols for logical terms like \(\exists\) (there exists), \(\forall\) (for all), \(\wedge\) (and), \(\vee\) (or), \(\neg\) (not), \(\Rightarrow\) (implies), \(\Leftrightarrow\) (if and only if), \(\ni\) (such that), \(\because\) (because) and \(\therefore\) (therefore) should only be used in handwritten mathematics. In formal mathematical writing, they should be replaced with English words.

      Exception: \(\Rightarrow\) and \(\Leftrightarrow\) can be used to connect complete symbolic statements. For example:

      We will prove that \((a) \Leftrightarrow (b)\).

Note for "Some Remarks on Writing Mathematical Proofs"的更多相关文章

  1. Greedy is Good

    作者:supernova 出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlg Joh ...

  2. 【转发】Html5 File Upload with Progress

    Html5 File Upload with Progress               Posted by Shiv Kumar on 25th September, 2010Senior Sof ...

  3. Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]

    最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...

  4. Mathematics for Computer Graphics

    Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...

  5. matplotlib 入门之Sample plots in Matplotlib

    文章目录 Line Plot One figure, a set of subplots Image 展示图片 展示二元正态分布 A sample image Interpolating images ...

  6. [转] h5上传视频或文件编写

    Html5 finally solves an age old problem of being able to upload files while also showing the upload ...

  7. Pyplot tutorial,Pyplot官方教程自翻译

      matplotlib.pyplot is a collection of command style functions that make matplotlib work like MATLAB ...

  8. [转]Extending the User Interface in Outlook 2010

    本文转自:https://msdn.microsoft.com/en-us/library/office/ee692172%28v=office.14%29.aspx#OfficeOLExtendin ...

  9. 为什么深度神经网络难以训练Why are deep neural networks hard to train?

    Imagine you're an engineer who has been asked to design a computer from scratch. One day you're work ...

随机推荐

  1. linux中bashrc与profile的区别

    bashrc与profile的区别 要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell. ...

  2. java.lang.StackOverflowError 解决方法

    ♦ java.lang.StackOverflowError : 由于深度递归,抛出此错误以指示应用程序的堆栈已耗尽. 在递归中,一个方法在执行期间调用自己.递归被认为是一种强大的通用编程技术,但必须 ...

  3. 迁移学习(Transfer Learning)

    原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...

  4. $Django 模板层(模板导入,继承)、 单表*详(增删改查,基于双下划线的查询)、static之静态文件配置

    0在python脚本中使用django环境 import osif __name__ == '__main__':    os.environ.setdefault("DJANGO_SETT ...

  5. 从MySQL中导入数据到MongoDB中

    从sql中导出需要的数据为csv格式的数据 select field1,field2,...,fieldn from TABLE into outfile '/test.csv' fields ter ...

  6. ASP.NET如何下载大文件

    关于此代码的几点说明: 1. 将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据. 2. 根据下载的文件类型来指定 Response.ContentType .(参考OSChina的 ...

  7. SQL Server循环

    1.普通循环 DECLARE @i int BEGIN WHERE Uid=@i --PRINT @i END 2.游标循环(没有事务) ---游标循环(没有事务) BEGIN DECLARE @a ...

  8. VUE 数据请求和响应(axios)

    1. 概述 1.1 简介 axios是一个基于Promise(本机支持ES6 Promise实现) 的HTTP库,用于浏览器和 nodejs 的 HTTP 客户端.具有以下特征: 从浏览器中创建 XM ...

  9. Python 队列

    import multiprocessing import time if __name__ == '__main__': # 创建消息队列 # 3: 表示消息队列最大个数 queue = multi ...

  10. 一切皆Socket

    “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. socket()函数介绍 socket函数介绍 函数原型 domai ...