# Do you ever use formal logic when working on proofs?

This question has the danger of being subjective but I nevertheless think people might learn from each other's answers.

Mathematics textbooks almost never write their proofs in formal logic, but in "mathematical natural language".

What I mean is, that there are two ways to prove a statment:

1. Using natural language: "take any $\epsilon$. Now define $\delta(\epsilon)$ such that ... Then clearly, for all ..."

2. Using formal logic with logical deductive rules: $\forall x\in X\exists\delta...$. Applying logic rule $X$ gives $\exists x ...$.

Of course there is a good reason for using natural language: it is more intuitive and therefore easier to follow and easier to come up with.

However I sometimes find that using formal logical rules can clarify my thinking and help me woth proofs. I find that when I get stuck using natural language, switching to thinking about the problem in formal logic can help, and vice versa.

So I'm wondering, do you ever use formal logic while you're working to come up with a proof? Why, why not? What role does it play in your process of coming up with proofs?

Note: I'm only a relative beginner at proving theorems, since I have much more experience with applied math.

• a mix of both depending the faster and easy to follow I can write the proof. To me "formal logic" is very hard to use in any mathematical proof, we generally use a lot of shortcut because the context let them work. By example: in formal "mathematical logic" there are only two logical connectives, but we use more than two understanding what the other logic connective means. – Masacroso Nov 28 '17 at 12:54

Basically never, it's both too slow and too hard to read. The point of learning formal logic isn't to use formal logic (unless you then go on to work in logic, where you will be writing proofs in natural language about logic), it's to train habits of thought and get you to clarify your thinking both to yourself and to others; a simple example is being able to instantly negate a universal quantifier to get an existential quantifier and vice versa (which everyone knows everyone else can do and hence which nobody will explicitly mention that they're doing). Once you've ingrained the relevant habits you don't need the formal logic anymore.

See also Terence Tao's description of the pre-rigorous, rigorous, and post-rigorous stages of learning math.

When I'm writing to a proof I use formal way. I do this because I find it easier to remember like this, using that way makes me think about how to write each step and thus makes me remember it better. Another advantage I think it has is that writing formally makes you read formally better which is great thing to know.

When I'm explaining something, giving hints, brainstorm etc. I prefer to use natural way, because I think that it gives you the advantages of understanding "why it is like it is" and not only the "how you get to that".

I mostly rely on what you call 'mathematical natural language', as it usually better 'fits' my conceptual ways to think about a problem, but there are definitely times when I work something out in formal logic to better grasp some of the details, e.g so I can see the difference between a $\forall x \exists y ...$ and a $\exists y \forall x ...$, for example.

Thus, as with most things like this, sometimes one representation is more helpful, and at other times a different representation is more helpful. Cognitively this makes sense: representations cue us to proceed in certain ways, and so different representations can cue us differently. So that's exactly why you sometimes get stuck using one representation, but 'see the light' when using the other one, and vice versa.

Recently, I wrote a paper, where almost all the proofs are in the level of formality which you refer as "2. Using formal logic...". However, the work is from foundations of mathematics, where formality is easier, but also necessary. I myself, prefer to read formal, precise statements than these in natural language; I just grasp the formal expressions faster. Also, many results come to me symbolically; I did not see them intuitively. Also, intuitive and habitual thinking may be sometimes very misleading. The difficulties connected to expressing complicated statements in a formal way can be overcome by sufficient number of formal definitions. Clearly, a text is easier to comprehend when such definitions have a "nice" intuitive interpretation.

I think all depends on the author: one people prefer to use intuitive, habitual thinking and natural language, other like to read formal statements and think symbolically. Hence, I think each mathematician should be allowed to work in his own style, and there is no "the only correct way".

• I think I'm a visual learner when the opportunity arrives. Yoneda's lemma in category theory is more obviously seen to me when you draw out the relevant diagrams. What better way to attract the mathematical bee than to deserialize a brick wall of text into a 3D flower of unique and eye-catching diagrams. – I Said Roll Up n Smoke Adjoint Aug 4 '18 at 22:54

If you are a type theorist, then doing so is part of the math itself, so in that case the answer is a resounding yes!

One theme of type theory is that it describes partly (but more deliberately than any other branch) how to mechanize a mathematician using a computer program.

So pretend this is 100 years into the future and someone has put Qiaochu Yuan's math personality into a computer. Well, if the computer works the way that type theory outlines that it should work, then internally, yes the computer is using directly these formal expressions, but what does the human see it doing? Well this is 100 years into the future, so surely someone has invented a human-readable interface to the logic engine's internals. A feature of this would be that it makes conceptual leaps syntactically at least, much like a human does.

So is the machine doing math in way 1 or way 2?

So now, imagine that the human being is abstractly the same thing as a computer when it comes to math. Then are they not doing internally the same thing? And if not, did they not once do each logical step internally, and memorize the result in such a way that it can be used in an intuitionistic way later? It would not be hard, 100 years from now, to make a machine do the same thing. As today, there are millions of biological machines already doing it.

• Well, humans would not really be doing the same thing. Most often the conceptual leaps humans make have not originally been verified by doing every logical step. And often when you try to so that, it turna out there is no way to do it because the conceptual leap is wrong. – user56834 Aug 5 '18 at 7:53