A function REPAT is specified below.
Function REPAT(c in Char, i in Int, s in mString) return in mString pre 1 ≤ i ≤ the length of s. post The returned value is a string identical to s except that the character at index position i has been replaced by the character c.
For example, if s is "court" then REPAT('N',4, s) will be "couNt". For a non-empty string, t, let A(t) be the set
A(t) = {j in Int: (1 ≤ j) ∧ (j ≤ t.length( ))}.
In giving the formal expressions required in parts (b) and (d) below, you can use: methods of the class mString; type functions of Char and Int; the set A(t) (for any non-empty string t), and the usual notation of logic.
(a) Suppose that t is the string "riyht". For this string t, write down t.length, and enumerate the set of integers A(t)
(b) Suppose that s and w are non-empty strings of type mSring, c is of type Char and i is an integer form the set A(w).
Express formally each of the predicates in (i) and (ii) below. (i) The character at index position i in the string w is c.
(ii) For every integer j in the set A(s), if j is not equal to i then the characters at position j in the strings s and w are the same.
(c) Suppose that s is the string "riyht",c is the character 'g', w is the string "rightHo" and i is 3.
For these values of s, c, w and i, what is the truth value of each of the predicates in part (b) above?