Documentation

Mathlib.Dynamics.TopologicalEntropy.NetEntropy

Topological entropy via nets #

We implement Bowen-Dinaburg's definitions of the topological entropy, via nets.

The major design decisions are the same as in Mathlib.Dynamics.TopologicalEntropy.CoverEntropy, and are explained in detail there: use of uniform spaces, definition of the topological entropy of a subset, and values taken in EReal.

Given a map T : X → X and a subset F ⊆ X, the topological entropy is loosely defined using nets as the exponential growth (in n) of the number of distinguishable orbits of length n starting from F. More precisely, given an entourage U, two orbits of length n can be distinguished if there exists some index k < n such that T^[k] x and T^[k] y are far enough (i.e. (T^[k] x, T^[k] y) is not in U). The maximal number of distinguishable orbits of length n is netMaxcard T F U n, and its exponential growth netEntropyEntourage T F U. This quantity increases when U decreases, and a definition of the topological entropy is ⨆ U ∈ 𝓤 X, netEntropyInfEntourage T F U.

The definition of topological entropy using nets coincides with the definition using covers. Instead of defining a new notion of topological entropy, we prove that coverEntropy coincides with ⨆ U ∈ 𝓤 X, netEntropyEntourage T F U.

Main definitions #

Implementation notes #

As when using covers, there are two competing definitions netEntropyInfEntourage and netEntropyEntourage in this file: one uses a liminf, the other a limsup. When using covers, we chose the limsup definition as the default.

Main results #

Tags #

net, entropy

TODO #

Get versions of the topological entropy on (pseudo-e)metric spaces.

Dynamical nets #

def Dynamics.IsDynNetIn {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) (n : ) (s : Set X) :

Given a subset F, an entourage U and an integer n, a subset s of F is a (U, n)-dynamical net of F if no two orbits of length n of points in s shadow each other.

