Two Hours in the Library: Proof Strategies and Temporary Variables

Distinguishing direct proof, contradiction, and contraposition in Understanding Analysis, then reviewing temporary variables in Python.

阅读中文版 →

I spent about two hours in the library this morning. In Understanding Analysis, I continued the discussion of logic and proofs, focusing on direct proof, indirect proof, and proof by contraposition. In Python, I studied the use of temporary variables. University commitments took up much of the afternoon, so this entry is a way of putting the morning's ideas in order.

A laptop, mathematics textbook, keyboard, and handwritten annotations on a library desk
The morning's setup: a Python lesson on the laptop and Understanding Analysis within reach.

From a true statement to an argument for it

The discussion begins with a requirement that is easy to underestimate: every step in a proof must follow from earlier steps or established facts, and the steps must fit together into a coherent argument. At this stage, my main difficulty is identifying the hypothesis and conclusion clearly enough to know where to begin.

A direct proof starts from the hypothesis and works toward the conclusion. What information am I allowed to use? What follows from it? Does the resulting statement say exactly what I was asked to prove?

I considered proof by contradiction as one indirect approach. For an implication “if P, then Q,” one assumes P and the negation of Q, then derives a contradiction with the assumptions or another established fact.

Proof by contraposition instead establishes “if not Q, then not P.” This is logically equivalent to the original implication. Both methods can begin by considering a failed conclusion, but they organize the argument differently: a contradiction proof aims at an impossibility, while a contrapositive proof explicitly derives the negation of the original hypothesis.

I am beginning to distinguish these approaches. Choosing a natural one without being prompted will take more practice.

What “for every ε” allows us to do

Theorem 1.2.6 states that two real numbers a and b are equal if and only if, for every real ε > 0, we have |a − b| < ε.

“If and only if” requires two directions. If a = b, then |a − b| = 0, which is less than every positive ε.

For the converse, assume |a − b| < ε for every ε > 0. Suppose, for a contradiction, that a ≠ b. Then |a − b| is positive, so we may choose

ε₀ = |a − b|.

The hypothesis applies to every positive ε, including ε₀. It would therefore give |a − b| < |a − b|, an impossibility. Hence a = b.

The important detail for me is that “for every” is doing real work. It permits us to select the particular ε that exposes the contradiction. The scope of a quantifier determines what moves are available in the proof.

Annotations beside the discussion of proof methods and Theorem 1.2.6 in Understanding Analysis
Notes on the hypothesis, conclusion, “if and only if,” and the two directions of the theorem.

Learning the vocabulary inside the proof

I used Kimi to help clarify the distinctions between these proof methods and continued updating my mathematics glossary. I also revisited terms such as proposition, forward direction, converse statement, and contradiction.

A Chinese translation of a word is only a starting point. In an actual argument, the hypothesis tells me what is available to use, while the conclusion names what remains to be established. The forward and converse directions identify separate obligations in an equivalence. Returning words to their place in the proof helps me understand them more reliably than memorizing isolated pairs of translations.

I also wrote down a more deliberate approach to English listening: listen once, check a transcript, choose a few unfamiliar words, listen again, repeat selected passages aloud, and summarize the content in my own words. Casual listening during a walk can still be useful, but it is a different activity. Today I clarified the method; I did not complete an entire practice session.

A screen showing notes on focused English listening practice
A listening routine to try: check what I heard, revisit difficult passages, and finish by explaining the content myself.

Python: keeping an intermediate value

A temporary variable stores a value so that later steps can still use it. It can also make a process easier to read and inspect by separating it into smaller operations.

For example, when swapping two values, a temporary variable preserves the original value of a before it is overwritten:

a = 1
b = 2

temporary = a
a = b
b = temporary

Here, temporary holds the value needed for the final assignment. My current understanding comes from following the lesson's examples. I still need to write variations and track the values at each step, rather than just remember the three assignments.

A short session, with specific work left to do

This morning gave me an initial distinction between several proof strategies, a theorem to reconstruct, a programming concept to revisit, and additions to the glossary. None of these is a finished skill yet.

Next, I want to write both directions of Theorem 1.2.6 without looking at the text and try another temporary-variable example of my own. That should give me a better check on what stayed with me.

It is 11:10 p.m. on August 30 as I finish this entry. Enough for today. Good night.

Comments

0 comments