Substitution in the syntax is strictly functorial: the type 𝐴[𝛾][𝛿] and the type 𝐴[𝛾 ∘𝛿] are the same type, because both are the result of the same textual operation. In the semantics they need not be the same object. A dependent type is often presented as a map into its base, reindexing as pullback along a substitution, and a pullback is determined only up to canonical isomorphism. Proposition 151.27 already exhibited a chosen pullback for which 𝛿∗(𝛾∗𝑤) and (𝛾 ∘𝛿)∗𝑤 are distinct objects.
That gap is not repaired by choosing more carefully. The next section shows a type former — dependent products in the slices of 𝐒𝐞𝐭, the very structure proposition 151.25 constructed — for which the reindexing square commutes only up to isomorphism, and for which no choice makes it commute on the nose. So a category producing type formers up to isomorphism does not, by itself, interpret the judgmental equations Θ⊢(Π(𝐴,𝐵))[𝛾][𝛿]≡Π(𝐴[𝛾][𝛿],𝐵[𝛾+][𝛿+]) 𝗍𝗒𝗉𝖾 that the syntax proves by reflexivity. The question of this chapter is what extra data repairs this, and the answer is a construction: replace each type by a small classifying family together with a name, and reindex the name rather than the family.
A former that is stable only up to isomorphism
Fix the standard pullback of proposition 151.27, 𝑋 ×Γ𝑌:={(𝑥,𝑦) ∣𝑢(𝑥) =𝑤(𝑦)}, and define the chosen dependent product of 𝑣 :𝑍 →𝑌 along 𝑤 :𝑌 →Γ by Π𝑤(𝑣):={(𝑔,𝑠) ∣ 𝑔∈Γ, 𝑠:𝑤−1(𝑔)→𝑍, 𝑣∘𝑠=id} 𝗉𝗋1 ←←←←←←←←→ Γ, as in proposition 151.25. Let 𝛾 :Δ →Γ and 𝛿 :Θ →Δ. Then 𝛿∗(𝛾∗Π𝑤(𝑣))andΠ(𝛾∘𝛿)∗𝑤((𝛾∘𝛿)∗𝑣) are canonically isomorphic over Θ and are not equal. Indeed an element of the first is a nested pair (𝑡,(𝛿(𝑡),(𝛾(𝛿(𝑡)),𝑠))) with 𝑠 a section over the fibre 𝑤−1(𝛾𝛿(𝑡)), while an element of the second is a pair (𝑡,𝑠′) with 𝑠′ a section over the fibre of the pulled-back map, whose elements are themselves pairs. Already for Θ =Δ =Γ =𝑌 =𝑍 ={0} with all maps the identity the two underlying sets are {(0,(0,(0,!)))} and {(0,!′)} with ! and !′ sections of different maps, so the sets differ.
Referenced from 8 locations
Comprehension categories and stability
A comprehension category consists of a category C, a cloven Grothendieck fibration 𝑝 :T →C, and a functor 𝜒 :T →C→ into the arrow category, sending cartesian arrows to pullback squares, such that cod ∘𝜒 =𝑝 strictly. It is split when 𝑝 is a split fibration, and full when 𝜒 is full and faithful. All comprehension categories below are full. Objects of the fibre T(Γ) are types over Γ, and 𝜒(𝐴) :Γ.𝐴 →Γ is the display map of 𝐴. A map in C isomorphic to some 𝜒(𝐴) is a display map.
Referenced from 3 locations
Splitness is exactly the property the syntax has and example 156.1 lacks: in a split fibration the chosen cartesian lifts compose on the nose, so 𝐴[𝛾][𝛿] =𝐴[𝛾 ∘𝛿] as objects.
Let C =(C,T,𝑝,𝜒) be a comprehension category.
An identity type for 𝐴 ∈T(Γ) is a type 𝖨𝖽𝐴 ∈T(Γ.𝐴.𝐴), a factorization 𝑟𝐴 :Γ.𝐴 →Γ.𝐴.𝐴.𝖨𝖽𝐴 of the diagonal Δ𝐴 :Γ.𝐴 →Γ.𝐴.𝐴, and, for every 𝐶 ∈T(Γ.𝐴.𝐴.𝖨𝖽𝐴) and every 𝑑 :Γ.𝐴 →Γ.𝐴.𝐴.𝖨𝖽𝐴.𝐶 over 𝑟𝐴, a diagonal filler 𝑗𝐴,𝐶,𝑑 :Γ.𝐴.𝐴.𝖨𝖽𝐴 →𝐶 making both triangles commute.
A choice of identity types assigns one to every Γ,𝐴. It is strictly stable when for every 𝜎 :Γ′ →Γ 𝖨𝖽𝐴[𝜎]=𝖨𝖽𝐴[𝜎],𝑟𝐴[𝜎]=𝑟𝐴[𝜎],𝑗𝐴,𝐶,𝑑[𝜎]=𝑗𝐴[𝜎],𝐶[𝜎],𝑑[𝜎].
A weakly stable identity type for 𝐴 is a pair (𝖨𝖽𝐴,𝑟𝐴) as in (1) such that for every 𝜎 :Γ′ →Γ there exists some 𝑗 making (𝖨𝖽𝐴[𝜎],𝑟𝐴[𝜎],𝑗) an identity type for 𝐴[𝜎]. C has weakly stable identity types when every Γ,𝐴 admits one.
The analogous definitions for Π, Σ, 𝟎, 𝟏, binary sums and 𝖶 replace (𝖨𝖽,𝑟) by the type former with its constructors and 𝑗 by the eliminator.
Referenced from 5 locations
Let C be split with a strictly stable choice of the formers of a signature T. Then the interpretation of theorem 54.28 applies: derivable judgmental equalities of T become equalities of semantic data. If instead the choice is only weakly stable, the interpretation of a derivation is not well defined on judgments in general.
Referenced from 3 locations
Proof of Lemma 156.5 — Strict stability is what the syntax needs
Proof. For the first claim, splitness gives strict functoriality of reindexing and the stability equations give the former-wise substitution equations; these are exactly the clauses required by definition 116.28, so the induction of theorem 54.28 goes through. For the second, take the substitution rule for Π: two derivations of Θ ⊢(Π(𝐴,𝐵))[𝛾][𝛿] 𝗍𝗒𝗉𝖾, one applying substitution twice and one applying it once to the composite, are sent to the two objects of example 156.1, which are distinct. A function on judgments would have to give them one value. ◻
Local universes
The construction replaces a type over Γ by a type over an auxiliary object together with a name: a map from Γ that selects it. Reindexing then acts on the name only, and names compose strictly because they are arrows.
Let C =(C,T,𝑝,𝜒) be a full comprehension category. Define C! =(C,T!,𝑝!,𝜒!) by:
base: the same category C;
types: an object of T!(Γ) is a triple 𝐴 =(𝑉𝐴,𝐸𝐴,⌜𝐴⌝) with 𝑉𝐴 ∈C, 𝐸𝐴 ∈T(𝑉𝐴) and ⌜𝐴⌝ :Γ →𝑉𝐴 an arrow of C. Write [𝐴]:=𝐸𝐴[⌜𝐴⌝] ∈T(Γ). An arrow 𝐵 →𝐴 over 𝜎 :Δ →Γ is an arrow [𝐵] →[𝐴] over 𝜎 in T;
reindexing: 𝐴[𝜎]:=(𝑉𝐴,𝐸𝐴,⌜𝐴⌝ ∘𝜎), with the cartesian arrow 𝐴[𝜎] →𝐴 the canonical one supplied by cartesianness of 𝐸𝐴 over ⌜𝐴⌝;
comprehension: 𝜒!(𝐴):=𝜒([𝐴]).
Referenced from 7 locations
𝑝! is a split fibration, 𝜒! is full and faithful and sends cartesian arrows to pullback squares, and cod ∘𝜒! =𝑝!.
Referenced from 7 locations
Proof of Lemma 156.7 — C_! is a split full comprehension category
Proof. Splitness is the point of the definition: for 𝜎 :Δ →Γ and 𝜏 :Θ →Δ, (𝐴[𝜎])[𝜏]=(𝑉𝐴,𝐸𝐴,(⌜𝐴⌝∘𝜎)∘𝜏)=(𝑉𝐴,𝐸𝐴,⌜𝐴⌝∘(𝜎∘𝜏))=𝐴[𝜎∘𝜏], because composition in C is strictly associative; and 𝐴[idΓ] =𝐴 because id is a strict unit. The lifts are cartesian because they are the canonical comparisons of cartesian arrows in T, and they compose to the canonical comparison for the composite by uniqueness of such comparisons. Fullness and faithfulness of 𝜒! follow from those of 𝜒, since an arrow of T! over 𝜎 was defined to be an arrow of T between the associated types; and cartesian arrows of T! are sent to the same squares as the corresponding cartesian arrows of T. ◻
Take C =𝐒𝐞𝐭, T the codomain fibration, and let 𝐴 over Γ be presented by 𝑉𝐴:=Γ, 𝐸𝐴:=𝜒(𝐴) and ⌜𝐴⌝:=idΓ. For 𝛾 :Δ →Γ and 𝛿 :Θ →Δ, (𝐴[𝛾])[𝛿]=(Γ,𝐸𝐴,𝛾∘𝛿)=𝐴[𝛾∘𝛿], an equation of triples, whereas the associated types [(𝐴[𝛾])[𝛿]] and [𝐴[𝛾 ∘𝛿]] are computed by one pullback along 𝛾 ∘𝛿 in both cases. Contrast example 156.1: there the two routes built different objects, because the object was recomputed at each step; here only the name was recomputed.
Referenced from 3 locations
For maps 𝑍𝑔⟶𝑌𝑓⟶𝑋 with all pullbacks of 𝑓 existing, a dependent exponential of 𝑓 and 𝑔 is an object ∏𝑓𝑔 of C/𝑋 together with a bijection homC/𝑋(𝑊,∏𝑓𝑔) ≅ homC/𝑌(𝑊×𝑋𝑌,𝑍), natural in 𝑊. Say C satisfies condition (LF) when its underlying category has finite products and, whenever 𝑓 is a display map and 𝑔 is either a display map or a product projection, the dependent exponential ∏𝑓𝑔 exists.
Referenced from 6 locations
Each of the following implies (LF):
C has finite products and every display map is exponentiable;
every map 𝑋 →1 is a display map, and each reindexing functor 𝜒(𝐴)∗ :T(Γ) →T(Γ.𝐴) has a right adjoint;
C is locally cartesian closed.
Referenced from 3 locations
Proof of Proposition 156.10 — Sufficient conditions
Proof. (3) implies (1) because in a locally cartesian closed category every map is exponentiable and finite products exist. (1) implies (LF): a product projection 𝑍 →𝑌 is the pullback of 𝑍 ×𝑌 →𝑌 along the diagonal, so exponentiability of 𝑓 gives the required right adjoint at the two cases allowed by definition 156.9. (2) implies (LF): the hypothesis makes every object fibrant, so slices of C are recovered as fibres of T, and the stated right adjoints are exactly the dependent exponentials required. ◻
Lifting structure to the split replacement
The pattern is uniform. Given local universes for the type premises of a rule, construct one object V representing the remaining premise data; an instance of the premises over Γ is then an arrow Γ →V, there is a universal instance over V itself, and the operation is performed once, on that universal instance. The result over Γ is obtained by composing with the arrow. Only the arrow mentions Γ, and composition of arrows is strict; hence strict stability.
Let C have weakly stable binary sums. For 𝐴1 =(𝑉𝐴1,𝐸𝐴1,⌜𝐴1⌝) and 𝐴2 =(𝑉𝐴2,𝐸𝐴2,⌜𝐴2⌝) in T!(Γ) put 𝑉𝐴1+𝐴2:=𝑉𝐴1×𝑉𝐴2,𝐸𝐴1+𝐴2:=𝐸𝐴1[𝜋1]+𝐸𝐴2[𝜋2],⌜𝐴1+𝐴2⌝:=⟨⌜𝐴1⌝,⌜𝐴2⌝⟩.
Referenced from 5 locations
Construction 156.12 defines binary sums in C!, and they are strictly stable.
Referenced from 3 locations
Proof of Lemma 156.13 — Sums are strictly stable in C_!
Proof. The two projections 𝜋𝑖 let both 𝐸𝐴𝑖 be pulled back to 𝑉𝐴1 ×𝑉𝐴2, where the weakly stable sum of C is formed once. Its universal property is retained after reindexing along ⌜𝐴1 +𝐴2⌝ precisely because the sum was chosen weakly stably. For stability, let 𝜎 :Δ →Γ. The universe and the type component of (𝐴1 +𝐴2)[𝜎] are 𝑉𝐴1 ×𝑉𝐴2 and 𝐸𝐴1[𝜋1] +𝐸𝐴2[𝜋2], unchanged, while the name is ⟨⌜𝐴1⌝,⌜𝐴2⌝⟩ ∘𝜎 =⟨⌜𝐴1⌝ ∘𝜎,⌜𝐴2⌝ ∘𝜎⟩ =⌜𝐴1[𝜎] +𝐴2[𝜎]⌝, an equation of arrows. Hence (𝐴1 +𝐴2)[𝜎] =𝐴1[𝜎] +𝐴2[𝜎] on the nose. ◻
Assume (LF). For local universes (𝑉𝐴,𝐸𝐴) and (𝑉𝐵,𝐸𝐵) put 𝑉𝐴/𝑉𝐵:=∑𝑉𝐴∏𝐸𝐴((𝑉𝐴.𝐸𝐴)×𝑉𝐵→𝑉𝐴.𝐸𝐴), the dependent exponential of the display map of 𝐸𝐴 with the projection, summed over 𝑉𝐴; in the internal notation of (LF) this is 𝑉𝐴/𝑉𝐵=[𝑎:𝑉𝐴, 𝑏:𝑉𝐸𝐴(𝑎)𝐵]. Write 𝜋𝐴 :𝑉𝐴/𝑉𝐵 →𝑉𝐴 and 𝜋𝐵 :(𝑉𝐴/𝑉𝐵).𝐸𝐴[𝜋𝐴] →𝑉𝐵 for the two arrows corresponding to the identity of 𝑉𝐴/𝑉𝐵.
Referenced from 4 locations
For every Γ the assignment ℎ ↦(𝜋𝐴 ∘ℎ, 𝜋𝐵 ∘ℎ+) is a bijection between arrows ℎ :Γ →𝑉𝐴/𝑉𝐵 and pairs of arrows ⌜𝐴⌝ :Γ →𝑉𝐴 and ⌜𝐵⌝ :Γ.𝐸𝐴[⌜𝐴⌝] →𝑉𝐵, natural in Γ.
Referenced from 4 locations
Proof of Lemma 156.15 — The representing property
Proof. Unfold definition 156.9: arrows Γ →∑𝑉𝐴𝑊 are pairs of an arrow ⌜𝐴⌝ :Γ →𝑉𝐴 and an arrow into 𝑊 over it, and arrows into ∏𝐸𝐴( −) over ⌜𝐴⌝ correspond by the displayed bijection to arrows out of the pullback Γ ×𝑉𝐴(𝑉𝐴.𝐸𝐴), which is Γ.𝐸𝐴[⌜𝐴⌝] because 𝜒 sends cartesian arrows to pullbacks. Naturality in Γ is the naturality clause of definition 156.9 together with functoriality of the pullback. Taking Γ =𝑉𝐴/𝑉𝐵 and ℎ =id names the universal pair, which is (𝜋𝐴,𝜋𝐵). ◻
Let C have weakly stable Π-types and satisfy (LF). For 𝐴 ∈T!(Γ) and 𝐵 ∈T!(Γ.𝐴) put 𝑉Π(𝐴,𝐵):=𝑉𝐴/𝑉𝐵,𝐸Π(𝐴,𝐵):=Π(𝐸𝐴[𝜋𝐴], 𝐸𝐵[𝜋𝐵]),⌜Π(𝐴,𝐵)⌝:=ℎ, where ℎ :Γ →𝑉𝐴/𝑉𝐵 is the arrow corresponding by lemma 156.15 to the pair (⌜𝐴⌝,⌜𝐵⌝), and Π on the right is the weakly stable former of C applied to the universal instance.
Referenced from 5 locations
Construction 156.16 equips C! with a choice of Π-types satisfying the formation, introduction, elimination and computation rules, and for every 𝜎 :Δ →Γ, Π(𝐴,𝐵)[𝜎]=Π(𝐴[𝜎],𝐵[𝜎+]).
Referenced from 6 locations
Proof of Theorem 156.17 — Π is strictly stable in C_!
Proof. The former is well defined. Over 𝑉𝐴/𝑉𝐵 the pair (𝜋𝐴,𝜋𝐵) is a universal instance of the premises, so 𝐸𝐴[𝜋𝐴] and 𝐸𝐵[𝜋𝐵] are types over 𝑉𝐴/𝑉𝐵 and over its extension; the weakly stable Π of C applies. Reindexing that type along ℎ gives, by weak stability, a type over Γ still satisfying the universal property of a Π-type for [𝐴] and [𝐵]: this is exactly what definition 156.4(3) provides, and it is the only place weak stability is used. Introduction, elimination and computation are the operations of that retained universal property.
Strict stability. The universe and type components of Π(𝐴,𝐵) do not mention Γ; only ⌜Π(𝐴,𝐵)⌝ =ℎ does. By definition 156.6, Π(𝐴,𝐵)[𝜎] has the same first two components and name ℎ ∘𝜎. By naturality in lemma 156.15, ℎ ∘𝜎 is the arrow corresponding to the pair (⌜𝐴⌝ ∘𝜎, ⌜𝐵⌝ ∘𝜎+), which is the pair of names of 𝐴[𝜎] and 𝐵[𝜎+]. Hence the two sides have the same three components and are equal. ◻
Let C be a full comprehension category satisfying condition (LF). If C has weakly stable binary sums, respectively Π-types, identity types, Σ-types, zero types, unit types, or 𝖶-types relative to a stable class of Π-types, then its split replacement C! has a strictly stable choice of the corresponding structure, and therefore models the syntax of type theory with that structure.
Referenced from 11 locations
Proof of Theorem 156.18 — Coherence
Proof. C! is split by lemma 156.7. For each former the argument has the shape of theorem 156.17: build an object V representing the non-type premises of the rule using (LF) — products for sums (construction 156.12), 𝑉𝐴/𝑉𝐵 for Π, Σ and 𝖶 (construction 156.14), 𝑉𝐴 itself for identity, zero and unit types — apply the weakly stable structure of C to the universal instance over V, and take the name to be the arrow Γ →V classifying the actual premises. In each case:
the universal property survives reindexing along the name, by weak stability;
for a term former one additionally reindexes the resulting arrow from T(V) to T(Γ), which is an operation on arrows and hence strictly natural in Γ;
the components not equal to the name are independent of Γ, and the name composes strictly, so all the stability equations of definition 156.4(2) hold on the nose.
For 𝖶-types the representing object is built with the same 𝑉𝐴/𝑉𝐵, and the hypothesis that the Π-types used in its construction come from a stable class is what makes the universal instance available; without it the object V is not defined. Finally lemma 156.5 turns the strictly stable choice into an interpretation of the syntax. ◻
Let C be locally cartesian closed with T the codomain fibration. Then C! is a split full comprehension category with strictly stable Π, Σ, unit and identity types; in particular the interpretation of proposition 151.25 in 𝐒𝐞𝐭 yields, after the replacement, a model in which the judgmental equation Θ⊢(Π(𝐴,𝐵))[𝛾][𝛿]≡Π(𝐴[𝛾][𝛿],𝐵[𝛾+][𝛿+]) 𝗍𝗒𝗉𝖾 holds as an equality of semantic types.
Referenced from 4 locations
Proof of Corollary 156.19 — The slice interpretation is repaired
Proof. Local cartesian closure gives (LF) by proposition 156.10(3), and the codomain fibration of a locally cartesian closed category has weakly stable Π, Σ, unit and identity types — the last by factoring the diagonal through the object of paths in the slice, whose fillers exist for each reindexing. Apply theorem 156.18. The displayed equation is then an instance of the stability equation of theorem 156.17 applied twice, since names compose strictly by lemma 156.7. ◻
★☆☆ Verify lemma 156.7 for a three-fold composite: show ((𝐴[𝜎])[𝜏])[𝜌] =𝐴[𝜎 ∘𝜏 ∘𝜌] directly from definition 156.6, and say which property of C is used.
Referenced from 2 locations
★★☆ Show that construction 156.12 requires the finite products demanded by condition (LF): exhibit a comprehension category with weakly stable binary sums but without binary products in the base, and locate the step of lemma 156.13 that fails.
Referenced from 2 locations
★★☆ In the proof of theorem 156.17, weak stability is used exactly once. Identify the step, and show by an example that the conclusion fails if C has Π-types that are not weakly stable: give Γ, 𝐴, 𝐵 and a 𝜎 for which the reindexed type loses the universal property.
Referenced from 2 locations
★★☆ Carry out the construction of theorem 156.18 for identity types: name the representing object, write down the universal instance, and check the three stability equations of definition 156.4(2) explicitly.
Referenced from 2 locations
Extensions, natural models, and boundary
Theorem 156.18 lists the formers it covers, and each is covered by the construction actually carried out for it. Three extensions are frequently wanted and each requires its own hypotheses. Higher inductive structure needs a representing object for its point and path constructors together, and the argument applies only at signatures for which such an object exists. A universe in the object theory is not automatically strictly stable after the replacement: a universe is a type, so it acquires a local universe of its own, and the decoding must be shown stable, which is an extra verification. Strict equality in the object theory — a former whose elimination produces judgmental equations — may be treated by the same pattern, but it must not be used to prove the external theorem: the internal strict equality of a model is a statement inside the object theory, whereas theorem 156.18 is a statement about the model, and conflating them would make the coherence argument circular.
The results are lemma 156.7, theorem 156.17, theorem 156.18 and corollary 156.19. Their boundaries are these. Condition (LF) is a hypothesis of the theorem and is used to build every representing object; by remark 156.11 it is a condition on the ambient category, not on the object theory. Weak stability is a hypothesis about the structure being lifted, used once per former. The theorem produces a model of the syntax with the listed formers and nothing else: a former absent from the list is absent from the conclusion. And the construction changes the model, not the syntax: it neither adds nor removes a rule, and by remark 156.20 its effect is to make an equation that the syntax already proved into an equality of semantic objects.
The proof base is Lumsdaine and Warren’s local-universes construction, from which definition 156.6, definition 156.9, construction 156.14 and the statement of theorem 156.18 are taken with their hypotheses intact; the comprehension-category framework and the fibrational vocabulary of definition 156.3 follow [Jac99]; the precise comparison of split and non-split presentations, used implicitly whenever a model is said to be “the same” as a category with families, is [CCD21]; and the survey framing of the strictness problem is [Hof97, AG26]. The coherence result for strict equalities and its mechanization are [Boc25]; it is cited for the comparison in section 156.5 only, and no theorem of this chapter depends on it.
[4]
Suggested first pass.
Begin with exercise 156.5, then exercise 156.6, and finish with exercise 156.8.
★★★ Take C to be groupoids with T the fibration of isofibrations. Show that C satisfies condition (LF) and has weakly stable identity types, using the path object of proposition 152.26. Conclude from theorem 156.18 that the split replacement models identity types strictly, and compare the result with the direct construction of proposition 152.10: which one chooses the eliminator, and which one only asserts that a choice exists?
Referenced from 3 locations
★★★ Suppose C carries a universe: an object 𝑈 with a display map El →𝑈 such that every display map in a certain class is a pullback of it. Formulate strict stability for the decoding operation, and show that C! inherits it provided the classifying arrows are chosen functorially. Then exhibit a choice for which stability fails.
Referenced from 3 locations
★★☆ The local universe 𝑉𝐴 of a type may be much larger than the type itself. Show that in example 156.8 one may always take 𝑉𝐴 =Γ, and give an example in which every choice of 𝑉𝐴 that makes construction 156.16 work is strictly larger than Γ. What does this say about the size assumptions needed to run theorem 156.18?
Referenced from 2 locations
★★★ Practical project.local-universe-strictness-checker Implement, for the category of finite sets and functions with the codomain fibration, two representations of a dependent type over a base: the direct one, a display map with chosen pullbacks, and the local-universe one, a triple (𝑉𝐴,𝐸𝐴,⌜𝐴⌝) as in definition 156.6. Implement reindexing for both, and the chosen Π of example 156.1 for the direct representation and construction 156.16 for the replacement. The invariant the program must maintain is that it compares objects by identity of the represented data, never by the existence of a bijection, and that it reports an isomorphism separately from an equality. The program must print, for each named input, the two objects obtained by the two reindexing routes, whether they are equal, and whether they are isomorphic. The acceptance test is: for the direct representation and the data of example 156.1 the two routes print isomorphic: yes and equal: no; for the local-universe representation on the same data they print equal: yes; the reindexing of a name along a composite prints the same triple as the two-step reindexing, matching lemma 156.7; and the underlying types [𝐴] agree in all four cases, showing that the replacement changed the presentation and not the type. A finite-set checker is evidence on named inputs; it does not prove theorem 156.18, and it does not test condition (LF), which is automatic for finite sets.
Referenced from 3 locations