Permutations realizing an order pattern #
Fix an injective tuple q : Fin k ↪ α in a finite linear order. Each
permutation of α sorts q in exactly one of the k ! possible orders, and
the resulting classes are equinumerous, so one permutation in k ! leaves q
in increasing order.
Main declarations #
factorial_mul_card_monotone_comp—k ! * #{σ | Monotone (σ ∘ q)} = n !.card_monotone_comp_eq— thek !classes are equinumerous.
Implementation notes #
Tuple.comp_sort_eq_comp_iff_monotone supplies uniqueness of the sorting
reordering and Equiv.Perm.viaEmbedding transports a reordering of Fin k
to a permutation of α fixing everything off the tuple, which turns
precomposition into postcomposition and gives the bijections between classes.
[UPSTREAM] Mathlib has no permutation-pattern material; this belongs at
Mathlib/Combinatorics/Enumerative/PermutationPattern.lean.
The permutations sorting a fixed injective tuple into a given order all
number the same: Perm α splits into k ! equinumerous classes, one per
reordering of the tuple.
A fixed injective tuple is sorted by one permutation in k !.