5.8  Unique Existence, Counting and Descriptions

Mathematics says “the limit”, “the maximum”, “the inverse”, and it defines new words all the time: “we define |x| to be …”, “call n even if …”. This section is about the logic behind both habits. It starts with “there is exactly one”, which licenses “the”. Then it counts with equality, turns “the x such that φ” into a name that may be used only after uniqueness is proved, and sets a function symbol beside its graph. Last, it shows why introducing a new symbol by a definition never proves anything new about the old ones. No new rule is needed: equality and the quantifiers do all the work.

5.8.1. Unique existence

Mathematics says “the limit of the sequence”, “the supremum of A”, “the additive inverse of a”. Each “the” makes two claims. There is such an object, and there is only one, so that the name picks it out. The second claim is the one that is easy to forget, and the one the claim at the start of Section 5.7 was about.

“There is exactly one x with φ”: there is one, and any other is it.

Definition 5.8.1 (Unique Existence)

Let φ be a formula, x a variable, and y a variable other than x that does not appear in φ (Section 5.2). Then ∃!xφabbreviates∃x(φ∧∀y(φ[y/x]→y=x)). We read ∃!xφ as “there is exactly one x such that φ”, or “there is a unique x with φ”.

In words: there is an x that satisfies φ, and every y that satisfies φ (that is, satisfies φ with y in place of x) is equal to that x. The first conjunct is existence. The second is uniqueness, and it is a statement about the x already found: any other candidate coincides with it. Like the bounded quantifiers of Definition 5.1.1, ∃! is not a new symbol of the language but shorthand, and every rule applies to the formula it abbreviates.

Well-definedness. The abbreviation does not depend on the choice of y, up to renaming a bound variable. The argument, in the fold below, rests on one fact about substitution that the proof of Proposition 5.8.1 uses again: if y does not appear in φ, then (φ[y/x])[t/y] is φ[t/x].

Second readingWell-definedness, proved

This is a structural induction on φ of the kind in Section 5.2. In a term, the y’s of s[y/x] are exactly the former x’s, so (s[y/x])[t/y]=s[t/x]; atomic formulas, ⊥ and the connectives follow clause by clause. For ∀xψ, both sides are ∀xψ, since substitution for x stops at ∀x and y does not appear in ψ (the second fact of Section 5.2). For ∀zψ with z not x, also z is not y, because y does not appear in φ; so both substitutions pass under the quantifier and the induction hypothesis applies, and ∃ is the same. Now let y and y′ be two admissible choices. If they are the same variable there is nothing to show. Otherwise y′ does not appear in φ[y/x]→y=x, since it is neither x nor y and does not appear in φ; so the bound y of ∀y(φ[y/x]→y=x) may be renamed y′, which gives ∀y′((φ[y/x])[y′/y]→y′=x). By the fact with t=y′, this is ∀y′(φ[y′/x]→y′=x), the formula written with y′.

Examples. Simplest first; each is read over the domain named, with the informal truth of Section 5.1.

  1. Over R, ∃!x(x+2=5) is true. Existence: 3+2=5. Uniqueness: if y+2=5, then subtracting 2 gives y=3, so y is the x already found.
  2. Over N, ∃!x(x⋅x=4) is true. Existence: 2⋅2=4. Uniqueness: for a natural number y, if y≤1 then y⋅y≤1, and if y≥3 then y⋅y≥9; so y⋅y=4 forces y=2.
  3. Over R, ∃!x∀y(x+y=y) is true: 0 is the unique additive identity. Existence: 0+y=y for every y. Uniqueness: suppose z+y=y for every y. Apply this to the one instance y=0 (by ∀E): z+0=0. Since also z+0=z, symmetry and transitivity give z=0. The whole uniqueness proof is the choice of the instance y=0.

Nonexample by minimal change. Keep example 2 and change the domain to Z. Existence still holds, with the same witness 2. Uniqueness fails: y=−2 also satisfies y⋅y=4, and −2≠2. So over Z, ∃!x(x⋅x=4) is false, and the failing clause is exactly the second conjunct.

Quick check. Is ∃!x(x<1) true over N? Over Z?

Solution. Over N, yes: 0<1, and every natural number below 1 is 0. Over Z, no: existence holds, and uniqueness fails, since 0 and −1 are both below 1.

Second readingWhy y must not appear, and a degenerate case

Why y must not appear in φ. The condition keeps the new quantifier ∀y from capturing anything of φ’s own. Take φ=(x≤y), in which y is free, and read over N with y naming 0. “There is exactly one natural number x with x≤0” is true: x=0. The formula written with the forbidden bound variable y is ∃x(x≤y∧∀y(y≤y→y=x)), because (x≤y)[y/x] is y≤y. Its second conjunct says that every natural number equals x, which is false. The free y of φ, which was to name 0, has been captured by ∀y. With an admissible variable, say z, the formula is ∃x(x≤y∧∀z(z≤y→z=x)), which is true.

Degenerate. For any constant c, ∃!x(x=c) holds in every domain, and it is derivable from no premises (the derivation follows). By contrast, ∃!x(x=x) says that the domain has exactly one element, which is false in N, Z and R: existence holds and uniqueness fails.

The derivation of ∃!x(x=c), with the abbreviation written out, shows that ∃! needs no rules of its own:

1c=c=I
2y0y0=casm, for →I
3y0=c→y0=c→I 2–2
4∀y(y=c→y=c)∀I 2–3
5c=c∧∀y(y=c→y=c)∧I 1, 4
6∃x(x=c∧∀y(y=c→y=x))∃I 5

Line 3 closes a box whose only line is its assumption: the box shows y0=c→y0=c, as P→P is shown in Chapter 1. Line 6 is ∃I with the witness c, and it reads line 5 as ψ[c/x] for ψ=(x=c∧∀y(y=c→y=x)), which marks with x the first c and the last one, and keeps the other two. The choice of which occurrences to mark is the one discussed with Definition 5.5.1.

Warning. Uniqueness is not existence. A uniqueness argument (“suppose y also satisfies φ; then y=x”) proves nothing about whether anything satisfies φ. Over R, every two solutions of x2=−1 are equal, vacuously, because there are none; yet no real number is “the” square root of −1. Conversely, an existence proof does not give uniqueness: x2=1 has the solution 1, and “the solution” would be wrong, since −1 is another. Before writing “the”, check both halves.

5.8.2. How uniqueness is used and proved

