Documentation

TauCeti.SetTheory.Descriptive.GSGraph

The graphs G_S and G₀ on Cantor space #

For a set S of finite binary words, orientedGS S joins s ⌢ false ⌢ x to s ⌢ true ⌢ x, for s ∈ S and a common infinite tail x. Its symmetrization is the simple graph gSGraph S. Each word contributes a compact set of edges, so both edge relations are Fσ and Borel. The endpoints differ at coordinate s.length, so symmetrization removes no edges.

DenseWords S means that every word extends to a word of S; SparseWords S means that S has at most one word of each length. Density is the hypothesis in Miller's independence lemma, while sparseness permits a fusion construction to add at most one new edge at each level. The explicit canonicalWords has both properties, and gZero is its graph, the Kechris–Solecki–Todorcevic graph G₀.

Miller's independence lemma exists_mem_orientedGS_of_not_isMeagre says that for dense S every non-meagre subset of Cantor space with the Baire property contains an oriented edge. Consequently, for dense S:

The last statement is what makes pulled-back relations meagre, through the Kuratowski–Ulam theorem, in the category proof of Silver's theorem. For the canonical words, G₀ itself has no measurable coloring by ℕ (not_exists_measurable_coloring_gZero).

Density cannot be dropped. A dense word set has words of infinitely many lengths (DenseWords.infinite_image_length), and when the words of S have only finitely many lengths, the parity of the coordinates at those lengths changes along every edge. So gSGraph S then has a continuous coloring by Bool (exists_continuous_coloring_gSGraph), and orientedGS S has a countable Borel coloring (hasCountableBorelColoring_orientedGS). For S = {[]}, which is sparse, this coloring is the first coordinate.

References #

The word-and-common-tail description also appears in InfinitaryLogic/Descriptive/GSGraph.lean of cameronfreer/infinitary-logic (Apache-2.0), checkpoint 518a366cba97b1ae8c4dc64a297a396939bc3e0b. Here the oriented relation and Mathlib simple graph are separate, and the canonical words have every natural number as a length.

def TauCeti.orientedGS (S : Set (List Bool)) :
Set ((ℕ → Bool) × (ℕ → Bool))

The oriented graph associated to binary words S: change the bit just after a word of S from false to true, keeping the same tail.

