Unit 3 — Reconstructing Abbreviated or Omitted Proofs
From a detected gap to a minimal, auditable argument
1 Learning outcomes
This unit has the stable identifier O017-U03. After completing it, you will be able to:
- freeze the claim to be reconstructed without silently adding or removing hypotheses;
- expand the quantifiers, domains, and definitions that determine the form of the proof target;
- turn an abbreviated passage of a proof into a list of obligations with clear inputs and outputs;
- draw a dependency graph connecting the target, lemmas, definitions, and hypotheses;
- retrieve a lemma by its mathematical contract, then check every one of its hypotheses in the context you are reading;
- bring forward planning from the hypotheses together with backward planning from the conclusion;
- write a minimally sufficient reconstruction—complete enough to audit, without turning a single step into a new textbook; and
- distinguish gaps that have been closed, gaps conditional on a reference, and gaps that remain unresolved.
Unit 1 introduced reconstruction by separating an argument into definitions, assumptions, claims, justifications, and open tasks. Unit 2 taught how to identify the source and version being read. Unit 3 develops that practice systematically: types and quantifiers are frozen, obligations are organized into a dependency graph, lemmas are retrieved through their contracts, and details are tested through a minimality audit. The D–A–K–J–T labels and the minimum spanning tree case from Unit 1 are not taught again here.
Readers are assumed to know functions, sets, preimages, topological spaces, continuity, and the definition of compactness through open covers. All case excerpts are synthetic material created for this unit.
2 The reconstruction problem: not guessing the author’s intention
Consider the following synthetic excerpt.
Let be compact and continuous. Every open cover of pulls back to an open cover of . Take a finite subcover; its image gives a finite subcover of . Hence is compact.
The excerpt points toward a correct theorem, but several of its verbs hide work:
- what an “open cover of ” means, and in which space each set is open;
- why the preimages are open;
- why the preimages cover , rather than necessarily covering all of ;
- which finite set of indices compactness produces;
- why the original sets with the same indices cover ; and
- what “its image” means, given that the equation does not hold for a general function.
Reconstruction is not an attempt to write a proof that might roughly have been intended. It is the construction of an argument in which every addition can answer two questions: why is this step needed, and what warrants its use? If the second answer is not yet available, the step remains recorded as a gap; it must not be conjured into a new hypothesis.
3 A seven-stage protocol
Use the following protocol whenever a source skips a line or a whole page of proof. The output of each stage becomes the input to the next.
3.1 Stage 1 — Freeze the claim and context
Copy or faithfully paraphrase:
- the target claim;
- every applicable hypothesis, including those stated at the start of the section;
- local definitions and notational conventions;
- locators for the beginning and end of the gap; and
- the version of the source being checked.
Separate the visible text from the reader’s interpretation. For example, if the page says “ is compact” but does not say “ is nonempty”, do not add nonemptiness just because the proof you have in mind wants to choose a point in .
3.2 Stage 2 — Expand the target’s quantifiers, domains, and definitions
Write down the type of every object and expand the definition of the conclusion first. This reveals the form of the witness that must be constructed. To prove compactness, for example, saying “take a cover” is not enough. The reader must take an arbitrary open cover and produce a finite index set that still covers the correct object.
This audit also checks for shifts of domain. If and , then ; the expression is not even well-typed unless . Many abbreviated proofs fail not because their central idea is wrong, but because an object moves between spaces without justification.
3.3 Stage 3 — State the proof obligations
Replace words such as clearly, similarly, pull back, or the result follows with a numbered list. A good obligation has:
- inputs that are already available;
- an output needed by the next step; and
- a checkable completion criterion.
“Explain preimages” is too vague. “For every , prove that is open in ” has a definite output.
3.4 Stage 4 — Construct a dependency graph
Create a node for the target, each obligation, each active hypothesis, and each lemma that might be used. Draw arrows from inputs to the conclusion that depends on them. The graph prevents two mistakes:
- using a conclusion before its supporting nodes have been closed; and
- proving an interesting result with no path to the target.
Leaf nodes must be hypotheses, definitions, already-proved results, or retrievable references. “A well-known theorem” is not an auditable leaf node.
3.5 Stage 5 — Retrieve lemmas through their contracts
Do not start with a lemma’s name alone. Write down the contract you need:
inputs + hypotheses ──> output
Then match candidate lemmas against that contract, word by word. Record the exact statement, domain, all hypotheses, and its locator. Make an instantiation table explaining which object in the current case corresponds to each object in the lemma. A lemma has not been “retrieved” if you have found its name but have not checked one of its hypotheses.
If a small result can be proved directly in one or two lines, a local proof is often more auditable than a vague reference. If the result is substantive, use a precise reference; do not copy its conclusion while dropping its conditions.
3.6 Stage 6 — Plan backward and forward
Backward planning asks: for the conclusion to hold, what object or property must be available immediately beforehand? Forward planning asks: what follows directly from the hypotheses and definitions? A reconstruction is usually found where these two directions meet.
A plan is not a proof. The arrow “compactness of finite index set” is valid only after its input family has been shown to be an open cover of .
3.7 Stage 7 — Write a minimally sufficient reconstruction and audit what remains
Write the proof in a natural reading order. Then perform two tests.
- Deletion test: if a sentence is removed, does an important arrow in the graph lose its justification? If not, the sentence may be unnecessary.
- Gap test: does every remaining arrow lead back to a definition, hypothesis, local proof, or lemma with a matching contract?
Record each gap’s status as closed, conditional, unconfirmed, or rejected. “Minimal” does not mean as short as possible. It means that no essential obligation is hidden and no additional theory is brought in without a purpose.
4 A reconstruction worksheet
The following single sheet is usually enough to contain the entire process.
| Field | Auditable content |
|---|---|
| Frozen claim | the statement, hypotheses, and context that are actually available |
| Object dictionary | symbols, domains, and inclusion or mapping relationships |
| Target form | the definition of the conclusion with explicit quantifiers |
| Obligations | a list of small outputs to construct |
| Graph | dependency arrows and leaf nodes |
| Lemma contracts | inputs, hypotheses, outputs, locators, instantiations |
| Two-way plan | forward path, backward path, and meeting point |
| Reconstruction | a sequential proof that closes the graph |
| Gap register | status, basis for that status, and action still needed |
| Claim boundary | what is deliberately not concluded |
This sheet is a logical working record, not the full provenance logbook that is the focus of Unit 4. Nevertheless, a lemma retrieved from a source still needs enough version identity and locator information to be checked.
5 Worked case: the continuous image of a compact set
We now apply all seven stages to the opening excerpt. This case deliberately uses the open-cover definition, rather than sequential criteria, Heine–Borel, or the extreme value theorem. Every shift of quantifier and domain is therefore visible.
5.1 Freezing the statement
Theorem 1 Let and be topological spaces, let be compact, and let be continuous. Then the image
is compact in .
This frozen statement does not assume that is nonempty, that is injective, that is surjective onto , or that is Hausdorff. A reconstruction using any of these four properties would strengthen the source’s hypotheses without justification.
In this unit, “ is compact in ” means: for every family of sets open in satisfying , there is a finite such that . This definition is equivalent to compactness of in the subspace topology, but that equivalence is not needed in this reconstruction.
5.2 Auditing quantifiers and domains
The conclusion “ is compact in ” expands to:
The object dictionary is as follows.
| Symbol | Domain or type | Role |
|---|---|---|
| an element of , later restricted to | witness on the domain side | |
| an element of , later restricted to | element to be covered | |
| an element of an arbitrary index set | identifies a member of the cover | |
| an open set in | member of the original cover | |
| a subset of | candidate member of the pullback cover | |
| a finite subset of | witness for a finite subcover |
The quantifier order matters. The family is first chosen arbitrarily; only then may depend on that family. Choosing one before the cover is known would prove a much stronger and usually false statement.
5.3 List of obligations
The abbreviated excerpt yields five obligations.
- P1 — Openness. For every , prove that is open in .
- P2 — Backward covering. Prove that .
- P3 — Applying compactness. From P1 and P2, produce a finite with .
- P4 — Forward covering. Using the same index set , prove that .
- P5 — Closing the quantifiers. Since the original cover was arbitrary, conclude that every open cover of has a finite subcover.
P1 and P2 are different: a family can consist of open sets without covering , or cover without consisting of open sets. Compactness can be used only after both properties are available.
5.4 Dependency graph
Read the following graph from left to right. Square brackets indicate nodes that must have an independent justification.
[D1: U_i := f^{-1}[V_i]]
[V_i open in Y] + [f continuous] + D1
└─> P1: U_i open in X ─────────────────────────────────┐
│
[V_i cover f[K]] + [definition of f[K]] + │
[D2: x ∈ U_i ⇔ f(x) ∈ V_i] + D1 │
└─> P2: the family U_i covers K ───────────────────────┤
v
[K compact] + P1 + P2 ──> P3: there is a finite F ⊆ I │
v
P3 + [definition of f[K]] + D1 + D2 │
└─> P4: the family V_i, i ∈ F, covers f[K] │
│
[arbitrary original cover] + P4 ──> P5: f[K] compact <──────┘
The graph also shows what is not needed: boundedness of , closedness of , the Hausdorff property of , or existence of a maximum. None has a necessary path to P5.
5.5 Contracts for the results actually needed
This reconstruction requires one definitional clause and two microlemmas. No major theorem needs to be retrieved.
| Working ID | Contract | Basis and how to close it |
|---|---|---|
| C1 | continuous + open in open in | a clause in the definition of continuity |
| L1 | prove elementwise by taking | |
| L2 | prove elementwise by taking and a witness |
For C1, the instantiation is for every . L1 and L2 require neither injectivity nor surjectivity. Both are deliberately proved locally below, because their elementwise proofs are shorter and clearer than an unlocated reference to “properties of images and preimages”.
The identity
can replace the elementwise proof of L1, but it is not mandatory. If that identity is retrieved as a lemma, its contract and the domain must still be checked.
5.6 Two-way planning
The backward plan starts from the target:
f[K] compact
< need: every open cover of f[K] has a finite subcover
< need: a finite F that still covers f[K]
< candidate producer of F: compactness of K
< need: an open cover of K with the same index set I
The forward plan starts from the data:
V_i open + f continuous
> f^{-1}[V_i] open
V_i cover f[K] + x ∈ K
> f(x) ∈ some V_i
> x ∈ some f^{-1}[V_i]
> the preimage family covers K
open cover of K + K compact
> there is a finite F
The meeting point of the two plans is the sentence: “the family is an open cover of .” After that point, compactness produces ; L2 carries back to the target.
5.7 Complete reconstruction
Proof 1. Take an index set and an arbitrary family of open sets in that covers :
For each , set . Since is continuous and is open in , the set is open in .
The family covers . Indeed, if , then . Since covers , there is an such that . By the definition of preimage, .
Compactness of now applies to this open cover. Thus there is a finite such that
The family covers . To see this, take . By the definition of image, there is an with . Since the family indexed by covers , there is an such that . Hence .
We have therefore obtained a finite subcover from every arbitrary open cover of . Thus is compact in .
The proof remains valid when . In the final elementwise paragraph, “take ” occurs inside the proof of a universally quantified implication; there is no to choose if is empty. We do not need to add a nonemptiness hypothesis.
5.8 Why this reconstruction is minimal but sufficient
| Part | Arrow closed | Consequence of deleting it |
|---|---|---|
| the original cover is chosen arbitrarily | opens the quantifier in the definition of compactness | the proof handles only one particular cover |
| continuity gives openness of the preimages | P1 | compactness of is applied to a family not yet shown to be open |
| the argument with | P2/L1 | the preimages have not been shown to cover |
| the application of compactness | P3 | there is no finite witness |
| the argument with | P4/L2 | the same indices have not been shown to cover the image |
| closing “every cover” | P5 | the compactness conclusion does not yet follow explicitly |
Conversely, the proof need not prove the Heine–Borel theorem, replace covers with sequences, or show that is closed. Adding all of that lengthens the text without closing a new arrow in the graph.
6 Invalid shortcuts
6.1 A cover of the image is not a cover of the entire codomain or domain
From it does not follow that . Consequently, it does not follow that the preimages cover all of either.
Take , , and let be the identity function. The single set covers , but does not cover and does not cover . The proof needs only the preimages to cover ; demanding a cover of would create a spurious obligation.
6.2 The image of a preimage does not always recover the original set
For a general function, the correct identity is
not . If is given by and , then .
In the main reconstruction, we do not need to equate the two sets. We only use the implication for a witness . This is why the abbreviated phrase “its image gives a subcover” needs to be replaced by the elementwise argument L2.
6.3 Openness does not transfer without checking the space
If is open in , continuity makes open in ; it does not say that is open in . If the available function is only , its preimages are open in the subspace , not automatically in . That version of the theorem can still be proved using the definition of subspace compactness, but its contract and domains are different. The reconstruction must follow the version the source actually states.
7 Testing hypotheses with counterexamples
A counterexample does not replace a reconstruction. It tests whether a hypothesis used in the graph really performs the work claimed for it.
7.1 Without compactness of the domain
The inclusion map
is continuous, but its image is not compact. The family
covers . The empty subfamily clearly does not cover . Every nonempty finite subfamily is contained in a single for the largest chosen index , and therefore misses, for example, . Hence there is no finite subcover. This example breaks the arrow from P1+P2 to P3: without compactness, the open cover does not produce .
7.2 Without continuity
Take
The set is compact by the open-cover definition. For any cover, choose a member containing . Because that member is open, it contains for all sufficiently large ; only finitely many points remain, and one member of the original cover can be chosen for each remaining point.
Define by and . This function is not continuous at : the preimage is not open in , because every neighborhood of in contains for all sufficiently large . Moreover,
is not compact. The family , , covers , but every finite subfamily misses all sufficiently large integers. Here the failure of continuity breaks P1: preimages of cover members are not guaranteed to be open.
These two examples also prevent a reconstruction from silently discarding a hypothesis merely because the abbreviated proof no longer mentions it.
8 Retrieving lemmas and rejecting hidden hypotheses
A result’s name is often broader than its actual contract. Suppose that, after the main theorem, a source adds:
Since is compact, is closed in .
The candidate result readers commonly recall has the contract:
This contract can be proved locally. If , the conclusion is immediate. If , take . For every , the Hausdorff property gives disjoint open sets and with and . The family covers ; since is compact, there are such that . The set is open, contains , and is disjoint from , so . Thus every point in has a neighborhood contained in ; the complement of is open and is closed.
Its instantiation table must take the following form.
| Lemma variable | Instantiation | Hypothesis status |
|---|---|---|
| ambient space | in the main theorem | available as a topological space |
| Hausdorff | no counterpart in the frozen statement | not yet available |
| set | available | |
| compact | result of the main reconstruction | available |
| conclusion closed | closed in | additional target |
The contract does not match because the Hausdorff condition is unavailable. This is not merely formal caution; the additional conclusion is genuinely false in general.
Take the Sierpiński space with topology . Let have the one-point topology, and let be given by . The set is compact. The function is continuous because the preimages of the three open sets in are each either or , which are open in . Its image is also compact, but it is not closed in , because its complement is not open.
If an earlier page of the source might stipulate that all spaces are Hausdorff, an honest note is not “Hausdorff is surely assumed”, but:
| Gap ID | Claim | Status | Basis | Action |
|---|---|---|---|---|
| G-H | Hausdorff holds in the context | unconfirmed | absent from the frozen excerpt | check the context and source version |
| G-C | closed in | rejected as a standalone claim; conditional on G-H | lemma contract and Sierpiński example | add the condition only if supported by the source |
Lemma retrieval has three possible outcomes:
- all hypotheses match, so the node can be closed;
- a hypothesis cannot yet be found, so the node remains open; or
- a hypothesis contradicts the context or there is a counterexample, so that path is rejected.
Only the first outcome warrants proceeding as though the lemma has been applied.
9 Choosing minimally sufficient detail
The level of detail depends on what is already available to the intended reader, not on the reconstruction writer’s preferences. Use the following decision sequence.
- If a step is definitional but shifts a quantifier or domain, write its instantiation. In the main case, C1 needs to be stated because it produces openness in the correct space.
- If a step is a microlemma forming a principal bridge, prove it elementwise. L1 and L2 each require just one witness.
- If a substantive lemma is already available in the same source, cite the result’s number and check its hypotheses; do not copy its entire proof.
- If a substantive lemma is not yet available, retrieve a traceable source or mark the gap. Do not fill the absence with a theorem name without a contract.
- If a paragraph supports no path in the graph, move it to a supplementary note or remove it from the core reconstruction.
A minimal reconstruction also preserves the exact strength of the source’s claim. The main theorem proves compactness of ; it does not prove that is closed, bounded, or has a maximum point in every codomain. Those conclusions require additional structure and lemmas.
Stop when every path to the frozen claim has been closed and every other gap has a status. Do not expand the work to prove every neighboring result. Conversely, do not declare completion merely because the central idea looks right if an arrow involving a domain, quantifier, or hypothesis still lacks justification.
10 A short audit exercise
A reader offers the following reconstruction of the main excerpt:
Take a cover of . Since is continuous, every is open in . These sets cover . Compactness of gives finitely many indices, so we are done.
A type audit immediately finds three defects before we assess the central idea.
- , whereas the domain of is ; is not well-typed in general. The required object is .
- The preimage family must be proved to cover , not simply declared to do so.
- The compactness hypothesis belongs to , not .
After these repairs, a step carrying the finite subcover back to is still needed. Finding the first three errors does not, by itself, close P4.
11 Exercises
- O017-U03-X01 — Quantifier audit. Write the quantified form of “ is compact” and explain why the finite index set may depend on the cover , but not conversely.
- O017-U03-X02 — Dependency graph. Without looking at the worked-case graph, construct a minimal graph from an open cover of to the compactness conclusion. Mark what is closed by definitions, continuity, compactness, L1, and L2.
- O017-U03-X03 — A false shortcut. Give a concrete example refuting . State the correct identity and explain why the main proof requires only one direction of implication.
- O017-U03-X04 — Testing hypotheses. Construct or explain one example with a noncompact domain and another with a discontinuous function for which the image is not compact. Connect each failure to a node in the graph.
- O017-U03-X05 — Lemma contract. Audit the sentence “ is compact, so is closed in .” Write the required lemma contract, the missing hypothesis, and an honest gap status when the earlier context cannot yet be checked.
- O017-U03-X06 — Minimal repair. Repair the excerpt in the Short audit exercise section. Make a three-column table containing the faulty fragment, the type of defect, and a minimal replacement; then add the originally missing P4 step.
12 Hints and answer guidance
- O017-U03-H01. The order is: for every and every open family covering , there is a finite that still covers . Since is a witness for the chosen cover, it comes after the family quantifier.
- O017-U03-H02. The minimal path is the original cover open preimages (continuity) and preimages covering (L1) finite indices (compactness of ) the same indices covering (L2) the definition of compactness.
- O017-U03-H03. Use the constant function , , and . The correct identity is . P4 uses only .
- O017-U03-H04. The inclusion breaks the step from an open cover to a finite subcover. The function , on breaks the step guaranteeing openness of the preimages.
- O017-U03-H05. The valid contract requires to be Hausdorff and to be compact. Without a basis for being Hausdorff, the application is
unconfirmed; as a standalone claim it is refuted by the Sierpiński example. Do not add Hausdorff to the frozen statement. - O017-U03-H06. Replace with , prove that the family covers , and apply compactness of , not . For P4, take , choose with , then use membership of in one of the finitely indexed preimages.
13 Unit completion task
Reconstruct the following synthetic excerpt as a proof dossier.
If is compact and is closed in , then is compact. Indeed, add the complement of to a cover of , apply compactness of , then discard the complement.
Use the convention that is a compact topological space, is closed, and compactness of is tested with families of sets open in and covering .
The dossier must contain:
- the frozen claim, quantifier order, and a domain dictionary for , , the family , the complement , and the finite index set;
- a list of obligations replacing “add”, “apply”, and “discard”;
- a dependency graph whose leaf nodes all have a justification;
- the contract and instantiation of the clause “ is closed in if and only if is open in ”;
- backward and forward plans and their meeting point;
- a minimal proof that handles the possibility that the finite subcover of does not select ;
- a deletion test for at least four proof sentences;
- a gap register with final statuses; and
- one claim boundary: explain why this proof does not by itself show that is closed in an ambient space larger than .
13.1 Rubric
Score each criterion 0, 1, or 2.
| Criterion | 0 | 1 | 2 |
|---|---|---|---|
| Claim and domains | hypotheses or spaces change | some types or quantifiers remain implicit | all objects, quantifiers, and ambient-space topologies are correct |
| Obligations and graph | principal leaps remain hidden | a graph exists but has unjustified leaves | every abbreviated verb becomes an obligation and every path is closed |
| Lemma contract | the lemma is merely named | a contract exists but instantiation is incomplete | inputs, hypotheses, outputs, and instantiation are checked |
| Reconstruction | the argument does not produce a finite subcover of | the idea is correct with one unjustified transition | a complete elementwise proof handles both possibilities for selecting the complement |
| Minimal but sufficient | too abbreviated or introduces irrelevant theory | some sentences remain untested | the deletion test shows that every core detail has a purpose |
| Honesty about gaps and boundaries | gaps are hidden or the claim is strengthened | statuses or boundaries are named without a basis | all gaps have grounded statuses and the conclusion about the ambient space is correctly bounded |
A passing score is at least 10 out of 12, with a score of 2 for Reconstruction and Honesty about gaps and boundaries. Adding a hypothesis that is absent, using compactness before the family has been proved to be an open cover, or declaring a gap closed on the basis of a lemma’s name alone requires revision even if the total score is sufficient.
14 Boundary with B80 and other units
This unit teaches logical reconstruction, not computational skills. It does not teach Python syntax, SageMath, SymPy, NumPy/SciPy, package APIs, numerical methods, plotting, writing tests, notebooks, software environments, or the implementation differences between exact and floating-point numbers. All of those belong to B80.
Readers who already have B80 skills may use programs to search for examples or test conjectures during reconstruction. Their output remains diagnostic empirical evidence, not a substitute for a proof path in the graph. This unit also does not reteach version tracing from Unit 2, the full provenance logbook from Unit 4, or computational reproducibility from Unit 6. If lemma retrieval uncovers a source problem, record that need and pass it on to the appropriate unit.
15 Sources, provenance, and rights
The synthetic excerpts, seven-stage protocol, graph organization, contract tables, exposition, proof reconstructions, examples, counterexamples, exercises, answer guidance, completion task, and rubric in this unit are original O017 material by the O017 contributors, 2026, licensed under CC BY-SA 4.0.
The theorem that the continuous image of a compact set is compact and the theorem that a closed subset of a compact space is compact are classical results in topology. This unit does not claim their discovery and does not copy the wording of proofs from a particular source; the presentation through quantifier audits, lemma contracts, and dependency graphs was written specifically for O017. The Sierpiński space example is also a standard mathematical example, with wording and a pedagogical role original to this unit.
There are no excerpts or adaptations from The Turing Way or Research Software Engineering with Python in Unit 3. Those two frozen sources remain recorded in the O017 rights manifest for the units that actually adapt them, and remain subject to their respective licenses. The CC BY-SA 4.0 license above applies to this unit’s original material; it does not replace the rights in other sources that may later be cited or added.