Documentation

TauCeti.ModelTheory.Counting.Classes

Classes of countable models #

Let L be a relational language and φ an infinitary sentence. A countable structure is isomorphic to one on ℕ or on some Fin n, so the isomorphism classes of the countable models of φ are the classes of its model classes on these carriers, under isomorphism of the decoded structures:

Countable here means at most countable: the finite models, including the empty structure, are counted. Leaving them out would be wrong, not just incomplete: with countably many unary predicates, the sentence saying that there is exactly one element has no model on ℕ and continuum many pairwise non-isomorphic models on Fin 1.

Models in arbitrary universes enter through TauCeti.classOf, which sends a countable model to the class of its transport to Fin n if it has n elements and to ℕ otherwise. Two countable models, in any two universes, have the same class exactly when they are isomorphic (TauCeti.classOf_eq_classOf_iff), and every class is the class of a countable model in every universe (TauCeti.classOf_surjective). So CountableModelClasses φ is the set of isomorphism classes of countable models of φ, presented as a type in the universe of the relation symbols, and no statement has to count a proper class of structures.

In a language with countably many relation symbols of each arity there are at most continuum many countable models. A perfect set of pairwise non-isomorphic models, at the tier ℕ or at some finite tier, gives exactly continuum many (TauCeti.HasPerfectlyManyCountableModels.countableModelCount_eq). On a finite carrier no back-and-forth stratification is needed: isomorphism already has closed, hence Borel, graph, so Silver's theorem relative to the Borel model class gives countably many models up to isomorphism or a perfect set of pairwise non-isomorphic ones.

Main results #

References #

The tiered presentation of the classes and the finite-carrier dichotomy follow AllCodedIsoClasses, isoSetoidOn, and counting_fin_models_dichotomy in Cameron Freer's cameronfreer/infinitary-logic (InfinitaryLogic/Descriptive/FiniteCarrier.lean, checkpoint 518a366, Apache-2.0); there the bridges are for models in Type and the finite-carrier dichotomy is cardinal-only, whereas here the bridges work in every universe and both witnessed and cardinal forms are proved.

@[reducible, inline]

Isomorphism of decoded structures, restricted to the configurations on V that decode to models of φ. Its classes are the isomorphism classes of the models of φ with carrier V. It is an abbreviation, so results stated for the restriction of isoSetoid L V to an arbitrary set of configurations apply to it.