A proof of “exactly one” rarely follows the shape of Definition 5.8.1, which ties the uniqueness clause to the witness just found. It proves two separate statements: there is at least one, and there is at most one. The second is “any two objects with the property are equal”, and it makes no mention of a witness. The next result says that the two shapes say the same thing.

Proposition 5.8.1 (Two Halves of Unique Existence)

Let φ be a formula, x a variable, and y a variable other than x that does not appear in φ. Then ∃!xφ⊣⊢∃xφ∧∀x∀y(φ∧φ[y/x]→x=y).

The right-hand side is “existence and at most one”. Its second conjunct is what a mathematician proves under the heading “uniqueness”: take two objects x and y with the property, and show x=y.

Idea. Both directions are searches in the style of Section 3.1 with the quantifier steps. For ⊢, the premise is an ∃, so open its ∃E box first, with a witness x0: inside it, φ[x0/x] gives existence at once by ∃I, and “at most one” is a ∀∀ goal, which opens two flagged boxes u0, v0. Two objects u0, v0 with the property are each equal to the witness x0, by the uniqueness clause, and so equal to each other: the witness is the “third point” that links them. For ⊣, open the ∃E box on ∃xφ with a witness x0; the goal inside is ∃!xφ, whose witness will be x0 again, and the uniqueness clause for x0 comes from “at most one” applied to the pair x0, y0.

The two derivations that carry this out are in the fold below.

Second readingThe proof of the two halves

Proof. Choose four distinct variables x0, u0, v0, y0 that do not appear in φ, and none of which is x or y. Three facts about substitution are used throughout. First, since y does not appear in φ, (φ[y/x])[t/y] is φ[t/x] for every term t, the fact proved for the well-definedness of Definition 5.8.1. Second, φ[y/x] has no free x (every free x became y), so it is unchanged by a substitution for x. Third, for a term t that does not contain y, φ[t/x] contains no y, so it is unchanged by a substitution for y.

(⊢) The following is a derivation with premise ∃!xφ, written out.

1∃x(φ∧∀y(φ[y/x]→y=x))
2x0φ[x0/x]∧∀y(φ[y/x]→y=x0)asm, for ∃E
3φ[x0/x]∧E 2
4∀y(φ[y/x]→y=x0)∧E 2
5∃xφ∃I 3
6u0v0φ[u0/x]∧φ[v0/x]asm, for →I
7φ[u0/x]∧E 6
8φ[v0/x]∧E 6
9φ[u0/x]→u0=x0∀E 4
10u0=x0→E 9, 7
11φ[v0/x]→v0=x0∀E 4
12v0=x0→E 11, 8
13v0=v0=I
14x0=v0=E 12, 13
15u0=v0=E 14, 10
16φ[u0/x]∧φ[v0/x]→u0=v0→I 6–15
17∀y(φ[u0/x]∧φ[y/x]→u0=y)∀I 6–16
18∀x∀y(φ∧φ[y/x]→x=y)∀I 6–17
19∃xφ∧∀x∀y(φ∧φ[y/x]→x=y)∧I 5, 18
20∃xφ∧∀x∀y(φ∧φ[y/x]→x=y)∃E 1, 2–19

Lines 9 and 11 are ∀E on line 4 at u0 and at v0, by the first substitution fact; each term is a variable not bound in φ[y/x]→y=x0, so it is free for y there. Lines 13 and 14 are the symmetry of Proposition 5.7.1 (a), written out; line 15 is =E with the equation x0=v0 and ψ=(u0=z), which turns line 10 into u0=v0. Line 17 is ∀I with the flag v0: line 16 is its instance at v0 (by the third and first substitution facts), and v0 appears in no premise, in no assumption still open at line 17 (only line 2 is, and v0 is not in it), and not in line 17. Line 18 is ∀I with the flag u0 in the same way; its instance at u0 is line 17, by the second substitution fact. Finally, line 20 closes the ∃E box: its last line 19 does not contain x0, and x0 is in neither line 1 nor any open assumption.

(⊣) The following is a derivation with the right-hand side as premise.

1∃xφ∧∀x∀y(φ∧φ[y/x]→x=y)
2∃xφ∧E 1
3∀x∀y(φ∧φ[y/x]→x=y)∧E 1
4x0φ[x0/x]asm, for ∃E
5y0φ[y0/x]asm, for →I
6∀y(φ[x0/x]∧φ[y/x]→x0=y)∀E 3
7φ[x0/x]∧φ[y0/x]→x0=y0∀E 6
8φ[x0/x]∧φ[y0/x]∧I 4, 5
9x0=y0→E 7, 8
10x0=x0=I
11y0=x0=E 9, 10
12φ[y0/x]→y0=x0→I 5–11
13∀y(φ[y/x]→y=x0)∀I 5–12
14φ[x0/x]∧∀y(φ[y/x]→y=x0)∧I 4, 13
15∃x(φ∧∀y(φ[y/x]→y=x))∃I 14
16∃x(φ∧∀y(φ[y/x]→y=x))∃E 2, 4–15

Line 6 is ∀E at x0 on line 3, by the second substitution fact, and line 7 is ∀E at y0 on line 6, by the third and first. Lines 10 and 11 are symmetry, written out. Line 13 is ∀I with the flag y0: line 12 is its instance at y0, by the first substitution fact; at line 13 the open assumptions are line 4, which does not contain y0, the premise does not contain it either, and neither does line 13. Line 15 is ∃I with the witness x0, which is free for x since it does not appear in φ; line 14 is its instance at x0, by the second substitution fact. Line 16 closes the ∃E box: line 15 does not contain x0, and x0 is in neither line 2 nor the premise, which is the only assumption open outside the box. This proves both directions.

In practice this is how “there is exactly one” is proved: an existence proof, then a separate “suppose x and y both satisfy φ; then x=y”.

One more instance: “the maximum”. A maximum of a set A of reals is an element m∈A with a≤m for every a∈A. If m and m′ are both maxima, then m′≤m (apply the property of m to the element m′∈A) and m≤m′ (apply the property of m′ to m∈A), so m=m′ by the order fact that a≤b and b≤a give a=b. That is “at most one”; a set may have no maximum at all, such as (0,1), so existence is a separate question. Only when both halves are known may we write “the maximum of A”.

5.8.3. Counting with equality

“At least one” is ∃, and “at most one” is the second half of Proposition 5.8.1. Beyond one, counting needs the sign ≠.

Definition 5.8.2 (Counting with Equality)

