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).

Equations
Instances For
    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.

    Equations
    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
      def Numbering.prefixed {X : Type u_1} [Fintype X] [DecidableEq X] (s : Finset X) :

      The set of numberings of which s is a prefix.

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

        Decompose a numbering of which s is a prefix into a numbering of s and a numbering on sᶜ.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[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) :