InformationTheory

InformationTheory.Shannon.Kolmogorov.Counting

source

Counting and the existence of incompressible strings #

There are fewer than 2 ^ k natural numbers of complexity below k, because each such x is produced by a program shorter than k bits and the map sending x to its shortest program is injective (a program's output is determined by the program). Since there are only finitely many programs of length below k, only finitely many x can be that simple, and — the type of naturals being infinite — an incompressible x with k ≤ complexity x always exists.

Main statements #

def

InformationTheory.Kolmogorov.progNat

source
:

Encode a bit string as a positive natural number by reading it as the binary digits below a leading sentinel 1. The sentinel makes the encoding injective (the length is recoverable) and keeps a length-n string below 2 ^ (n + 1).

Equations
Instances For
    Used by
      theorem

      InformationTheory.Kolmogorov.progNat_pos

      source
      (p : List Bool) :
      Used by
        theorem

        InformationTheory.Kolmogorov.progNat_lt

        source
        (p : List Bool) :
        progNat p < 2 ^ (p.length + 1)
        Used by
          theorem

          InformationTheory.Kolmogorov.progNat_injective

          source
          Used by
            noncomputable def

            InformationTheory.Kolmogorov.shortestProg

            source
            (x : ) :

            A shortest program for x (attained by condComplexity_spec).

            Equations
            Instances For
              Used by
                noncomputable def

                InformationTheory.Kolmogorov.shortestNat

                source
                (x : ) :

                The natural-number code of x's shortest program.

                Equations
                Instances For
                  Used by
                    theorem

                    InformationTheory.Kolmogorov.shortestProg_length

                    source
                    Used by
                      theorem

                      InformationTheory.Kolmogorov.shortestProg_mem

                      source
                      Used by
                        theorem

                        InformationTheory.Kolmogorov.shortestNat_injective

                        source
                        Used by
                          theorem

                          InformationTheory.Kolmogorov.shortestNat_lt_of_lt

                          source
                          {x k : } (hx : complexity x < k) :
                          Used by
                            theorem

                            InformationTheory.Kolmogorov.complexity_lt_finite

                            source
                            (k : ) :
                            Used by
                              theorem

                              InformationTheory.Kolmogorov.incompressible_count

                              source
                              (k : ) :
                              {x : | complexity x < k}.ncard < 2 ^ k

                              Fewer than 2 ^ k naturals have complexity below k.

                              Used by
                                theorem

                                InformationTheory.Kolmogorov.exists_incompressible

                                source
                                (k : ) :
                                ∃ (x : ), k complexity x

                                For every bound k there is an incompressible x with k ≤ complexity x.

                                Used by

                                  Conditional version #

                                  The same counting bound holds relative to any condition y, needed for the entropy-rate lower bound where the condition is the block length. The y = 0 declarations above are the unconditional specializations.

                                  noncomputable def

                                  InformationTheory.Kolmogorov.shortestProgCond

                                  source
                                  (x y : ) :

                                  A shortest program for x under condition y (attained by condComplexity_spec).

                                  Equations
                                  Instances For
                                    Used by
                                      noncomputable def

                                      InformationTheory.Kolmogorov.shortestNatCond

                                      source
                                      (x y : ) :

                                      The natural-number code of x's shortest program under condition y.

                                      Equations
                                      Instances For
                                        Used by
                                          theorem

                                          InformationTheory.Kolmogorov.shortestProgCond_length

                                          source
                                          Used by
                                            theorem

                                            InformationTheory.Kolmogorov.shortestProgCond_mem

                                            source
                                            Used by
                                              theorem

                                              InformationTheory.Kolmogorov.shortestNatCond_injective

                                              source
                                              (y : ) :
                                              Used by
                                                theorem

                                                InformationTheory.Kolmogorov.shortestNatCond_lt_of_lt

                                                source
                                                {x y k : } (hx : condComplexity x y < k) :
                                                Used by
                                                  theorem

                                                  InformationTheory.Kolmogorov.condComplexity_lt_finite

                                                  source
                                                  (y k : ) :
                                                  Used by
                                                    theorem

                                                    InformationTheory.Kolmogorov.condIncompressible_count

                                                    source
                                                    (y k : ) :

                                                    Fewer than 2 ^ k naturals have conditional complexity below k, for any condition y. @audit:ok

                                                    Used by