Let φ be a formula, x a variable, and y, z two different variables, other than x, that do not appear in φ.

  • “At least two x satisfy φ” abbreviates ∃x∃y(x≠y∧φ∧φ[y/x]).
  • “At most one x satisfies φ” abbreviates ∀x∀y(φ∧φ[y/x]→x=y).
  • “At most two x satisfy φ” abbreviates ∀x∀y∀z(φ∧φ[y/x]∧φ[z/x]→x=y∨x=z∨y=z).
  • “Exactly two x satisfy φ” abbreviates the conjunction of “at least two” and “at most two”.

For a number n≥2, “at least n” uses n different variables x1,…,xn that do not appear in φ, and asks for all n(n−1)/2 inequalities xi≠xj together with φ at each; “at most n” says that among any n+1 objects satisfying φ, two are equal; “exactly n” is both.

In words: two letters count two objects only when the formula says that they differ, and “at most two” says that three letters satisfying φ cannot name three different objects. As with ∃!, these are abbreviations, not new symbols, and ∃! stays the only counting shorthand.

Example (Exactly Two Square Roots of One)

Over R, show that exactly two x satisfy x⋅x=1.

Solution. At least two: the witnesses 1 and −1: 1≠−1, 1⋅1=1 and (−1)⋅(−1)=1.

At most two: let u, v, w be real numbers with u⋅u=v⋅v=w⋅w=1. Each is 1 or −1, since y⋅y=1 gives (y−1)(y+1)=0. If u=v, the disjunction u=v∨u=w∨v=w holds. Otherwise one of u, v is 1 and the other −1, and w, being 1 or −1, equals one of them. Three letters, at most two objects: that is what “at most two” means.

Warning. Different letters, perhaps the same object. ∃x∃y(x⋅x=1∧y⋅y=1) is true over R with x and y both naming 1: it says no more than ∃x(x⋅x=1). Two letters count two objects only when the formula says x≠y. The same holds in derivations: two ∃E boxes with the names x0 and y0 may have named the same object, and nothing gives x0≠y0.

Quick check. Write “at least two primes are even” with Prime and Even, and decide it over N.

Solution. ∃x∃y(x≠y∧(Prime(x)∧Even(x))∧(Prime(y)∧Even(y))). It is false: an even prime is divisible by 2, so it is 2, and any two even primes are equal.

Only, except and the smallest are counting words too; the drill at the end of the section translates them.

5.8.4. The x such that φ

Once there is exactly one x with φ, mathematics names it: “the maximum of A”, “the additive inverse of a”, “2”. The name is then used like a constant, because the proof has earned it.

Definition 5.8.3 (Definite Description)

Let Γ be a list of formulas and φ a formula whose only free variable is x, and suppose Γ⊢∃!xφ. Introducing a name for the x such that φ means taking a constant c that appears neither in Γ nor in φ, and letting derivations from Γ use the defining line φ[c/x] as one more premise. The phrase “the x such that φ” names c.

In words, and why both halves are needed: existence is what makes the defining line safe, and the proposition at the end of this section shows that it proves nothing new about the old symbols. Uniqueness is what makes the word “the” honest. If c and c′ are both introduced for φ, then Γ,φ[c/x],φ[c′/x]⊢c=c′: take the “at most one” half of Proposition 5.8.1, instantiate it at c and at c′ (∀E twice, with the substitution facts used in the proof of Proposition 5.8.1), and fire it by ∧I and →E. So every proof that names the x such that φ names the same object.

Russell’s unpacking. A sentence about the x such that φ can be unpacked into one that names nothing. Write Max(A,m) for “m is a maximum of A”, that is, m∈A∧∀a∈A(a≤m) (the paragraph “One more instance” above). “The maximum of A is less than 2” unpacks to ∃m(Max(A,m)∧∀y(Max(A,y)→y=m)∧m<2): there is exactly one maximum, and it is less than 2.

Two readings of a negation. When nothing satisfies φ, the unpacked sentence is false, and a negation can be read two ways. The interval A=(0,1) has no maximum: an m∈A is exceeded by (m+1)/2, which is also in A. Read “the maximum of A is not 1” with the negation inside, ∃m(Max(A,m)∧∀y(Max(A,y)→y=m)∧m≠1): it is false, since there is no m. Read it with the negation outside, ¬∃m(Max(A,m)∧∀y(Max(A,y)→y=m)∧m=1): it is true. The two readings agree whenever there is exactly one maximum, which is why “the” waits for ∃!. The same trap sits in “liman≠0” for a sequence with no limit, and analysis writes instead “the sequence converges, and its limit is not 0”.

Quick check. Over R, may a proof speak of “the x with x⋅x=2”? Of “the x≥0 with x⋅x=2”?

Solution. The first, no: 2 and −2 both have square 2, so uniqueness fails. The second, yes: existence is the school fact of Section 5.1 (2 exists), and uniqueness holds, since two non-negative numbers with the same square are equal (if 0≤u<v, then u⋅u<v⋅v).

5.8.5. A function symbol and its graph

A function symbol gives every object exactly one value, since every term names an object (Section 5.2). A two-place predicate G(x,y) may or may not behave like that. Call G the graph of a function when ∀x∃!yG(x,y): every x has exactly one partner. Then a new function symbol f may be introduced with the defining line ∀xG(x,f(x)), and f(t) is “the y such that G(t,y)”: the name of the last subsection, with x as a parameter.

Over R, G(x,y): y=x⋅x+1 is the graph of a function (existence: y=x⋅x+1 itself; uniqueness: two numbers equal to x⋅x+1 are equal). G(x,y): y⋅y=x is not: x=−1 has no partner, and x=4 has two, 2 and −2. For x≥0, the predicate y≥0∧y⋅y=x gives exactly one partner, and the function it defines is x, written only under the hypothesis x≥0 (the fold on partial terms in Section 5.2).

So “a function” and “a relation in which every object has exactly one partner” are two ways of saying the same thing; the function symbol is the shorter.

Quick check. Over Z, is x=2⋅y the graph of a function, with y as the value at x? Is y=2⋅x?

Solution. The first is not: x=1 has no partner, since no integer y has 2y=1. The second is: each x has exactly one partner, 2x; the function is f(x)=2x.

5.8.6. Definitions add words, not facts

