Skip to main content

Unit 1 — Reading Arguments as Networks of Claims

Reconstructing omitted steps and testing the limits of knowledge

A practical unit on reading claims, assumptions, proofs, and empirical evidence as distinct, traceable components.

1 Learning outcomes

After completing this unit, you will be able to:

  1. distinguish definitions, assumptions, claims, illustrations, and conclusions in mathematical writing;
  2. turn phrases such as clearly or follows by an exchange argument into explicit proof obligations;
  3. reconstruct omitted steps without unjustifiably strengthening the claim;
  4. test the role of assumptions using examples and counterexamples;
  5. use computation as diagnostic empirical evidence, not as a substitute for proof; and
  6. record sources, interpretive decisions, and uncertainty in an auditable reading memo.
NotePrerequisites

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 G=(V,E)G=(V,E) be a finite connected graph, and let w:Ew:E\to\mathbb{R} assign a distinct weight to each edge. The minimum spanning tree of GG 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 TT is w(T)=eE(T)w(e).w(T)=\sum_{e\in E(T)}w(e).
  • 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 G=(V,E)G=(V,E) be a finite connected graph. If every pair of distinct edges has distinct weights, then GG has exactly one minimum spanning tree.

Proof 1. Because GG 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, TT and TT'. The symmetric difference E(T)E(T)E(T)\mathbin{\triangle}E(T') is nonempty. Choose the edge ee of smallest weight among all edges in that symmetric difference. After interchanging the names TT and TT' if necessary, assume eE(T)\E(T)e\in E(T)\setminus E(T').

Add ee to TT'. The endpoints of ee were previously connected by exactly one path in TT', so adding ee creates exactly one cycle CC.

The cycle CC contains an edge fE(T)\E(T)f\in E(T')\setminus E(T). If every edge of C\{e}C\setminus\{e\} were also in TT, those edges together with ee would form a cycle in TT. This is impossible because TT is a tree.

The edge ff lies in the symmetric difference. Because ee was chosen as the edge of smallest weight in the entire symmetric difference, and all weights are distinct, w(e)<w(f)w(e)<w(f).

Remove ff from the cycle and retain ee. The graph T=Tf+eT''=T'-f+e still contains every vertex, is connected, and has no cycles; therefore, TT'' is a spanning tree. However, w(T)=w(T)w(f)+w(e)<w(T),w(T'')=w(T')-w(f)+w(e)<w(T'), contradicting the minimality of TT'. Thus, two distinct minimum spanning trees cannot exist. The minimum spanning tree is unique.

The key step is not the final algebra, but finding ff and proving fTf\notin T. 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.

TipExample: repeated weights but a unique solution

In a triangle with edge weights 1,1,21,1,2, the tree using both edges of weight 11 is the only minimum spanning tree.

WarningCounterexample to unconditional uniqueness

In a triangle whose three edges all have weight 11, every choice of two edges produces a spanning tree of weight 22. 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 6!=7206!=720 assignments of distinct weights 1,,61,\ldots,6 to the six edges of K4K_4. 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.

ImportantLimits of inference

“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 CC contains an edge fE(T)\E(T)f\in E(T')\setminus E(T).

Answer in order:

  1. Why does CC arise after ee is added to TT'?
  2. What would follow if every edge of C\{e}C\setminus\{e\} were in TT?
  3. Which property of a tree would be violated?
  4. Why does ff lie in the symmetric difference?
  5. Why do we obtain w(e)<w(f)w(e)<w(f), rather than merely w(e)w(f)w(e)\leq w(f)?
NoteDiscussion

In a tree, there is exactly one path between two vertices. The new edge ee closes that path into a cycle. If the entire path were also in TT, the path together with ee would form a cycle in TT. Because fTf\in T' but fTf\notin T, that edge lies in the symmetric difference. The inequality is strict because all edge weights are distinct.

8 Exercises

  1. O017-U01-X01. Mark D, A, K, J, and T in the synthetic excerpt.
  2. O017-U01-X02. Rewrite the argument by choosing the lightest edge only in T\TT\setminus T'. Determine whether the argument remains valid.
  3. O017-U01-X03. Give a graph whose weights are not all distinct but which has a unique minimum spanning tree.
  4. O017-U01-X04. Give an example showing that removing the connectedness assumption makes the original statement inapplicable.
  5. O017-U01-X05. A reader writes, “The program checked every assignment of distinct weights to K4K_4, so the theorem is proved.” Identify the two epistemic errors.
  6. 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

  1. 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.
  2. O017-U01-H02. It is not necessarily valid: the lightest edge in T\TT\setminus T' need not be lighter than fT\Tf\in T'\setminus T. Taking the minimum over the entire symmetric difference supplies the comparison needed.
  3. O017-U01-H03. Use a triangle with weights 1,1,21,1,2.
  4. O017-U01-H04. Two vertices with no edge between them are enough; that graph has no spanning tree.
  5. O017-U01-H05. The check covers only one graph and finitely many cases; its output also depends on the implementation.
  6. 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.

References

Irving, Damien, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, and Greg Wilson. 2021. Research Software Engineering with Python: Building Software That Makes Research Possible. Chapman & Hall/CRC Press. https://third-bit.com/py-rse/.
Kruskal, Joseph B. 1956. “On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem.” Proceedings of the American Mathematical Society 7 (1): 48–50. https://doi.org/10.1090/S0002-9939-1956-0078686-7.
The Turing Way Community. 2025. The Turing Way Handbook for Reproducible, Ethical and Collaborative Research. Version 1.2.3. https://doi.org/10.5281/zenodo.3233853.