**a)** g(f(x_{1})) = g(f(x_{2})) ⇒ f(x_{1}) = f(x_{2}) ⇒ x_{1} = x_{2}

**b)** Suppose f is not injective. There exists x_{1}, x_{2} such that f( x_{1}) = f( x_{2}) and x_{1} ≠ x_{2}. Hence g(f( x_{1})) = g(f( x_{2})) and x_{1} ≠ x_{2}. Contradiction.

**c)** z = g(y) for some y, y = f(x) for some x ⇒ z = g(f(x))

**d)** Suppose g is not surjective. There exists z ≠ g(y) for every y ⇒ z ≠ g(f(x)) for every x. Contradiction.

**e)** X = ℕ, f: n → 2n+1, is injective and not surjective. f(n) = { 0 if n=0, n-1 otherwise } is surjective and not injective.

**f)** By **(b)** and **(d)**, f is injective and g is surjective. Suppose f is surjective and g is not injective. There exists y_{1}, y_{2} such that g( y_{1}) = g( y_{2}) and y_{1} ≠ y_{2}. So g(f( x_{1})) = g(f( x_{2})) and [y_{1} = f(x_{1})] ≠ [y_{2} = f(x_{2})] for some x_{1}, x_{2}. By definition of function x_{1} ≠ x_{2}, contradicting gf being bijective. Thus f is surjective ⇒ g is injective.