“An integer n is even if n=2k for some integer k” adds a predicate symbol with its definition ∀x(Even(x)↔∃k(x=2⋅k)). “We define |x| to be x if x≥0 and −x otherwise” adds a function symbol. Its graph G(x,y): (x≥0∧y=x)∨(x<0∧y=−x) gives each x exactly one partner (one of x≥0, x<0 holds and gives its y, and the two cases exclude each other), and |⋅| is introduced by ∀xG(x,|x|). A definition is a new premise, and premises prove things. The next result says what a definition can prove: nothing new about the old symbols.

Proposition 5.8.2 (Definitions Prove Nothing New)

Let Γ be a list of formulas and ψ a formula.

  • (a) Let P be a one-place predicate symbol that appears neither in Γ nor in ψ, and φ a formula in which P does not appear and whose only free variable is x. If Γ,∀x(P(x)↔φ)⊢ψ, then Γ⊢ψ.
  • (b) Let φ be a formula whose only free variable is x, and c a constant that appears in none of Γ, φ, ψ. If Γ⊢∃xφ and Γ,φ[c/x]⊢ψ, then Γ⊢ψ.

In words: whatever is proved with a defined symbol, about symbols that were there before it, could have been proved without it. A definition makes proofs shorter, never stronger.

Part (b) asks only for existence; uniqueness, as the subsection on “the x such that φ” said, is what makes “the” name one object. The same holds for predicates with several places, and for a function symbol f introduced by ∀xG(x,f(x)) once ∀x∃!yG(x,y) is proved; we do not prove those cases, and nothing later depends on them.

Idea. For (b), rename c everywhere into a variable that appears nowhere, and put the whole derivation inside an ∃E box on ∃xφ. For (a), replace every atomic formula P(t) by φ[t/x]; the definition becomes ∀x(φ↔φ), which needs no premise. The fold below carries both out.

Second readingWhy definitions prove nothing new

Proof.

  • (b) Let D be a derivation of ψ from Γ and φ[c/x]. Choose a variable x0 that appears nowhere in D, Γ, φ or ψ (a derivation from Γ need not write every member of Γ), and replace c by x0 everywhere in D. Every line stays a correct line: the rules treat constants and variables alike as terms; x0 is not a flag or a witness name of D, since it appears nowhere there; and it is bound nowhere, so every “free for” condition still holds. Γ and ψ do not contain c and do not change, and the premise φ[c/x] becomes φ[x0/x], since c is not in φ. Now take a derivation of ∃xφ from Γ, open an ∃E box (Definition 5.6.1) with the name x0 and the assumption φ[x0/x], copy the changed D inside it, and close the box on ψ: by the choice of x0, it is not in ψ, not in ∃xφ, and not in Γ, which holds the only premises.

  • (c) Let D be a derivation of ψ from Γ and ∀x(P(x)↔φ). Rename the bound variables of φ to letters that appear nowhere in D (the convention of Section 5.2), and replace every atomic formula P(t) in D by φ[t/x]. Because x is the only free variable of φ and its bound letters are new, the replacement commutes with every substitution a rule makes and changes no free variable of any line; so every line stays a correct line, and every side condition still holds. Γ and ψ do not contain P and do not change; the definition becomes ∀x(φ↔φ), which is derived from no premises by a flagged box, with a flag x0 that appears nowhere in Γ, φ or D, ending in φ[x0/x]↔φ[x0/x], got by ↔I from two one-line boxes. Writing that derivation in front of the changed D derives ψ from Γ. (After the renaming the defining premise is ∀x(φ′↔φ), with φ′ the renamed φ, which the convention of Section 5.2 treats as ∀x(φ↔φ).)

What a definition sounds like. “We define …” and “call n even if …” introduce a symbol with its defining line; the right-hand side must not mention the new symbol, and a function needs exactly one value for each argument. “Let L be the limit of (an)” introduces a name by a description, and may be written only after it has been proved that there is exactly one such L. Every “the” carries that debt; “a limit” does not.

Remark (Looking ahead). Chapter 8 collects “we define …” and “the …” with the other phrases of written proof.

5.8.7. Exercises

A. Check your understanding

Exercise (A1)
  • (a) Write ∃!x(x⋅x=9) without the symbol ∃!, and decide whether it is true over N and over Z.
  • (b) Write “exactly two integers x satisfy x⋅x=9” by Definition 5.8.2, and decide it over Z.
  • (c) When may a proof write “the x such that φ”, and what may it then use about that object?
  • (d) State in words the two parts of Proposition 5.8.2.
  • (e) Exercise B1 of Section 5.7 showed that any two identities of an operation are equal. Explain how to turn its derivation into the second conjunct of Proposition 5.8.1 for φ=∀z(x⋅z=z∧z⋅x=z).

Solution. (a) ∃x(x⋅x=9∧∀y(y⋅y=9→y=x)). Over N it is true: x=3 works, and a natural number y with y⋅y=9 is 3, since y≤2 gives y⋅y≤4 and y≥4 gives y⋅y≥16. Over Z it is false: whatever x is proposed, 3 and −3 both satisfy y⋅y=9, and they cannot both equal x.

(b) ∃x∃y(x≠y∧x⋅x=9∧y⋅y=9)∧∀x∀y∀z(x⋅x=9∧y⋅y=9∧z⋅z=9→x=y∨x=z∨y=z). True: 3≠−3 are two solutions, and every solution is 3 or −3 (since (y−3)(y+3)=0), so among three solutions two are equal.

(c) After ∃!xφ has been proved from the premises in hand. It may use the defining line φ[c/x], and only what follows from it with the premises.

(d) Part (a): adding a predicate symbol by a definition ∀x(P(x)↔φ) proves nothing new that does not mention P. Part (b): naming a witness of a proved existential by a new constant proves nothing new that does not mention the constant.

(e) Take φ=∀z(x⋅z=z∧z⋅x=z), and run lines 3–7 again with variables u0, v0 in place of e, e′: inside flagged boxes for u0 and v0 and a →I box on φ[u0/x]∧φ[v0/x], the two premises (with z as their bound variable) come from that assumption by ∧E, and the same steps give u0=v0. Then →I and ∀I twice give ∀x∀y(φ∧φ[y/x]→x=y), the second conjunct of the proposition. With the existence of one identity as well, Proposition 5.8.1 gives “there is exactly one”.

Exercise (A2: Drill)

