Skip to content

Separators ​

The values v that are a vertical separator of p, or whose image under p^-1 is a vertical separator of p^-1.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt001402via Permutation✓
Separators(p)The values v that are a vertical separator of p, or whose image under p^-1 is a vertical separator of p^-1.
Typed signatures
TypePackageApplies
(permutation) -> numbercombinatoricsalways

Domain: Permutation statistics

Details
  • Defined over Permutation as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a Permutation and nothing else — it reads values against their positions, or walks the orbits, so it needs the bijection. Applying it to a bare list is a type error, not a wrong answer.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 3 else Count(Filter(
                                       Range(1, Length(_x)),
                                       Function(Apply(
                                                       (s: integer) => Apply((t: integer) => (Abs(_x[s - 1] -
                                                                                                  _x[s + 1]) ==
                                                                                              1 if s >= 2 &&
                                                                                                  s <=
                                                                                                  Length(_x) - 1 else False) ||
                                                                                             (Abs(Sum(Map(
                                                                                                           Function(j if _x[j] ==
                                                                                                                         t - 1 else 0, j),
                                                                                                           Range(1, Length(_x)),
                                                                                                         )) -
                                                                                                  Sum(Map(
                                                                                                           Function(j if _x[j] ==
                                                                                                                         t + 1 else 0, j),
                                                                                                           Range(1, Length(_x)),
                                                                                                         ))) ==
                                                                                              1 if t >= 2 &&
                                                                                                  t <=
                                                                                                  Length(_x) - 1 else False), _x[_x[v]]),
                                                       Sum(Map(
                                                                Function(
                                                                          j if _x[j] ==
                                                                               v else 0,
                                                                          j,
                                                                        ),
                                                                Range(
                                                                       1,
                                                                       Length(_x),
                                                                     ),
                                                              )),
                                                     ), v),
                                     ))

Examples

Basic #

the one-line word 312312

live ↗
InSeparators(Permutation⁡([3,1,2]))\mathrm{Separators}({\operatorname{Permutation}}([3, 1, 2]))Out11

the one-line word 24132413

live ↗
InSeparators(Permutation⁡([2,4,1,3]))\mathrm{Separators}({\operatorname{Permutation}}([2, 4, 1, 3]))Out44
Properties #

FindStat's value for [1]

live ↗
InCombinatorialStat(Permutation⁡([1]),Separators)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1]), \text{Separators})Out00

Known value · FindStat St001402

FindStat's value for [1,2]

live ↗
InCombinatorialStat(Permutation⁡([1,2]),Separators)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2]), \text{Separators})Out00

Known value · FindStat St001402

FindStat's value for [2,1]

live ↗
InCombinatorialStat(Permutation⁡([2,1]),Separators)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([2, 1]), \text{Separators})Out00

Known value · FindStat St001402

About
Examples5
CrosswalkFindStat