Documentation

Mathlib.Combinatorics.KatonaCircle

The Katona circle method #

This file provides tooling to use the Katona circle method, which is double-counting ways to order n elements on a circle under some condition.

@[reducible, inline]
abbrev Numbering (X : Type u_1) [Fintype X] :
Type u_1

A numbering of a fintype X is a bijection between X and Fin (card X).

Instances For
    @[simp]
    theorem Fintype.card_numbering {X : Type u_1} [Fintype X] [DecidableEq X] :
    def Numbering.IsPrefix {X : Type u_1} [Fintype X] (f : Numbering X) (s : Finset X) :

    IsPrefix f s means that the elements of s precede the elements of sแถœ in the numbering f.

    Instances For
      theorem Numbering.IsPrefix.subset_of_card_le_card {X : Type u_1} [Fintype X] {f : Numbering X} {s t : Finset X} (hs : f.IsPrefix s) (ht : f.IsPrefix t) (hst : s.card โ‰ค t.card) :
      s โІ t
      @[implicit_reducible]
      instance Numbering.instDecidableIsPrefix {X : Type u_1} [Fintype X] {f : Numbering X} {s : Finset X} [DecidableEq X] :
      Decidable (f.IsPrefix s)
      def Numbering.prefixed {X : Type u_1} [Fintype X] [DecidableEq X] (s : Finset X) :

      The set of numberings of which s is a prefix.

      Instances For
        @[simp]
        theorem Numbering.mem_prefixed {X : Type u_1} [Fintype X] {f : Numbering X} {s : Finset X} [DecidableEq X] :
        f โˆˆ prefixed s โ†” f.IsPrefix s
        def Numbering.prefixedEquiv {X : Type u_1} [Fintype X] [DecidableEq X] (s : Finset X) :
        โ†ฅ(prefixed s) โ‰ƒ Numbering โ†ฅs ร— Numbering โ†ฅsแถœ

        Decompose a numbering of which s is a prefix into a numbering of s and a numbering on sแถœ.

        Instances For
          theorem Numbering.card_prefixed {X : Type u_1} [Fintype X] [DecidableEq X] (s : Finset X) :
          @[simp]
          theorem Numbering.dens_prefixed {X : Type u_1} [Fintype X] [DecidableEq X] (s : Finset X) :
          theorem Numbering.disjoint_prefixed_prefixed {X : Type u_1} [Fintype X] {s t : Finset X} [DecidableEq X] (hst : ยฌs โІ t) (hts : ยฌt โІ s) :