Each part takes a line or two. The parts run from writing counting statements, through judging them and the counting words, to descriptions and graphs.

  • (a) Write ∃!x(x+1=3) without ∃!.
  • (b) Write “at least two elements of A are negative”.
  • (c) Write “at most two x satisfy P(x)”.
  • (d) Write “exactly two x satisfy P(x)” as one formula of the shape ∃x∃y(⋯∧∀z(…)).
  • (e) Does ∃x∃y(P(x)∧P(y)) say “at least two x satisfy P(x)”?
  • (f) Over N, translate “0 is the only natural number n with n+n=n”, and decide it.
  • (g) Translate “every prime except 2 is odd”. Does your formula say that 2 is not odd?
  • (h) Write “m is the smallest element of A”, and say what must be proved before writing “the smallest element of A”.
  • (i) In A={2,3,4}, ordered by divisibility, which elements are maximal (no other element of A is a multiple of them), and is there a maximum (an element that is a multiple of every element of A)?
  • (j) A=(0,1] has no smallest element. Read “the smallest element of A is not positive” both ways, and decide each.
  • (k) Over R, does x⋅y=1 give each x exactly one partner y? Over the non-zero reals?
  • (l) A proof says “let c be the real number with c+3=5”. What must have been proved, and what may be used about c?

Solution.

  • (a) ∃x(x+1=3∧∀y(y+1=3→y=x)).

  • (b) ∃x∃y(x≠y∧(x∈A∧x<0)∧(y∈A∧y<0)).

  • (c) ∀x∀y∀z(P(x)∧P(y)∧P(z)→x=y∨x=z∨y=z).

  • (d) ∃x∃y(x≠y∧P(x)∧P(y)∧∀z(P(z)→z=x∨z=y)).

  • (e) No: x and y may name the same object; it says only ∃xP(x).

  • (f) 0+0=0∧∀x(x+x=x→x=0). True: x+x=x gives x=0 by cancelling x.

  • (g) ∀x(Prime(x)∧x≠2→Odd(x)). It says nothing about 2. If “except” is meant to say that 2 is not odd as well, add ∧¬Odd(2).

  • (h) m∈A∧∀a∈A(m≤a). Existence only: two smallest elements are each ≤ the other, hence equal, so uniqueness is automatic.

  • (i) 3 and 4 are maximal; 2 is not, since 4 is a multiple of 2. There is no maximum: 3 is not a multiple of 2 or of 4, and 4 is not a multiple of 3; and 2 is not a multiple of 3 either. Maximal and maximum differ.

  • (j) With Min(A,m) the formula of (h): negation inside, ∃m(Min(A,m)∧∀y(Min(A,y)→y=m)∧¬(m>0)), false, since there is no m. Negation outside, ¬∃m(Min(A,m)∧∀y(Min(A,y)→y=m)∧m>0), true. (For m∈A, m/2∈A is smaller.)

  • (k) No: x=0 has none, since 0⋅y=0. Over x≠0, yes: the partner is 1/x, and x⋅y=x⋅y′=1 gives y=y′.

  • (l) ∃!x(x+3=5): existence makes the name safe, uniqueness makes “the” right. It may use the defining line c+3=5, and what follows from it, such as c=2.

B. Practice

Exercise (B1: Exactly two, by halves)

Over N, show that exactly two natural numbers x satisfy x⋅x<3: write the statement by Definition 5.8.2, then prove “at least two” and “at most two” separately.

Solution. The statement is ∃x∃y(x≠y∧x⋅x<3∧y⋅y<3)∧∀x∀y∀z(x⋅x<3∧y⋅y<3∧z⋅z<3→x=y∨x=z∨y=z).

At least two: 0 and 1: 0≠1, 0⋅0=0<3 and 1⋅1=1<3.

At most two: if x⋅x<3 then x≤1, since x≥2 gives x⋅x≥4; so x∈{0,1}. Three natural numbers u, v, w with squares below 3 take values in {0,1}, so two of them are equal. Worked example type: Example (Exactly Two Square Roots of One).

Marking scheme. (10 points) 3: the formula, with x≠y and the three-way disjunction. 3: “at least two”, with both witnesses and their difference. 4: “at most two”, with x≤1 justified and the pigeonhole step stated. Fatal error (0 for the half): “at least two” written without x≠y.

Exercise (B2: A unique square root of zero)

Over R, write ∃!x(x⋅x=0) without ∃!, and prove it: existence, then uniqueness in the form “suppose y also satisfies …”.

Hint: a product of two non-zero reals is non-zero.

Solution. Written out, the statement is ∃x(x⋅x=0∧∀y(y⋅y=0→y=x)). We take the witness x=0 and prove the two conjuncts.

Existence. 0⋅0=0.

Uniqueness. Let y be a real number, and suppose y⋅y=0. If y≠0, then y⋅y is a product of two non-zero reals and so is non-zero, which contradicts y⋅y=0. Hence y=0, which is the witness. Since y was arbitrary, every y with y⋅y=0 equals 0.

So 0 witnesses the existential, and ∃!x(x⋅x=0) holds. The rules behind the words: “we take the witness x=0” is ∃I, postponed to the end as usual; “let y be a real number” is a flagged box for ∀I; “suppose y⋅y=0” is a →I box; “if y≠0 … contradicts” is an RAA box on y≠0. (That box gives y=0 directly; ¬I would give only ¬(y≠0). Since for reals y=0 or y≠0 is also a school fact, a proof by cases would do as well.)

Exercise (B3: Exactly one fixed point)

A fixed point of a function f:R→R is a real x with f(x)=x.

  • (a) Formalize “f has exactly one fixed point” over R, first with ∃! and then without it.
  • (b) Write a formula without ∃! that says “f does not have exactly one fixed point”, in the form “there is none, or there are two different ones”.
  • (c) Decide the statement of (a) for f(x)=x⋅x, for f(x)=x+1 and for f(x)=2⋅x, and check your answer against the formula of (b).

Solution. (a) With ∃!: ∃!x(f(x)=x). Written out, with y as the new variable: ∃x(f(x)=x∧∀y(f(y)=y→y=x)).

(b) ¬∃x(f(x)=x)∨∃x∃y(f(x)=x∧f(y)=y∧x≠y). Read informally over R: either no real number is fixed, or two different ones are. That is exactly the failure of “exactly one”. If no x is fixed, the first disjunct holds. If some x is fixed but the uniqueness clause fails for it, then some y is fixed and differs from x. Conversely, either disjunct rules out a unique fixed point: with none there is no witness, and two different fixed points x≠y would both have to equal any proposed witness w, giving x=y. (Section 6.2 derives such negations mechanically, one quantifier at a time.)

