TileScope · comb_spec_searcher

How TileScope expands a class

TileScope looks for a combinatorial specification by expanding tilings. Each expansion finds rules: a tiling written in terms of other tilings. The tilings and rules found so far are the search's universe, and every so often comb_spec_searcher checks it for a specification. Here each class's search is replayed as it was recorded, tiling by tiling between the checks.

…

The root is in the middle. Each tiling sits in the ring just outside the tiling whose rule first produced it, so a ring is one step further from the root, and each arc is as wide as the tilings at the ends of its branch. Select a tiling to see its rules: the tilings they lead to are outlined, in blue where this tiling's rule found them first, and in yellow where they were found elsewhere first, each with a line from the tiling.

green: verified at this check purple: verifying it alone would verify the root found, not verified found later in the specification the search returned

The purple tilings at this check

What the strategies found

The rules found by each strategy up to this check, those whose tilings are all green at this check, and those the specification uses. Rules are counted up to equivalence: tilings joined by two-way rules count as one.

How this was made

The searches. Each class's search was run on 25 October 2026, the domino's on 26 October, with comb_spec_searcher and Tilings. Eight start from the root of PermPAL's first specification for the class, with the strategy pack PermPAL used.

Fusion in two stages. The domino is searched as we now run every search with fusion: untracked first, and then tracked, by Tilings' GuidedSearcher on the tilings of the untracked specification. Only the tracked specification counts the class. The other searches with fusion, of Av(123), Av(1234), Av(1234, 1243) and Av(1324), use tracked fusion from the start, with packs PermPAL used.

Green is what comb_spec_searcher's pruning keeps at a check: a tiling with a rule whose tilings are all kept, down to verified ones. That covers the verified leaves and the tilings above them. The search has a specification when the root is green. Purple is a tiling that is not green and whose verification alone would make the root green.

The checks come at moments comb_spec_searcher picks by the time spent, so another run of the same search expands a little more or less before each check, and its numbers differ. Between two checks the replay adds the tilings in the order the search created them; their colors are known only at the checks.

The specification on the right is the one the search returned, each tiling at its place in it. Tilings joined by equivalences are drawn as one, so a chain of equivalences in the specification shows as a single tiling.

Copying a tiling. The buttons under a tiling copy it as Tilings writes it (Tiling.to_jsonable), which Tiling.from_json reads back, or as two lines of Python that make it.

Counting the specifications. The count is of the specifications comb_spec_searcher's generator builds from the green part: one rule for each tiling a specification reaches. It was given 20 seconds a class. The number depends on how far the search got before its last check: the smooth class's universe had 200 specifications in one run and 78,400 in another. For Av(1234) the generator was still going when its time ran out. The bound shown then is the product, over the green tilings, of the numbers of their rules within the green part.