Skip to content

StackSortable ​

1 when p avoids the pattern 231, 0 otherwise — exactly the stack-sortable permutations.

StackSortable(p)1 when p avoids the pattern 231, 0 otherwise — exactly the stack-sortable permutations.
Typed signatures
TypePackageApplies
(list<integer> | 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 also a bare list of integers: this reading compares entries with each other rather than with their positions, so it stands on any sequence.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

1 if Length(_x) < 3 else 1 if Sum(Map(Function(Sum(Map(
                                                        Function(Count(Filter(
                                                                               Range(j + 1, Length(_x)),
                                                                               Function(_x[k] < _x[i] &&
                                                                                        _x[i] < _x[j], k),
                                                                             )), j),
                                                        Range(i + 1, Length(_x)),
                                                      )), i), Range(
                                                                    1,
                                                                    Length(_x),
                                                                  ))) == 0 else 0

Examples

Basic #

the one-line word 312312

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

the one-line word 312312, as a plain list

live ↗
InStackSortable([3,1,2])\mathrm{StackSortable}(\bigl\lbrack3, 1, 2\bigr\rbrack)Out11

the one-line word 24132413

live ↗
InStackSortable(Permutation⁡([2,4,1,3]))\mathrm{StackSortable}({\operatorname{Permutation}}([2, 4, 1, 3]))Out00
About
Examples3
CrosswalkWikipediaWikidataOEIS