(c) For f(x)=x⋅x: x⋅x=x holds for x=0 and for x=1, so there are two different fixed points; (a) is false, and the second disjunct of (b) is true with x=0, y=1. For f(x)=x+1: x+1=x has no solution, so (a) is false and the first disjunct of (b) is true. For f(x)=2⋅x: 2x=x gives x=0, and 0 is fixed; so (a) is true with the witness 0, and both disjuncts of (b) are false.

Exercise (B4: The empty set is unique)

Read the domain as consisting of sets, and let E be the axiom of extensionality, ∀x∀y(∀z(z∈x↔z∈y)→x=y).

  • (a) Derive E, ∀z¬(z∈a), ∀z¬(z∈b)⊢a=b.
  • (b) Which half of “there is exactly one set with no elements” does (a) prove, and what would give the other half?
  • (c) Suppose also ∃x∀z¬(z∈x). Which result of this section gives ∃!x∀z¬(z∈x), and what may a proof then write?

Solution.

  • (a) The goal a=b is the consequent of an instance of E; its hypothesis ∀z(z∈a↔z∈b) is built in a flagged box, each direction of the biconditional by ⊥E.
    1∀x∀y(∀z(z∈x↔z∈y)→x=y)
    2∀z¬(z∈a)
    3∀z¬(z∈b)
    4z0z0∈aasm, for ↔I
    5¬(z0∈a)∀E 2
    6⊥¬E 4, 5
    7z0∈b⊥E 6
    8z0∈basm, for ↔I
    9¬(z0∈b)∀E 3
    10⊥¬E 8, 9
    11z0∈a⊥E 10
    12z0∈a↔z0∈b↔I 4–7, 8–11
    13∀z(z∈a↔z∈b)∀I 4–12
    14∀y(∀z(z∈a↔z∈y)→a=y)∀E 1
    15∀z(z∈a↔z∈b)→a=b∀E 14
    16a=b→E 15, 13
  • (b) “At most one”: any two sets without elements are equal. The other half, “at least one”, needs a premise of its own, an axiom saying that a set without elements exists: from E alone the claim ∃x∀z¬(z∈x) breaks. Counter-reading: the domain {0}, with 0∈0. E is true, since there is only one object and so x=y holds for every x, y; and ∃x∀z¬(z∈x) is false, since the only object, 0, has the element 0.

  • (c) Run (a) with flags x0, y0 in place of a, b, inside a →I box on ∀z¬(z∈x0)∧∀z¬(z∈y0) (∧E gives the two premises), and close with →I and ∀I twice: that is the second conjunct of Proposition 5.8.1 for φ=∀z¬(z∈x). With the existence premise, the direction ⊣ of Proposition 5.8.1 gives ∃!x∀z¬(z∈x), and by Definition 5.8.3 a proof may now say “the empty set” and name it ∅. Worked example types: Example (Equal Sets Have the Same Elements) (Section 5.7); the two halves of Proposition 5.8.1.

Marking scheme. (10 points) 4: (a), the biconditional built by ↔I from two boxes, each closed by ⊥E, then ∀I, two ∀E on E and →E. 3: (b), “at most one” (1), existence as a separate premise (1), and the counter-reading with E checked true and the existence claim false (1). 3: (c), the flags and the →I box, the right direction of Proposition 5.8.1, and the license to write “the”. Fatal error (0 for (a)): a=b “by extensionality” with no instance of E written.

Exercise (B5: Composites of one-to-one maps)

A function symbol f is one-to-one if ∀x∀y(f(x)=f(y)→x=y). Derive ∀x∀y(f(x)=f(y)→x=y),∀x∀y(g(x)=g(y)→x=y)⊢∀x∀y(f(g(x))=f(g(y))→x=y), then write the proof in two sentences.

Solution.

1∀x∀y(f(x)=f(y)→x=y)
2∀x∀y(g(x)=g(y)→x=y)
3x0y0f(g(x0))=f(g(y0))asm, for →I
4∀y(f(g(x0))=f(y)→g(x0)=y)∀E 1
5f(g(x0))=f(g(y0))→g(x0)=g(y0)∀E 4
6g(x0)=g(y0)→E 5, 3
7∀y(g(x0)=g(y)→x0=y)∀E 2
8g(x0)=g(y0)→x0=y0∀E 7
9x0=y0→E 8, 6
10f(g(x0))=f(g(y0))→x0=y0→I 3–9
11∀y(f(g(x0))=f(g(y))→x0=y)∀I 3–10
12∀x∀y(f(g(x))=f(g(y))→x=y)∀I 3–11

Lines 4 and 5 instantiate the premise for f at the compound terms g(x0) and g(y0): the move instantiate at the term you need. In prose: “Let x and y satisfy f(g(x))=f(g(y)). Since f is one-to-one, g(x)=g(y), and since g is one-to-one, x=y.”

Marking scheme. (10 points) 2: the two flags and the →I box. 4: the ∀E steps at g(x0), g(y0), then at x0, y0, each with →E. 2: the closing ∀I lines with the flag checks. 2: the prose, one sentence per use of one-to-one. Fatal error (0 for the derivation): the premise for f instantiated at x0, y0.

C. Going deeper

Exercise (C1: Two unique quantifiers do not commute)

Show that ∃!x∃!yR(x,y) and ∃!y∃!xR(x,y) can have different truth values, by giving a finite domain D and a two-place relation R on it for which the first is true and the second false. Check both, reading ∃! informally.

Hint: first say in words what each sentence claims about the rows and columns of a table of R.

Solution. What any answer must satisfy. Call x single if exactly one y has R(x,y), and call y co-single if exactly one x has R(x,y). The first sentence says that exactly one element is single. The second says that exactly one element is co-single. So an answer needs exactly one single element and a number of co-single elements other than one: none, or two or more.

An example. Take D={0,1,2} and R={(1,2),(2,0),(2,1)}.

  • Single elements: 0 has no partner, 1 has exactly one (2), and 2 has two (0 and 1). So 1 is the only single element, and ∃!x∃!yR(x,y) is true, with the witness 1.
  • Co-single elements: y=0 is reached only from x=2; y=1 only from x=2; y=2 only from x=1. All three are co-single, so there is not exactly one, and ∃!y∃!xR(x,y) is false.

