Pointed fragment types #
The realized type of a finite tuple in a structure, relative to a fragment F, is the truth
assignment on the arity slice of F:
Fragment.slice F n— the formulas ofFat arityn, as a subtype of the existing syntax. No new syntax of types, no enumeration, and the empty slice is admitted.Fragment.realizedType F M a : F.slice n → Bool— which members of the slice the tupleasatisfies. At arity zero this is the truth of each sentence ofFinM(realizedType_zero).- Restriction along an inclusion of fragments is precomposition with the slice map
(
realizedType_le), and an isomorphism transports pointed types on the nose (realizedType_equiv).
Determining covers #
Set.countable_image_of_determining_cover is the counting kernel: if countably many
descriptions cover a selected set, and any two points satisfying the same description have the
same invariant, the invariant takes countably many values on the set. The proof is
representative-free: each description contributes a subsingleton image, and coverage puts the
image inside their countable union. Descriptions may overlap. Nothing about the cover is
assumed beyond coverage and determination: no measurability, no disjointness, no selector.
Reindexing need not preserve fragment membership: the reindexed formula can be built from the
existing operations (openBounds, mapFreeVars, relabel), but Fragment has no reindexing
closure. realizedType_reindex transports types through a supplied slice map satisfying the
semantic reindexing identity; it asserts nothing about membership.
Classical background: fragment types are Marker, Lectures on Infinitary Model Theory (Cambridge, 2016), Definition 2.2.19; the Borel pointed-type map is his Lemma 3.3.2. The intrinsic subtype interface and the determining-cover packaging are as implemented here.
Counting through a determining cover. Countably many descriptions P e cover S, and
any two points of S satisfying the same description have the same value of t; then t takes
countably many values on S. Representative-free: each description contributes a subsingleton
image.
The realized F-type of a tuple a in M: the truth assignment on the arity slice.
Equations
- F.realizedType M a φ = decide ((↑φ).Realize Empty.elim a)
Instances For
Reindexing need not preserve fragment membership. This lemma transports types between
two slices of the same F through a supplied slice map ρ satisfying the semantic reindexing
identity hρ for σ : Fin m → Fin n: the type of a ∘ σ is the type of a read through ρ.
Whether the reindexed formulas belong to F is exactly what ρ supplies.