The realized-spectrum relation is Borel #
For a fragment F and an arity n, the realized spectrum of a coded structure c is the
set of F-types of its n-tuples, Fragment.realizedSpectrum F n c. Two codes are
F,n-spectrum equivalent (SameRealizedSpectrum) when they realize the same spectrum: every
tuple of one has a matching tuple in the other, where matching means agreement on every member of
the slice. Tuples and the slice are countable, so the relation is a countable combination of
Borel satisfaction conditions (measurableSet_sameRealizedSpectrum). No topology on a powerset
of types is needed.
Isomorphism refines the relation (sameRealizedSpectrum_of_iso): the pointed-type transport
sends tuples to tuples of the same type. The converse is not claimed.
Everything here is below Silver; the dichotomy and the thinness characterization are in
Conditional/FragmentSpectrumThin.lean.
Classical background: Marker, Lectures on Infinitary Model Theory (Cambridge, 2016), Corollary 3.3.3, works with the relation of realizing the same fragment types.
The realized spectrum of a code at arity n: the F-types of its n-tuples.
Equations
- F.realizedSpectrum n c = Set.range fun (a : Fin n → ℕ) => F.pointedType c a
Instances For
Spectrum equivalence: the two codes realize the same F-types at arity n.
Equations
- F.SameRealizedSpectrum n c d = (F.realizedSpectrum n c = F.realizedSpectrum n d)
Instances For
Spectrum equivalence, expanded: every tuple of each code has a matching tuple in the other.
The spectrum-equivalence setoid.
Equations
- F.sameRealizedSpectrumSetoid n = { r := F.SameRealizedSpectrum n, iseqv := ⋯ }
Instances For
Isomorphism refines spectrum equivalence.
Borelness #
Spectrum equivalence is Borel for a countable fragment: countable unions and intersections over tuples of the agreement conditions.