No example exists on one or two elements (there are only 2+16=18 relations on such domains). On one element, 0 is single and co-single exactly when R(0,0) holds, so the two sentences agree. On two elements, suppose exactly one element is single; after relabeling, call it 0, and let c be its only partner. Then 1 is not single, so it has no partners or two. If it has none, column c has one entry and the other column has none. If it has two, column c has two entries and the other column has one. Either way exactly one element is co-single. Exchanging the roles of rows and columns gives the converse, so the two sentences have the same truth value. Three elements is therefore the smallest possible domain.

The moral: ∃! is not a quantifier that commutes with its own kind, as two ∃’s do. “Exactly one” hides a ∀ (the uniqueness clause), and the order of a ∀ and an ∃ matters.

Exercise (C2: “At most one”, two ways)

Let P be a one-place predicate symbol. Derive both directions of ∀x∀y(P(x)∧P(y)→x=y)⊣⊢¬∃x∃y((P(x)∧P(y))∧x≠y), and say which of your two derivations uses RAA, and at which line.

Solution (Hint 1). The right-hand side is a negation: for ⊢, open a ¬I box, and inside it two ∃E boxes. For ⊣, the goal is ∀∀, then an implication, then an equation.

Solution (Hint 2). In the ⊣ direction, open flagged boxes for x0 and y0 and a →I box on P(x0)∧P(y0). The goal is now the atomic formula x0=y0. Which resources can give it?

Solution. (⊢) The goal is a negation, so a ¬I box opens on ∃x∃y(…); inside, the premise-directed step opens an ∃E box for each ∃, with the goal ⊥ as each box’s last line. The premise, instantiated at the two witnesses, gives x0=y0, which clashes with x0≠y0.

1∀x∀y(P(x)∧P(y)→x=y)
2∃x∃y((P(x)∧P(y))∧x≠y)asm, for ¬I
3x0∃y((P(x0)∧P(y))∧x0≠y)asm, for ∃E
4y0(P(x0)∧P(y0))∧x0≠y0asm, for ∃E
5P(x0)∧P(y0)∧E 4
6x0≠y0∧E 4
7∀y(P(x0)∧P(y)→x0=y)∀E 1
8P(x0)∧P(y0)→x0=y0∀E 7
9x0=y0→E 8, 5
10⊥¬E 9, 6
11⊥∃E 3, 4–10
12⊥∃E 2, 3–11
13¬∃x∃y((P(x)∧P(y))∧x≠y)¬I 2–12

The brackets in the statement are written out because the default groups a longer conjunction to the right (Section 4.5); with the grouping (P(x0)∧P(y0))∧x0≠y0 on line 4, ∧E takes out its two halves on lines 5 and 6. At line 11, y0 is not in ⊥, not in line 3, not in the premise, and not in the assumptions still open (lines 2 and 3). At line 12 the same holds for x0, with line 2 the only open assumption.

(⊣) The goal-directed steps open flagged boxes for x0 and y0 and a →I box on P(x0)∧P(y0), leaving the goal x0=y0. No resource gives an equation, so the search is stuck, and step 5 of the method applies: an RAA box on x0≠y0. Inside, ∧I and two ∃I steps rebuild the formula that the premise denies.

1¬∃x∃y((P(x)∧P(y))∧x≠y)
2x0y0P(x0)∧P(y0)asm, for →I
3x0≠y0asm, for RAA
4(P(x0)∧P(y0))∧x0≠y0∧I 2, 3
5∃y((P(x0)∧P(y))∧x0≠y)∃I 4
6∃x∃y((P(x)∧P(y))∧x≠y)∃I 5
7⊥¬E 6, 1
8x0=y0RAA 3–7
9P(x0)∧P(y0)→x0=y0→I 2–8
10∀y(P(x0)∧P(y)→x0=y)∀I 2–9
11∀x∀y(P(x)∧P(y)→x=y)∀I 2–10

The ⊣ derivation uses RAA, at line 8: the box opens with x0≠y0, that is ¬(x0=y0), and closes with x0=y0. Closing it by ¬I instead would give ¬¬(x0=y0), and no rule of Chapter 1 or Sections 2.1–2.4 removes the double negation. (With the derived rule ¬¬E of Section 2.5, that ¬I box followed by ¬¬E is an equally good derivation; its classical step is the ¬¬E line, which hides an RAA.) The ⊢ derivation uses no classical rule.

Marking scheme. (10 points) - 2: ⊢: opens a ¬I box on the existential, with the goal ⊥. - 2: ⊢: two ∃E boxes with fresh witnesses, each ending in ⊥, and the premise instantiated at those witnesses. - 2: ⊣: two flagged boxes and a →I box, in the order read off the goal. - 2: ⊣: an RAA box on x0≠y0, with the clash obtained by ∧I and two ∃I steps. - 2: names the ⊣ direction as the one using RAA, and the line. - A ¬I box on x0≠y0 followed by ¬¬E, or an LEM split on x0=y0 whose second case reaches ⊥ the same way (then ⊥E), earns the 2 points of the RAA-box line; for the naming line, the reader names the ¬¬E or LEM line as the classical step, a derived rule whose derivation uses RAA (Section 2.5). Fatal errors (0 for the step): an ∃E box closing on a line that contains its witness; a ∀I over a name in an open assumption; ¬I claimed to give x0=y0.

Exercise (C3: One and one make two)

Let P and Q be one-place predicate symbols. Show that from ∃!xP(x), ∃!xQ(x) and ¬∃x(P(x)∧Q(x)) it follows that exactly two x satisfy P(x)∨Q(x), in the form ∃x∃y(x≠y∧(P(x)∨Q(x))∧(P(y)∨Q(y))∧∀z(P(z)∨Q(z)→z=x∨z=y)). Give the proof in numbered steps, naming the rule behind each; a full derivation is not required. Which premise does the conjunct x≠y need, and what happens without it?

Solution.

  1. By Proposition 5.8.1, the first premise gives ∃xP(x) and “at most one P”, and the second gives ∃xQ(x) and “at most one Q” (∧E).
  2. Open two ∃E boxes early, with different names: P(a0) and Q(b0), both aimed at the goal.
  3. a0≠b0: in a ¬I box on a0=b0, =E turns P(a0) into P(b0); ∧I with Q(b0) and ∃I give ∃x(P(x)∧Q(x)), which ¬E clashes with the third premise.
  4. P(a0)∨Q(a0) and P(b0)∨Q(b0) by ∨I.
  5. Let z0 be arbitrary (a flagged box) with P(z0)∨Q(z0) (a →I box), and split by ∨E. If P(z0): “at most one P” at z0 and a0 (∀E twice, ∧I, →E) gives z0=a0, and ∨I gives z0=a0∨z0=b0. If Q(z0): “at most one Q” at z0 and b0 gives z0=b0, and ∨I again.
  6. →I and ∀I give the last conjunct; ∧I joins the four; ∃I with the witness b0 for y, then a0 for x. Both ∃E boxes close, since the goal mentions neither name.

