Unit 1 — Reading Arguments as Networks of Claims
Reconstructing omitted steps and testing the limits of knowledge
1 Learning outcomes
After completing this unit, you will be able to:
- distinguish definitions, assumptions, claims, illustrations, and conclusions in mathematical writing;
- turn phrases such as clearly or follows by an exchange argument into explicit proof obligations;
- reconstruct omitted steps without unjustifiably strengthening the claim;
- test the role of assumptions using examples and counterexamples;
- use computation as diagnostic empirical evidence, not as a substitute for proof; and
- record sources, interpretive decisions, and uncertainty in an auditable reading memo.
This unit assumes that you are already familiar with finite graphs, paths, cycles, trees, proof by contradiction, and running a provided Python script. Python syntax and minimum spanning tree algorithms are not the subject of this unit.
2 Reading is more than moving from left to right
Mathematical research writing often compresses reasoning. Authors may omit steps they consider standard, use definitions from earlier sections, or state that a result “follows immediately” from a technique. Readers must determine not only what each sentence means, but also:
- exactly what is being claimed;
- under which assumptions the claim holds;
- which earlier results are actually used;
- which steps have not yet been proved; and
- what kind of support is provided for each conclusion.
Use the following five labels in your reading notes. The letter codes D/A/K/J/T are retained from the Indonesian edition so that the same labels identify the same roles across editions.
| Label | Role | Checking question |
|---|---|---|
| D | definition | Which object’s meaning is being specified? |
| A | assumption | Which conditions may be used? |
| K | claim | Which statement must be proved? |
| J | justification | What reason is actually given? |
| T | open task | Which proof obligation remains unfulfilled? |
These labels are not a mandatory convention. Their purpose is to make a text’s epistemic structure visible and open to inspection by others.
3 A synthetic excerpt
The following excerpt was written specifically for this unit; it is not a quotation or translation from another source.
Let be a finite connected graph, and let assign a distinct weight to each edge. The minimum spanning tree of is unique. This follows from the usual exchange argument.
Before trying to prove it, unpack the excerpt.
- D1. A spanning tree is a subgraph that contains every vertex, is connected, and has no cycles.
- D2. The weight of a spanning tree is
- D3. A minimum spanning tree is a spanning tree with the smallest possible weight.
- A1. The graph is finite.
- A2. The graph is connected.
- A3. All edge weights are distinct.
- K1. There is only one minimum spanning tree.
- J1. “The usual exchange argument.”
- T1. Explain which objects are exchanged.
- T2. Prove that the result of the exchange is still a spanning tree.
- T3. Prove that the exchange produces a smaller weight.
- T4. Explain where the contradiction arises.
The reading problem is now concrete: we must discharge T1–T4.
4 Reconstructing the proof
Theorem 1 Let be a finite connected graph. If every pair of distinct edges has distinct weights, then has exactly one minimum spanning tree.
Proof 1. Because is finite and connected, its set of spanning trees is finite and nonempty. Therefore, at least one minimum spanning tree exists.
Suppose that there are two distinct minimum spanning trees, and . The symmetric difference is nonempty. Choose the edge of smallest weight among all edges in that symmetric difference. After interchanging the names and if necessary, assume .
Add to . The endpoints of were previously connected by exactly one path in , so adding creates exactly one cycle .
The cycle contains an edge . If every edge of were also in , those edges together with would form a cycle in . This is impossible because is a tree.
The edge lies in the symmetric difference. Because was chosen as the edge of smallest weight in the entire symmetric difference, and all weights are distinct, .
Remove from the cycle and retain . The graph still contains every vertex, is connected, and has no cycles; therefore, is a spanning tree. However, contradicting the minimality of . Thus, two distinct minimum spanning trees cannot exist. The minimum spanning tree is unique.
The key step is not the final algebra, but finding and proving . That is the content hidden by the phrase “the usual exchange argument.”
5 Auditing the assumptions
The assumption that “all weights are distinct” is sufficient to guarantee uniqueness, but it is not necessary.
In a triangle with edge weights , the tree using both edges of weight is the only minimum spanning tree.
In a triangle whose three edges all have weight , every choice of two edges produces a spanning tree of weight . There are three minimum spanning trees.
Connectedness is not decorative either. A disconnected graph has no spanning tree under the definition above. For such a graph, the appropriate object is a minimum spanning forest—a different claim.
6 Experiments and proofs do different jobs
The script verify_mst_uniqueness.py checks all assignments of distinct weights to the six edges of . The script also counts the minimum spanning trees of an equal-weight triangle. It enumerates spanning trees directly and does not use an MST algorithm as a black box, so its check does not depend circularly on the argument under examination.
The expected output is:
k4_distinct_weight_assignments_checked: 720
k4_uniqueness_violations: 0
equal_weight_triangle_mst_count: 3
This experiment can find counterexamples, expose misread definitions, and produce concrete examples to guide a proof. It does not prove the theorem: the check covers only one graph and finitely many cases, and still depends on the correctness of the implementation.
“The program found no violations” and “the theorem has been proved” are two different claims. A research memo must state the first without silently turning it into the second.
7 Guided practice
Read the following sentence again:
The cycle contains an edge .
Answer in order:
- Why does arise after is added to ?
- What would follow if every edge of were in ?
- Which property of a tree would be violated?
- Why does lie in the symmetric difference?
- Why do we obtain , rather than merely ?
In a tree, there is exactly one path between two vertices. The new edge closes that path into a cycle. If the entire path were also in , the path together with would form a cycle in . Because but , that edge lies in the symmetric difference. The inequality is strict because all edge weights are distinct.
8 Exercises
- O017-U01-X01. Mark D, A, K, J, and T in the synthetic excerpt.
- O017-U01-X02. Rewrite the argument by choosing the lightest edge only in . Determine whether the argument remains valid.
- O017-U01-X03. Give a graph whose weights are not all distinct but which has a unique minimum spanning tree.
- O017-U01-X04. Give an example showing that removing the connectedness assumption makes the original statement inapplicable.
- O017-U01-X05. A reader writes, “The program checked every assignment of distinct weights to , so the theorem is proved.” Identify the two epistemic errors.
- O017-U01-X06. Write a reading memo of at most 400 words containing the identity of the claim, definitions, one step that was initially omitted, the reconstruction result, one computational test, the limits of that test, and the sources cited.
9 Hints and answer guidance
- O017-U01-H01. A spanning tree and a tree’s weight are definitions; finiteness, connectedness, and distinct weights are assumptions; uniqueness is the claim; the exchange argument is an incomplete justification.
- O017-U01-H02. It is not necessarily valid: the lightest edge in need not be lighter than . Taking the minimum over the entire symmetric difference supplies the comparison needed.
- O017-U01-H03. Use a triangle with weights .
- O017-U01-H04. Two vertices with no edge between them are enough; that graph has no spanning tree.
- O017-U01-H05. The check covers only one graph and finitely many cases; its output also depends on the implementation.
- O017-U01-H06. The memo is assessed on the traceability of every claim, not on its length or writing style.
10 Unit completion task
Submit one reconstruction memo that satisfies Exercise 6, and attach the computational output. The memo passes if:
- the claim and assumptions are stated in full;
- all major proof obligations are discharged;
- the experiment is explicitly distinguished from the proof;
- one limitation or counterexample is analysed; and
- the origins of all text, data, and code can be traced.
11 Provenance and further reading
The synthetic excerpt, exposition, proof, exercises, answer guidance, and code are original O017 material. The uniqueness theorem for an MST with distinct edge weights is a classical result; this presentation does not copy the wording of any particular source. Kruskal’s article is a historical reference for the minimum spanning tree algorithm (Kruskal 1956), not a claim that the wording of the proof above comes from that article.
For broader practices of reproducibility and research-artifact engineering, see The Turing Way (The Turing Way Community 2025) and Research Software Engineering with Python (Irving et al. 2021). Modules adapted from those two works will enter only in subsequent units, after their file identities and component rights have been frozen.