Instances For
    theorem TauCeti.mem_orientedGS_iff {S : Set (List Bool)} {a b : ℕ → Bool} :
    (a, b) ∈ orientedGS S ↔ ∃ s ∈ S, ∃ (x : ℕ → Bool), a = PiNat.prependWord (s ++ [false]) x ∧ b = PiNat.prependWord (s ++ [true]) x

    Membership in the oriented graph is witnessed by a word and a common tail.

    Every word of S and every tail give an oriented edge.

    theorem TauCeti.ne_of_mem_orientedGS {S : Set (List Bool)} {a b : ℕ → Bool} (h : (a, b) ∈ orientedGS S) :
    a ≠ b

    The two endpoints of an oriented edge are distinct.

    An oriented edge is the graph of a coordinate flip restricted to the false half of a word cylinder.

    theorem TauCeti.orientedGS_mono {S T : Set (List Bool)} (h : S ⊆ T) :

    Enlarging the word set enlarges the oriented graph.

    The simple graph obtained by forgetting the orientation of orientedGS S.

    Instances For
      @[simp]
      theorem TauCeti.gSGraph_adj_iff {S : Set (List Bool)} {a b : ℕ → Bool} :

      Adjacency is precisely an oriented edge in one of the two directions; no additional inequality hypothesis is needed.

      theorem TauCeti.gSGraph_mono {S T : Set (List Bool)} (h : S ⊆ T) :

      Enlarging the word set enlarges the simple graph.

      The oriented graph is a countable union of compact edge sets, one for each word.

      The edges contributed by one word form a closed set.

      The oriented edge relation is Fσ, expressed as a Gδ complement.

      The oriented edge relation is Borel.

      theorem TauCeti.isGδ_compl_gSGraph (S : Set (List Bool)) :
      IsGδ {p : (ℕ → Bool) × (ℕ → Bool) | (gSGraph S).Adj p.1 p.2}ᶜ

      The unoriented edge relation is Fσ, expressed as a Gδ complement.

      theorem TauCeti.measurableSet_gSGraph (S : Set (List Bool)) :
      MeasurableSet {p : (ℕ → Bool) × (ℕ → Bool) | (gSGraph S).Adj p.1 p.2}

      The simple graph has a Borel edge relation.

      Dense and sparse words #

      A word set is dense if every word is a prefix of some member.

      Instances For

        A word set is sparse if it has at most one member of each length.

        Instances For
          theorem TauCeti.denseWords_iff {S : Set (List Bool)} :
          DenseWords S ↔ ∀ (r : List Bool), ∃ s ∈ S, r <+: s

          Unfolding the density condition.

          theorem TauCeti.sparseWords_iff {S : Set (List Bool)} :
          SparseWords S ↔ ∀ s ∈ S, ∀ t ∈ S, s.length = t.length → s = t

          Unfolding the sparseness condition.

          theorem TauCeti.DenseWords.mono {S T : Set (List Bool)} (h : DenseWords S) (hST : S ⊆ T) :

          Density passes to larger word sets.

          theorem TauCeti.SparseWords.mono {S T : Set (List Bool)} (h : SparseWords T) (hST : S ⊆ T) :

          Sparseness passes to smaller word sets.

          A dense word set has words of infinitely many lengths.

          Decode the first component of Nat.unpair n, then pad the decoded word with false to length n. If decoding fails or the word is too long, use the all-false word.

          Instances For
            @[simp]

            The canonical word at stage n has length exactly n.

            Coding a word in the first component of a sufficiently large pair produces an extension of that word.

            Canonical words are distinguished by their lengths.

            The canonical dense sparse word set defining G₀.

            Instances For

              The canonical word at every stage belongs to the canonical word set.

              Every finite word extends to a canonical word.

              There is only one canonical word of each length.

              There is exactly one canonical word of each length.

              The Kechris–Solecki–Todorcevic graph G₀ on Cantor space.

              Instances For
                @[simp]

                G₀ has exactly the two orientations of the canonical word edges.

                Miller's independence lemma #

                theorem TauCeti.exists_mem_orientedGS_of_not_isMeagre {S : Set (List Bool)} {A : Set (ℕ → Bool)} (hS : DenseWords S) (hA : BaireMeasurableSet A) (hn : ¬IsMeagre A) :
                ∃ a ∈ A, ∃ b ∈ A, (a, b) ∈ orientedGS S

                Miller's independence lemma. If every word extends to a word of S, then every non-meagre subset of Cantor space with the Baire property contains both ends of an oriented edge of orientedGS S.

                theorem TauCeti.exists_gSGraph_adj_of_not_isMeagre {S : Set (List Bool)} {A : Set (ℕ → Bool)} (hS : DenseWords S) (hA : BaireMeasurableSet A) (hn : ¬IsMeagre A) :
                ∃ a ∈ A, ∃ b ∈ A, (gSGraph S).Adj a b

                Miller's independence lemma, for the simple graph: if S is dense, then every non-meagre subset of Cantor space with the Baire property contains two adjacent points of gSGraph S.

                theorem TauCeti.isMeagre_of_isIndepSet_gSGraph {S : Set (List Bool)} {A : Set (ℕ → Bool)} (hS : DenseWords S) (hA : BaireMeasurableSet A) (hind : (gSGraph S).IsIndepSet A) :

                If S is dense, then every independent set of gSGraph S with the Baire property is meagre.

                theorem TauCeti.exists_not_baireMeasurableSet_colorClass {S : Set (List Bool)} (hS : DenseWords S) {ι : Type u_1} [Countable ι] (c : (gSGraph S).Coloring ι) :
                ∃ (i : ι), ¬BaireMeasurableSet (c.colorClass i)

                If S is dense, then every coloring of gSGraph S by countably many colors has a color class without the Baire property.

                If S is dense, then the oriented graph orientedGS S has no countable Borel coloring.

                theorem TauCeti.not_hasCountableBorelColoring_of_orientedGS_hom {S : Set (List Bool)} {X : Type u_1} [MeasurableSpace X] {G : SetRel X X} (hS : DenseWords S) {φ : (ℕ → Bool) → X} (hφ : Measurable φ) (hφG : ∀ ⦃y z : ℕ → Bool⦄, (y, z) ∈ orientedGS S → (φ y, φ z) ∈ G) :

                If every word extends to a word of S and a measurable map of Cantor space sends every oriented edge of orientedGS S to a pair of G, then G has no countable Borel coloring. This is the exclusivity half of the G₀ dichotomy.

                If S is dense, then gSGraph S has no measurable coloring by ℕ.

                theorem TauCeti.isMeagre_setOf_of_forall_gSGraph_adj {S : Set (List Bool)} (hS : DenseWords S) {E : Setoid (ℕ → Bool)} (hE : ∀ ⦃a b : ℕ → Bool⦄, (gSGraph S).Adj a b → ¬E a b) {a : ℕ → Bool} (ha : BaireMeasurableSet {b : ℕ → Bool | E a b}) :
                IsMeagre {b : ℕ → Bool | E a b}

                If S is dense and no edge of gSGraph S joins two E-equivalent points, then every class of E with the Baire property is meagre.

                theorem TauCeti.isMeagre_setOf_comp_of_forall_gSGraph_adj {S : Set (List Bool)} (hS : DenseWords S) {X : Type u_1} [MeasurableSpace X] {E : Setoid X} (hE : ∀ (x : X), MeasurableSet {y : X | E x y}) {φ : (ℕ → Bool) → X} (hφ : Measurable φ) (hφE : ∀ ⦃a b : ℕ → Bool⦄, (gSGraph S).Adj a b → ¬E (φ a) (φ b)) (a : ℕ → Bool) :
                IsMeagre {b : ℕ → Bool | E (φ a) (φ b)}

                Let E be an equivalence relation with measurable classes and φ a measurable map from Cantor space sending the edges of gSGraph S to E-inequivalent pairs. If S is dense, then every section {b | E (φ a) (φ b)} of the pulled-back relation is meagre.

                The Kechris–Solecki–Todorcevic graph G₀ has no measurable coloring by ℕ.

                Word sets with finitely many lengths #

                If the words of S have only finitely many lengths, then gSGraph S has a continuous coloring by Bool: the parity of the coordinates at those lengths. In particular, gSGraph S is two-colorable, although S may be sparse.

                If the words of S have only finitely many lengths, then the oriented graph orientedGS S has a countable Borel coloring. Since {[]} is such a word set and is sparse, the density hypothesis of not_hasCountableBorelColoring_orientedGS cannot be dropped, even for sparse word sets.