Documentation

Atlas.ProbabilisticMethodsInCombinatorics.code.TournamentHamilton

structure TournamentHamilton.Tournament (V : Type u_1) :
Type u_1

A tournament on an arbitrary vertex type $V$: an irreflexive, asymmetric, and complete Boolean edge relation (between distinct vertices exactly one direction holds).

Instances For

    A permutation $\sigma$ of $\mathrm{Fin}\, n$ encodes a Hamilton path of $T$ if each consecutive directed edge $\sigma(i) \to \sigma(i+1)$ lies in $T$.

    Instances For

      A permutation $\sigma$ encodes a Hamilton cycle of $T$ if every cyclic directed edge $\sigma(i) \to \sigma((i+1) \bmod n)$ lies in $T$.

      Instances For
        @[implicit_reducible]

        Decidability of being a Hamilton path.

        @[implicit_reducible]

        Decidability of being a Hamilton cycle.

        The finset of all Hamilton-path permutations of $T$.

        Instances For

          The finset of all Hamilton-cycle permutations of $T$.

          Instances For
            noncomputable def TournamentHamilton.numHamiltonPaths {n : } (T : Tournament (Fin n)) :

            Number of Hamilton paths of $T$.

            Instances For
              noncomputable def TournamentHamilton.numHamiltonCycles {n : } (T : Tournament (Fin n)) :

              Number of Hamilton cycles of $T$.

              Instances For
                def TournamentHamilton.extendTournament {n : } (T : Tournament (Fin n)) (f : Fin nBool) :
                Tournament (Fin (n + 1))

                Extension of a tournament on $\mathrm{Fin}\, n$ to one on $\mathrm{Fin}(n+1)$ by adding a new vertex whose incoming/outgoing edges are dictated by a Boolean function $f$: $f(v) = \mathrm{true}$ means new vertex beats $v$.

                Instances For
                  theorem TournamentHamilton.card_filter_two_constraints {n : } (a b : Fin n) (hab : a b) (hn : n 2) :
                  {f : Fin nBool | f a = true f b = false}.card = 2 ^ (n - 2)

                  The number of Boolean functions $f : \mathrm{Fin}\, n \to \{\bot, \top\}$ with $f(a) = \top$ and $f(b) = \bot$ is exactly $2^{n-2}$.

                  theorem TournamentHamilton.card_good_orientations {n : } (σ : Equiv.Perm (Fin n)) (hn : n 2) :
                  {f : Fin nBool | f (σ 0, ) = true f (σ n - 1, ) = false}.card = 2 ^ (n - 2)

                  For a permutation $\sigma$, the number of orientation functions $f$ making the new vertex compatible with $\sigma$ (i.e. $f(\sigma(0)) = \top$ and $f(\sigma(n-1)) = \bot$) is $2^{n-2}$.

                  theorem TournamentHamilton.good_paths_le_cycles (n : ) (hn : n 2) (T : Tournament (Fin n)) (f : Fin nBool) :
                  {σT.hamiltonPaths | f (σ 0, ) = true f (σ n - 1, ) = false}.card numHamiltonCycles (extendTournament T f)

                  Injection from Hamilton paths compatible with $f$ into Hamilton cycles of the extended tournament: each such path can be closed into a cycle via the new vertex.

                  Double-counting bound: summing the number of Hamilton cycles of each extension $T[f]$ over all orientation functions $f : \mathrm{Fin}\, n \to \{\bot, \top\}$ gives at least $\mathrm{numHamiltonPaths}(T) \cdot 2^{n-2}$.

                  Averaging argument (key step in Alon's bound for Hamilton paths): for any tournament $T$ on $n \ge 2$ vertices, there exists a one-vertex extension $T'$ on $n + 1$ vertices with $4 \cdot \mathrm{numHamiltonCycles}(T') \ge \mathrm{numHamiltonPaths}(T)$.