exercise 74.14.
On representatives, the inverse of (𝐴 +𝐵) +𝐶 →𝐴 +(𝐵 +𝐶) sends 𝗂𝗇𝗅(𝗂𝗇𝗅𝑎) to 𝗂𝗇𝗅𝑎, 𝗂𝗇𝗅(𝗂𝗇𝗋𝑏) to 𝗂𝗇𝗋(𝗂𝗇𝗅𝑏), and 𝗂𝗇𝗋𝑐 to 𝗂𝗇𝗋(𝗂𝗇𝗋𝑐); the inverse of the commutation map exchanges the two summands, and the inverse of 𝟎 +𝐴 →𝐴 is 𝑎 ↦𝗂𝗇𝗋𝑎. The product maps use the same reassociation and exchange of coordinates, with 𝑎 ↦( ⋆,𝑎) for the unit. The two distributivity inverses send 𝗂𝗇𝗅(𝑎,𝑏) and 𝗂𝗇𝗋(𝑎,𝑐) to (𝑎,𝗂𝗇𝗅𝑏) and (𝑎,𝗂𝗇𝗋𝑐), and similarly on the other side. Case analysis for sums and componentwise calculation for products verify both composites.
For exponentials, the inverse of (𝐵 +𝐶 →𝐴) →(𝐵 →𝐴) ×(𝐶 →𝐴) is copairing, the inverse of 𝐶 →(𝐴 ×𝐵) →(𝐶 →𝐴) ×(𝐶 →𝐵) pairs the two values, and the inverse of currying is evaluation on pairs. The empty- and unit-domain inverses are the unique empty function and evaluation at ⋆. Function extensionality verifies both composites. Truncation induction and univalence turn these equivalences into the cardinal equalities.
If 𝑓 :𝐴 ↪𝐴′ and 𝑔 :𝐵 ↪𝐵′, the maps 𝑓 +𝑔 :𝐴 +𝐵 ↪𝐴′ +𝐵′ and 𝑓 ×𝑔 :𝐴 ×𝐵 ↪𝐴′ ×𝐵′ are injective by case analysis and componentwise injectivity. If 𝑓 :𝐴 ↪𝐴′, then postcomposition (𝐶→𝐴)⟶(𝐶→𝐴′),ℎ⟼𝑓∘ℎ is injective by function extensionality and injectivity of 𝑓. Eliminating the representative injections into the propositional target proves compatibility with + and ⋅ and base monotonicity |𝐴||𝐶| ≤|𝐴′||𝐶|.
exercise 74.15.
Fix 𝑢 :𝖺𝖼𝖼(𝑎) and induct on 𝑢 with motive 𝑃(𝑎,𝑢):=∏𝑣:𝖺𝖼𝖼(𝑎)𝑢=𝑣. In the constructor case write 𝑢 =𝖺𝖼𝖼<(𝑎,ℎ1) and 𝑣 =𝖺𝖼𝖼<(𝑎,ℎ2). For every 𝑏 :𝐴 and 𝑟 :𝑏 <𝑎, the induction hypothesis applied to ℎ1(𝑏,𝑟) and ℎ2(𝑏,𝑟) gives ℎ1(𝑏,𝑟) =ℎ2(𝑏,𝑟). Function extensionality in 𝑟 and then 𝑏 gives ℎ1 =ℎ2, so congruence of the accessibility constructor gives 𝑢 =𝑣. Thus 𝖺𝖼𝖼(𝑎) is a mere proposition. A dependent product of mere propositions is a mere proposition, so ∏𝑎:𝐴𝖺𝖼𝖼(𝑎) is one as well.
exercise 74.16.
For a simulation 𝑓 :𝐴 →𝐵, use well-founded induction on 𝑎 with the strengthened motive 𝑃(𝑎):=∏𝑎′:𝐴(𝑓(𝑎)=𝑓(𝑎′))→(𝑎=𝑎′). Given 𝑓(𝑎) =𝑓(𝑎′) and 𝑐 <𝑎, simulation at 𝑎′ gives, under a propositional truncation, 𝑐′ <𝑎′ with 𝑓(𝑐′) =𝑓(𝑐). Eliminate the truncation into the proposition 𝑐 =𝑐′ and apply 𝑃(𝑐). Conversely, a predecessor 𝑐′ <𝑎′ has an image predecessor 𝑐 <𝑎, and 𝑃(𝑐) again gives 𝑐 =𝑐′. Extensionality of 𝐴 now gives 𝑎 =𝑎′, proving injectivity.
For simulations 𝑓,𝑔 :𝐴 →𝐵, induct on 𝑎. If 𝑏 <𝑓(𝑎), simulation for 𝑓 gives 𝑎′ <𝑎 with 𝑓(𝑎′) =𝑏; the induction hypothesis changes this to 𝑔(𝑎′) =𝑏, hence 𝑏 <𝑔(𝑎). The converse uses 𝑔 in the same way. Extensionality of 𝐵 gives 𝑓(𝑎) =𝑔(𝑎), and function extensionality gives 𝑓 =𝑔. If 𝑓 :𝐴 →𝐵 and 𝑔 :𝐵 →𝐴 are simulations, uniqueness applied to 𝑔 ∘𝑓 and 𝗂𝖽𝐴, and then to 𝑓 ∘𝑔 and 𝗂𝖽𝐵, proves that they are inverse relation isomorphisms.
exercise 210.4.
Suppose 𝑎 :𝐴 and 𝑝 :𝑒(𝑎) =𝑑. Function congruence at 𝑎 gives 𝑒(𝑎)(𝑎)=𝑑(𝑎)=𝗇𝗈𝗍(𝑒(𝑎)(𝑎)). Boolean elimination on 𝑒(𝑎)(𝑎) reduces this equality either to 𝖿𝖺𝗅𝗌𝖾 =𝗍𝗋𝗎𝖾 or to 𝗍𝗋𝗎𝖾 =𝖿𝖺𝗅𝗌𝖾; Boolean separation refutes both cases. Thus the fiber of 𝑒 over 𝑑 is empty. If 𝑒 were surjective, its surjectivity witness at 𝑑 would give such an 𝑎 and equality. The empty target is a proposition, so the truncation may be eliminated into the contradiction. The construction uses function congruence and Boolean separation, but it never decides an arbitrary proposition and therefore does not use excluded middle.