1. Let f : A → B be an injective with A non-empty. Prove or disprove: there is always a function g : B → A so that f ◦ g = idB (where idB : B → B is the function idB(b) = b)?

A disproof: suppose f is injective but not surjective, for instance A = {1, 2}, B = {3, 4, 5}, f(1) = 4, f(2) = 3. No matter what function g : B → A we use, we would need (f ◦ g)(5) = f(g(5)) ∈ f(A) = {3, 4}, so f ◦ g 6= idB.

Because there’s a good guess as to what a hypothetical function g would have to be (g inverts f where possible, and picks an arbitrary of A where that isn’t possible), a lot of people made that guess and analyzed only that example. But that’s not quite enough: we have to show that there’s no g which works, not just that our best guess doesn’t work. (Also, some people talked themselves into believing that their guess did work, usually by forgetting that they had to consider the case where g(b) was an arbitrary element of A.)

2. Prove or disprove the following statement: if f : A → A is a function so that f ◦ f is bijective then f is bijective.

A proof: First we show that f is injective. If f(a) = f(b) then f(f(a)) = f(f(b)), so (f ◦f)(a) = (f ◦ f)(b), so by the injectivity of f ◦ f, a = b. So f is injective. Next we show that f is surjective. For any a ∈ A, since f ◦ f is surjective, there is a b so that (f ◦ f)(b) = a. Therefore f(f(b)) = a, and therefore c = f(b) is a value so that f(c) = a. So f is surjective. Therefore f is bijective.

By far the most common problem was forgetting how to prove injectivity. A lot of people assumed f(f(a)) = f(f(b)) and concluded that f(a) = f(b), which, while true, doesn’t tell you anything useful.

3. Prove that, for every natural number n, there exist positive x, y, and z so that x2 + y2 = z2n. (Hint: Make sure you understand the statement before trying to prove it. Use induction on n. Recall that 32 + 42 = 52.)

By induction on n. Base case: n = 1, we have 32 + 42 = 52. Inductive case: Suppose there exist x, y, z so that x2 + y2 = z2n. We need to show that there exist a, b, c so that a2 + b2 = c2n+2. We take a = xz, b = yz, c = z. Then a2 + b2 = (xz)2 + (yz)2 = (x2 + y2)z2 = z2nz2 = z2n+2.

I expected fewer people to actually solve this one all the way (and was glad to see that many people got it completely right). Most of the points were for setting up the problem correctly; in particular, stating the inductive hypothesis clearly (and understanding it). The most common problem was forgetting that there are quantifiers in the statement “there exist x, y, z so that x2 + y2 = z2n”, and in particular mixing up the values x, y, z in the inductive hypothesis for P (n) and the ones we need to find for P (n + 1), which often led to people assuming they had to be the same values. (Here I used different names, which I think is good practice, but not necessary.)

1 of 2 4. One important fact about rational numbers is that every rational numbers has an additive inverse—that is, for every rational q, there is an r so that q+r = 0. Convert this into a statement about integers (You do not need to prove this statement.)

a c ad+bc A rational number is a pair a/b with b 6= 0, and addition is given by b + d = bd , so this says

(∀a, b ∈ Z)(b 6= 0 ⇒ (∃c, d ∈ Z)[d 6= 0 ∧ ad + bc = 0]).

(If we prefer, we could be more explicit and say that 0 is the rational 0/1, so the last equality is (ad + bc) · 1 = bd · 0.)

The most common problem here was losing track of the quantifers, or the conditions that b 6= 0 and d 6= 0, and just writing ad + bc = 0.

2 5. (a) Let S ⊆ R be the of positive real numbers x such that x ∈ Q. Show that S is countable. 2 (b) Let T ⊆ R be the set of all real numbers x such that x ∈ Q. Show that T is countable.

2 For the first part, the function f : S → Q given by f(x) = x is injective, so |S| ≤ |Q|. Since N ⊆ S, we have |Q| = |N| ≤ |S|, so by Schroeder-Bernstein, |S| = |Q|. For the second part, we have T = S ∪U ∪{0} where U is the set of negative real numbers x such 2 that x ∈ Q. Since S is countable and S ⊆ T , certainly |S| ≤ |T |. Also x 7→ −x is a between S and U, so T is the union of two countably infinite sets and a 0, and we know that the union of finitely many countable sets is countable. If we want to be more explicit, we could proceed as follows: since S is countable, let h : N → S be a bijection. We define k : Z → T by   h(z) if z > 0 k(z) = 0 if z = 0  h(−z) if z < 0

Then k is a bijection.

2 of 2