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.

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.

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.

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