The third premise is used only in step 3. Without it the conclusion breaks: the domain {0} with P and Q both true of 0 makes the first two premises true, and only one object satisfies P(x)∨Q(x).

Marking scheme. (10 points) 2: the two halves of each premise by Proposition 5.8.1. 1: two ∃E boxes with different names. 2: a0≠b0 by ¬I, =E and the third premise. 3: the last conjunct by the flagged box, the →I box and ∨E, each case using the right “at most one”. 1: the closing ∃I order and the box conditions. 1: the counter-reading without the third premise. Fatal errors (0 for the step): a0≠b0 asserted because the names differ (the warning “Different letters, perhaps the same object”); an ∃E box closed on a line that mentions a0 or b0.

R. Review

Exercise (R1)

Consider the terms built from variables, the constant 0 and the two-place function symbol +. Show that in every such term the number of occurrences of + is one less than the number of occurrences of variables and constants, counted together. Check it on (x+0)+(y+x).

Solution. For a term t, let a(t) count the occurrences of variables and constants in t, and p(t) those of +. We show p(t)=a(t)−1 for every t, by induction on the clauses of Definition 5.2.1, the method of Theorem 4.3.1 (Section 4.3).

Base: t is a variable or 0. Then p(t)=0 and a(t)=1.

Step: t is t1+t2, and the claim holds for t1 and t2. Then p(t)=p(t1)+p(t2)+1=(a(t1)−1)+(a(t2)−1)+1=a(t1)+a(t2)−1=a(t)−1.

The term (x+0)+(y+x) has four occurrences of variables and constants and three of +. This is the counting argument of Lemma 4.3.2 (Section 4.3), on new data. About 10 minutes.

Marking scheme. (10 points) 2: a and p defined. 3: the base case, both kinds of atomic term. 4: the step, with the hypothesis used for both t1 and t2 and the +1 for the new symbol. 1: the check. Fatal error (0 for the step): induction on the length of the term with no case for t1+t2.

Exercise (R2)

Derive ∀x(¬Q(x)→¬P(x))⊢∀x(P(x)→Q(x)), and name the line that uses a classical rule.

Solution.

1∀x(¬Q(x)→¬P(x))
2x0P(x0)asm, for →I
3¬Q(x0)→¬P(x0)∀E 1
4¬Q(x0)asm, for RAA
5¬P(x0)→E 3, 4
6⊥¬E 2, 5
7Q(x0)RAA 4–6
8P(x0)→Q(x0)→I 2–7
9∀x(P(x)→Q(x))∀I 2–8

Line 9 cites the flagged box from line 2, the convention for a flagged box that immediately contains another; x0 is in no premise, in no open assumption, and not in line 9. Lines 2 and 4–8 are the derivation of Proposition 2.5.2 (Section 2.5) at P(x0), Q(x0), with line 3 as its premise. The classical line is line 7, RAA (Definition 2.5.1). About 10 minutes.

Marking scheme. (10 points) 2: the flagged box opened first and closed by ∀I with the flag checked. 2: ∀E at the flag. 4: the →I box and, inside it, the RAA box on ¬Q(x0). 2: line 7 named as the classical line. A ¬I box on ¬Q(x0) followed by ¬¬E, or Proposition 2.5.2 used as a derived rule on line 3, earns the 4 points of the box line; its classical line (the ¬¬E line, or the derived-rule line, whose derivation uses RAA) earns the naming 2. Fatal error (0): ∀E outside the flagged box at a constant, then ∀I over that constant.

Exercise (R3)

You have derived (P∧Q)→R⊢P→(Q→R). Derive ∀x((P(x)∧Q(x))→R(x))⊢∀x(P(x)→(Q(x)→R(x))), and say which lines are the propositional derivation and what the quantifier adds.

Solution.

1∀x((P(x)∧Q(x))→R(x))
2x0(P(x0)∧Q(x0))→R(x0)∀E 1
3P(x0)asm, for →I
4Q(x0)asm, for →I
5P(x0)∧Q(x0)∧I 3, 4
6R(x0)→E 2, 5
7Q(x0)→R(x0)→I 4–6
8P(x0)→(Q(x0)→R(x0))→I 3–7
9∀x(P(x)→(Q(x)→R(x)))∀I 2–8

Lines 3–8 are the first derivation of Proposition 1.4.2 (Section 1.4) at the statements P(x0), Q(x0), R(x0), with line 2 as its premise. The quantifier adds line 2 (∀E at the flag) and line 9 (∀I), whose side condition holds because the boxes of lines 3 and 4 have closed. About 10 minutes.

Marking scheme. (10 points) 3: the flagged box with ∀E at the flag. 4: the two →I boxes in the order of Proposition 1.4.2. 3: the propositional lines named and the side condition of line 9 checked. Fatal error (0): ∀I written while the box of line 3 or 4 is open.

Exercise (R4)

Derive ∀x∀y(f(x)=y→g(y)=x)⊢∀x(g(f(x))=x).

Solution.

1∀x∀y(f(x)=y→g(y)=x)
2x0∀y(f(x0)=y→g(y)=x0)∀E 1
3f(x0)=f(x0)→g(f(x0))=x0∀E 2
4f(x0)=f(x0)=I
5g(f(x0))=x0→E 3, 4
6∀x(g(f(x))=x)∀I 2–5

The tools: instantiate at the term you need (Definition 5.3.1, Section 5.3), here the compound term f(x0) at line 3, and =I (Definition 5.7.1, Section 5.7), which makes the hypothesis of line 3 at no cost. Why the look-alikes fail: =E has no equation to cite, since no line is an equation until =I writes one; ∀E at a fresh variable y0 leaves the hypothesis f(x0)=y0, which nothing proves; and there is no existential, so ∃E has nothing to open. About 15 minutes.

Marking scheme. (10 points) 2: the flagged box. 4: the second ∀E, at f(x0). 3: =I and →E. 1: the closing ∀I with the flag checked. Fatal error (0): ∀E at a variable y0 followed by a step that treats f(x0)=y0 as proved.