Equations
Instances For
    theorem Dynamics.IsDynNetIn.of_le {X : Type u_1} {T : XX} {F : Set X} {U : Set (X × X)} {m : } {n : } (m_n : m n) {s : Set X} (h : Dynamics.IsDynNetIn T F U m s) :
    theorem Dynamics.IsDynNetIn.of_entourage_subset {X : Type u_1} {T : XX} {F : Set X} {U : Set (X × X)} {V : Set (X × X)} (U_V : U V) {n : } {s : Set X} (h : Dynamics.IsDynNetIn T F V n s) :
    theorem Dynamics.isDynNetIn_empty {X : Type u_1} {T : XX} {F : Set X} {U : Set (X × X)} {n : } :
    theorem Dynamics.isDynNetIn_singleton {X : Type u_1} (T : XX) {F : Set X} (U : Set (X × X)) (n : ) {x : X} (h : x F) :
    theorem Dynamics.IsDynNetIn.card_le_card_of_isDynCoverOf {X : Type u_1} {T : XX} {F : Set X} {U : Set (X × X)} (U_symm : SymmetricRel U) {n : } {s : Finset X} {t : Finset X} (hs : Dynamics.IsDynNetIn T F U n s) (ht : Dynamics.IsDynCoverOf T F U n t) :
    s.card t.card

    Given an entourage U and a time n, a dynamical net has a smaller cardinality than a dynamical cover. This lemma is the first of two key results to compare two versions of topological entropy: with cover and with nets, the second being coverMincard_le_netMaxcard.

    Maximal cardinality of dynamical nets #

    noncomputable def Dynamics.netMaxcard {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) (n : ) :

    The largest cardinality of a (U, n)-dynamical net of F. Takes values in ℕ∞, and is infinite if and only if F admits nets of arbitrarily large size.

    Equations
    Instances For
      theorem Dynamics.IsDynNetIn.card_le_netMaxcard {X : Type u_1} {T : XX} {F : Set X} {U : Set (X × X)} {n : } {s : Finset X} (h : Dynamics.IsDynNetIn T F U n s) :
      s.card Dynamics.netMaxcard T F U n
      theorem Dynamics.netMaxcard_monotone_time {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) :
      Monotone fun (n : ) => Dynamics.netMaxcard T F U n
      theorem Dynamics.netMaxcard_antitone {X : Type u_1} (T : XX) (F : Set X) (n : ) :
      Antitone fun (U : Set (X × X)) => Dynamics.netMaxcard T F U n
      theorem Dynamics.netMaxcard_finite_iff {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) (n : ) :
      Dynamics.netMaxcard T F U n < ∃ (s : Finset X), Dynamics.IsDynNetIn T F U n s s.card = Dynamics.netMaxcard T F U n
      @[simp]
      theorem Dynamics.netMaxcard_empty {X : Type u_1} {T : XX} {U : Set (X × X)} {n : } :
      theorem Dynamics.netMaxcard_eq_zero_iff {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) (n : ) :
      theorem Dynamics.one_le_netMaxcard_iff {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) (n : ) :
      1 Dynamics.netMaxcard T F U n F.Nonempty
      theorem Dynamics.netMaxcard_zero {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) (U : Set (X × X)) :
      theorem Dynamics.netMaxcard_univ {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) (n : ) :
      Dynamics.netMaxcard T F Set.univ n = 1
      theorem Dynamics.netMaxcard_infinite_iff {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) (n : ) :
      Dynamics.netMaxcard T F U n = ∀ (k : ), ∃ (s : Finset X), Dynamics.IsDynNetIn T F U n s k s.card
      theorem Dynamics.netMaxcard_le_coverMincard {X : Type u_1} (T : XX) (F : Set X) {U : Set (X × X)} (U_symm : SymmetricRel U) (n : ) :
      theorem Dynamics.coverMincard_le_netMaxcard {X : Type u_1} (T : XX) (F : Set X) {U : Set (X × X)} (U_rfl : idRel U) (U_symm : SymmetricRel U) (n : ) :

      Given an entourage U and a time n, a minimal dynamical cover by U ○ U has a smaller cardinality than a maximal dynamical net by U. This lemma is the second of two key results to compare two versions topological entropy: with cover and with nets.

      theorem Dynamics.log_netMaxcard_nonneg {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) (U : Set (X × X)) (n : ) :
      0 (↑(Dynamics.netMaxcard T F U n)).log

      Net entropy of entourages #

      noncomputable def Dynamics.netEntropyEntourage {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) :

      The entropy of an entourage U, defined as the exponential rate of growth of the size of the largest (U, n)-dynamical net of F. Takes values in the space of extended real numbers [-∞,+∞]. This version uses a limsup, and is chosen as the default definition.

      Equations
      Instances For
        noncomputable def Dynamics.netEntropyInfEntourage {X : Type u_1} (T : XX) (F : Set X) (U : Set (X × X)) :

        The entropy of an entourage U, defined as the exponential rate of growth of the size of the largest (U, n)-dynamical net of F. Takes values in the space of extended real numbers [-∞,+∞]. This version uses a liminf, and is an alternative definition.

        Equations
        Instances For
          theorem Dynamics.netEntropyInfEntourage_antitone {X : Type u_1} (T : XX) (F : Set X) :
          theorem Dynamics.netEntropyEntourage_antitone {X : Type u_1} (T : XX) (F : Set X) :
          Antitone fun (U : Set (X × X)) => Dynamics.netEntropyEntourage T F U
          @[simp]
          theorem Dynamics.netEntropyEntourage_empty {X : Type u_1} {T : XX} {U : Set (X × X)} :
          @[simp]
          theorem Dynamics.netEntropyInfEntourage_empty {X : Type u_1} {T : XX} {U : Set (X × X)} :
          theorem Dynamics.netEntropyInfEntourage_nonneg {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) (U : Set (X × X)) :
          theorem Dynamics.netEntropyEntourage_nonneg {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) (U : Set (X × X)) :
          theorem Dynamics.netEntropyInfEntourage_univ {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) :
          theorem Dynamics.netEntropyEntourage_univ {X : Type u_1} (T : XX) {F : Set X} (h : F.Nonempty) :
          theorem Dynamics.coverEntropyEntourage_le_netEntropyEntourage {X : Type u_1} (T : XX) (F : Set X) {U : Set (X × X)} (U_rfl : idRel U) (U_symm : SymmetricRel U) :

          Relationship with entropy via covers #

          Bowen-Dinaburg's definition of topological entropy using nets is ⨆ U ∈ 𝓤 X, netEntropyEntourage T F U. This quantity is the same as the topological entropy using covers, so there is no need to define a new notion of topological entropy. This version of the theorem relates the liminf versions of topological entropy.

          Bowen-Dinaburg's definition of topological entropy using nets is ⨆ U ∈ 𝓤 X, netEntropyEntourage T F U. This quantity is the same as the topological entropy using covers, so there is no need to define a new notion of topological entropy. This version of the theorem relates the limsup versions of topological entropy.

          theorem Dynamics.coverEntropyInf_eq_iSup_basis_netEntropyInfEntourage {X : Type u_1} [UniformSpace X] {ι : Sort u_2} {p : ιProp} {s : ιSet (X × X)} (h : (uniformity X).HasBasis p s) (T : XX) (F : Set X) :
          Dynamics.coverEntropyInf T F = ⨆ (i : ι), ⨆ (_ : p i), Dynamics.netEntropyInfEntourage T F (s i)
          theorem Dynamics.coverEntropy_eq_iSup_basis_netEntropyEntourage {X : Type u_1} [UniformSpace X] {ι : Sort u_2} {p : ιProp} {s : ιSet (X × X)} (h : (uniformity X).HasBasis p s) (T : XX) (F : Set X) :
          Dynamics.coverEntropy T F = ⨆ (i : ι), ⨆ (_ : p i), Dynamics.netEntropyEntourage T F (s i)