For the sake of brevity, below we will let S “ t0, 1u ˚. (a) The function Concat: S ˆ S Ñ S takes a pair xs, ty of elements of S and appends t to the right of s, to produce an element st of S. Concat is defined using induction on the length of the second entry of a pair in S ˆ S; hence it is defined using induction on N. For convenience, we sometimes write Concatpxs, tyq as s at. We will use these two notations interchangeably. Definition. The concatenation function Concat: S ˆ S Ñ S is defined via conditions (C0)–(C3) below, as follows: (C0) For all t P S, we have Concatpxε, tyq “ t. Further, For each s P S, s ‰ ε, the following three conditions hold. (C1) Concatpxs, εyq “ s. (C2) Concatpxs, 0yq “ s0 and Concatpxs, 1yq “ s1. (C3) Suppose that for some k P N, k ą 0, we have that for any binary string t of length k, the object Concatpxs, tyq has already been defined to be in S, i.e., Concatpxs, tyq exists, is unique, and is an element of S. Then for any j P t0, 1u, we have Concatpxs, tajyq “ Concatpxs, tyqaj. This completes the definition of the function Concat. i. Show that Concat is indeed a function from S ˆ S to S. In other words, show that for all xs, ty P S ˆ S, Concatpxs, tyq exists, is unique, and is an element of S