Exercise 26.1.
Give 𝑟 the fresh semantic row 𝜌. Updating generates 𝜌[𝑎 ←𝖨𝗇𝗍]; selection reads its 𝑎-field and hence returns 𝖨𝗇𝗍. Thus 𝜆𝑟.(𝑟 𝗐𝗂𝗍𝗁 𝑎=3).𝑎:Π(𝜌)→𝖨𝗇𝗍. The input row 𝜌 remains unconstrained: its 𝑎-field may be absent or present at any type, and it may contain finitely many other fields.
Exercise 26.2.
Let 𝑟0 ={𝑏 :𝖡𝗈𝗈𝗅}, with 𝑏 ≠𝑎, and update both sides with 𝑎 :𝖨𝗇𝗍. For the four rows choose old 𝑎-fields respectively (𝖨𝗇𝗍,𝖡𝗈𝗈𝗅), ( −, −), ( −,𝖡𝗈𝗈𝗅), and (𝖡𝗈𝗈𝗅, −). In every case both updated rows return 𝖨𝗇𝗍 at 𝑎 and 𝖡𝗈𝗈𝗅 at 𝑏. The four old presence pairs are distinct even though the results are equal.
Exercise 26.3.
Substituting the right side for 𝜌 reproduces an occurrence of 𝜌 under an update, so the active row-constructor count does not decrease and iteration grows the chain. Use the measure (active constructors,unresolved obligations). The special step changes the representative equation from (1,0) to (0,1). Lexicographic order decreases at the first coordinate.
Exercise 26.4.
At label 𝑎, either the right input supplies the demanded integer or it is absent and the left input supplies it. With descriptor variables 𝑓,𝑔, the two scheme shapes are 𝜎𝗋=Π𝐿(𝑓)→Π𝐿(𝗉𝗋𝖾𝗌𝖾𝗇𝗍(𝖨𝗇𝗍))→𝖨𝗇𝗍,𝜎𝗅=Π𝐿(𝗉𝗋𝖾𝗌𝖾𝗇𝗍(𝖨𝗇𝗍))→Π𝐿(𝖺𝖻𝗌𝖾𝗇𝗍)→𝖨𝗇𝗍. The first permits the right field and the second requires its absence, so neither presence pattern is an instance of the other.
Exercise 26.5.
One most general row unifier and principal typing for extension and selection belong to Rémy’s sorted calculus. The four-way overwrite split belongs to the 1987 system as corrected in 1988. One disjunction per concatenated field belongs to Wand’s 1991 concatenation calculus. Finite complete type sets belong to both corrected Wand systems, with their separately stated signatures; they are not a claim about Rémy’s unitary system.
Exercise 26.6.
For 𝜎0, 𝑥’s input descriptor is absent and its output descriptor is present integer. The null argument follows the same absent-to-present transition. For 𝜎1, 𝑥’s input descriptor is 𝗉𝗋𝖾𝗌𝖾𝗇𝗍(𝛼), but its output is again present integer; null still goes absent to present. The invalid decomposition rejects the equality between the two updated inputs by demanding equality of their old row arguments. Correct overwrite equality ignores those old 𝑎-descriptors. At every 𝑏 ≠𝑎, however, the first update retains 𝑥’s descriptor and the updated null record remains absent. The common argument type for 𝑓 therefore forces 𝑥 to have no foreign field. This is why the two schemes cover the full-label counterexample without making an unconstrained row variable a valid single generator.
Exercise 26.7.
For each label independently choose 𝖯𝖯,𝖠𝖠,𝖠𝖯,𝖯𝖠; their Cartesian product has sixteen members. A concrete witness is obtained by taking one common row with neither label and inserting arbitrary old field types exactly where its two shape letters say present. Thus all sixteen raw branches are satisfiable before the extra equation. If that equation requires, for example, the first old 𝑎-field to be both absent and present, discard precisely the eight branches whose first 𝑎-letter conflicts with the selected requirement. Every remaining semantic solution has one presence pair at each label and therefore selects one remaining branch. Coverage chooses a member of a set; it does not make that member more general than the others.
Exercise 26.8.
The last update at a repeated label wins, so normalization gives 𝗁𝖺𝗌(𝜌,𝑎,𝛾),𝗁𝖺𝗌(𝜌,𝑏,𝛽). The earlier 𝑎 :𝛼 is overwritten. The row {𝑎 :𝛾,𝑏 :𝛽}, together with any fields at other labels, satisfies the original equation, proving satisfiability.
Exercise 26.9.
For each of 𝑎,𝑏, the selected result field comes either from a present right descriptor or from the left descriptor when the right is absent. The four satisfiable origin pairs are (𝑅,𝑅),(𝑅,𝐿),(𝐿,𝑅),(𝐿,𝐿). For result types 𝛼,𝛽, their schemes require respectively 𝑥𝑦𝑅𝑅(−,−)(𝑎:𝛼,𝑏:𝛽)𝑅𝐿(−,𝑏:𝛽)(𝑎:𝛼,𝑏:−)𝐿𝑅(𝑎:𝛼,−)(𝑎:−,𝑏:𝛽)𝐿𝐿(𝑎:𝛼,𝑏:𝛽)(𝑎:−,𝑏:−). A dash in 𝑥 is unconstrained when the right field wins and denotes absence in 𝑦 when the left field wins. Generalizing 𝛼,𝛽 gives a four-member finite complete set.