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) :
          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
              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แถœ.

              Equations
                Instances For