Skip to content

ThreeCatalanPathCount ​

The paths from the origin to (n, n, n) with x >= y >= z whose first two coordinates trace this Dyck path and whose last two coordinates trace it as well.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt001800via DyckPath✓
ThreeCatalanPathCount(path)The paths from the origin to (n, n, n) with x >= y >= z whose first two coordinates trace this Dyck path and whose last two coordinates trace it as well.
Typed signatures
TypePackageApplies
(dyck_path) -> numbercombinatoricsalways

Domain: Dyck path statistics

Details
  • Defined over DyckPath as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a DyckPath 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.
  • With r the downs between consecutive up steps and s the ups between consecutive down steps, the product over consecutive pairs of binomial(r + s, r).

Definition

Epsil, as the implementation runs it.

on DyckPath, over _x

1 if Length(_x) < 4 else Apply((ups: list<integer>) => Apply(
                                                              (downs: list<integer>) => Product(Map(
                                                                                                     Function(Apply(
                                                                                                                     (r: integer) => Apply((s: integer) => (1 if r + s ==
                                                                                                                                                                 0 else Product(Range(1, r + s))) /
                                                                                                                                                           ((1 if r == 0 else Product(Range(1, r))) *
                                                                                                                                                            (1 if s == 0 else Product(Range(1, s)))), downs[k + 1] -
                                                                                                                                                             downs[k] -
                                                                                                                                                             1),
                                                                                                                     ups[k + 1] -
                                                                                                                     ups[k] -
                                                                                                                     1,
                                                                                                                   ), k),
                                                                                                     Range(1, Length(_x) / 2 -
                                                                                                              1),
                                                                                                   )),
                                                              Filter(
                                                                      Range(
                                                                             1,
                                                                             Length(_x),
                                                                           ),
                                                                      Function(_x[i] ==
                                                                               0, i),
                                                                    ),
                                                            ), Filter(
                                                                      Range(
                                                                             1,
                                                                             Length(_x),
                                                                           ),
                                                                      Function(_x[i] ==
                                                                               1, i),
                                                                    ))

Examples

Basic #

the step word UUDDUDUUDDUD

live ↗
InThreeCatalanPathCount(DyckPath⁡([1,1,0,0,1,0]))\mathrm{ThreeCatalanPathCount}({\operatorname{DyckPath}}([1, 1, 0, 0, 1, 0]))Out33

the step word UDUUDDUDUUDD

live ↗
InThreeCatalanPathCount(DyckPath⁡([1,0,1,1,0,0]))\mathrm{ThreeCatalanPathCount}({\operatorname{DyckPath}}([1, 0, 1, 1, 0, 0]))Out33
Properties #

FindStat's value for [1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0]),ThreeCatalanPathCount)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0]), \text{ThreeCatalanPathCount})Out11

Known value · FindStat St001800

FindStat's value for [1,0,1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0,1,0]),ThreeCatalanPathCount)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0, 1, 0]), \text{ThreeCatalanPathCount})Out22

Known value · FindStat St001800

FindStat's value for [1,1,0,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,1,0,0]),ThreeCatalanPathCount)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 1, 0, 0]), \text{ThreeCatalanPathCount})Out11

Known value · FindStat St001800

About
Examples5
CrosswalkFindStat