Instances For
    @[simp]
    theorem TauCeti.RelationalConfiguration.isoSetoidOn_apply {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {V : Type w} {φ : L.SentenceInf ι} {c d : ↑(modelsOf φ)} :
    (isoSetoidOn V φ) c d ↔ (isoSetoid L V) ↑c ↑d

    Two models of φ are related exactly when their decoded structures are isomorphic.

    If every model of φ on V is a model of ψ, the models of φ on V have at most as many isomorphism classes as those of ψ: the inclusion of model classes is injective on classes.

    On a countable carrier, in a language with countably many relation symbols of each arity, the models of a sentence have at most continuum many isomorphism classes.

    On a finite carrier, restricted isomorphism on the model class of φ has closed graph in the square of the model class.

    On a finite carrier, in a language with countably many relation symbols of each arity, restricted isomorphism on the model class of φ has Borel graph.

    Finite-carrier dichotomy (Cantor form). On a finite carrier, in a language with countably many relation symbols of each arity, the models of an infinitary sentence with countable branching have countably many isomorphism classes or carry a Cantor antichain of pairwise non-isomorphic models.

    Finite-carrier dichotomy (perfect-set form). On a finite carrier, in a language with countably many relation symbols of each arity, the models of an infinitary sentence with countable branching have countably many isomorphism classes or contain a nonempty perfect set of pairwise non-isomorphic models.

    Finite-carrier dichotomy (cardinal form). On a finite carrier, in a language with countably many relation symbols of each arity, the models of an infinitary sentence with countable branching have either at most ℵ₀ or exactly 𝔠 isomorphism classes.

    @[reducible, inline]

    The isomorphism classes of the countable models of φ, tier by tier: the classes of the models with carrier ℕ, and, for each n, the classes of the models with carrier Fin n. Every countable model of φ, in any universe, has exactly one class here (classOf_eq_classOf_iff, classOf_surjective).

    Instances For
      noncomputable def TauCeti.countableModelCount {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} (φ : L.SentenceInf ι) :

      The number of countable models of φ up to isomorphism, finite models included.

      Instances For

        The number of countable models is the cardinality of CountableModelClasses φ.

        The number of countable models is the number of models on ℕ up to isomorphism plus, summed over n, the number of models on Fin n up to isomorphism.

        The models on ℕ contribute at most the number of countable models.

        The models on Fin n contribute at most the number of countable models.

        If the models on ℕ have at most a isomorphism classes and those on each Fin n at most b, there are at most a + ℵ₀ * b countable models.

        There are countably many countable models of φ exactly when the models on ℕ, and those on each Fin n, have countably many isomorphism classes.

        If every countable model of φ, on ℕ and on each Fin n, is a model of ψ, then φ has at most as many countable models as ψ.

        In a language with countably many relation symbols of each arity, there are at most continuum many countable models.

        Countable models in arbitrary universes #

        noncomputable def TauCeti.classOf {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} (φ : L.SentenceInf ι) {M : Type w} [L.Structure M] [Countable M] (hM : φ.Realize M) :

        The class of a countable model of φ, in any universe: the class of its transport to Fin n along a bijection if it has n elements, and to ℕ otherwise. It does not depend on the bijection (classOf_eq_inl, classOf_eq_inr).

        Instances For
          theorem TauCeti.classOf_eq_inl {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {φ : L.SentenceInf ι} {M : Type w} [L.Structure M] [Countable M] (hM : φ.Realize M) (e : M ≃ ℕ) :

          The class of an infinite countable model is that of its transport to ℕ along any bijection.

          theorem TauCeti.classOf_eq_inr {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {φ : L.SentenceInf ι} {M : Type w} [L.Structure M] [Countable M] {n : ℕ} (hM : φ.Realize M) (e : M ≃ Fin n) :

          The class of a model with n elements is that of its transport to Fin n along any bijection.

          @[simp]

          The class of the structure decoded from a model of φ on ℕ is the class of that model.

          @[simp]

          The class of the structure decoded from a model of φ on Fin n is the class of that model.

          theorem TauCeti.classOf_congr {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {φ : L.SentenceInf ι} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [Countable M] [Countable N] (g : L.Equiv M N) (hM : φ.Realize M) (hN : φ.Realize N) :
          classOf φ hM = classOf φ hN

          Isomorphic countable models, in any two universes, have the same class.

          The class of a countable model lies on the tier ℕ exactly when the model is infinite.

          theorem TauCeti.exists_classOf_eq_inr_iff {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {φ : L.SentenceInf ι} {M : Type w} [L.Structure M] [Countable M] (hM : φ.Realize M) (n : ℕ) :

          The class of a countable model lies on the tier Fin n exactly when the model has n elements.

          theorem TauCeti.classOf_eq_classOf_iff {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {φ : L.SentenceInf ι} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] [Countable M] [Countable N] (hM : φ.Realize M) (hN : φ.Realize N) :
          classOf φ hM = classOf φ hN ↔ Nonempty (L.Equiv M N)

          Two countable models of φ, in any two universes, have the same class exactly when they are isomorphic.

          theorem TauCeti.classOf_surjective {L : FirstOrder.Language} [L.IsRelational] {ι : Type uι} {φ : L.SentenceInf ι} (q : CountableModelClasses φ) :
          ∃ (M : Type w) (x : L.Structure M) (x_1 : Countable M) (hM : φ.Realize M), classOf φ hM = q

          Every class of countable models of φ is the class of a countable model in every universe.

          Perfect sets of non-isomorphic models #

          φ has perfectly many countable models: on ℕ or on some Fin n, its model class contains a nonempty perfect set of configurations whose decoded structures are pairwise non-isomorphic. The finite tiers are needed: with countably many unary predicates, the sentence saying that there is exactly one element has such a set on Fin 1 and no model on ℕ.

          Instances For

            φ has perfectly many countable models exactly when its model class on ℕ, or on some Fin n, contains a nonempty perfect set of pairwise non-isomorphic configurations.

            A perfect set of pairwise non-isomorphic models on ℕ gives perfectly many countable models.

            A perfect set of pairwise non-isomorphic models on some Fin n gives perfectly many countable models.

            In a language with countably many relation symbols of each arity, a sentence with perfectly many countable models has exactly continuum many.

            The finite-tier dichotomy #

            Across all finite carriers Fin n, either every finite tier has countably many models up to isomorphism, or some finite tier contains a nonempty perfect set of pairwise non-isomorphic models.

            A sentence without perfectly many countable models has countably many models up to isomorphism on every finite carrier Fin n.

            Across all finite carriers Fin n, the finite tiers together contribute at most countably many isomorphism classes of models, or some finite tier contains a nonempty perfect set of pairwise non-isomorphic models.

            The finite tiers together contribute at most countably many isomorphism classes of models, or φ has perfectly many countable models.

            If each finite carrier Fin n has either at most ℵ₀ or 𝔠 models of φ up to isomorphism, then the finite tiers together contribute either at most ℵ₀ or 𝔠 isomorphism classes of models. No countability assumption on the language or on the branching index ι is required.

            Across all finite carriers Fin n, in a language with countably many relation symbols of each arity, an infinitary sentence with countable branching has either at most ℵ₀ or 𝔠 finite models up to isomorphism.