← Latest papers
💻 computer science

The AC0\mathsf{AC}^0-Complexity Of Visibly Pushdown Languages

This paper presents an algorithm that decides whether a visibly pushdown language belongs to the complexity class AC0\mathsf{AC}^0 by either confirming its membership, proving it is ACC0(m)\mathsf{ACC}^0(m)-hard, or reducing it to a specific subclass of intermediate VPLs whose complexity status remains an open conjecture.

Original authors: Stefan Göller, Nathan Grosshans

Published 2026-08-12
📖 7 min read🧠 Deep dive

Original authors: Stefan Göller, Nathan Grosshans

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are trying to sort a massive pile of letters. Some letters are simple, like "A" or "B," and you can sort them quickly by just looking at the first few. Others are tricky, like nested Russian dolls: every time you see a "Call" letter, you must wait for a matching "Return" letter later in the pile to know what to do with it. In the world of computer science, these are called Visibly Pushdown Languages (VPLs). They are the rules that govern how computers handle things like matching parentheses in code or balancing tags in a webpage.

Now, imagine you want to know how "hard" it is for a computer to decide if a specific letter belongs in your pile. Some rules are so simple that a computer can check them almost instantly, using a tiny, flat circuit (like a single layer of logic gates). This super-fast category is called AC0. Other rules are trickier; they require the computer to build a deeper, more complex circuit, perhaps needing to count or check for patterns that repeat in specific ways. The big question for decades has been: "Can we look at a set of these nested rules and instantly tell if they are simple enough to be in AC0, or if they are too complex?" It's like trying to look at a recipe and knowing immediately if it can be cooked in a microwave or if it requires a slow oven.

This paper, written by Stefan Göller and Nathan Grosshans, dives deep into this mystery. They don't just say "some are easy, some are hard." They introduce a new, mysterious middle ground they call Intermediate VPLs. Think of these as the "Goldilocks" rules: they aren't obviously simple, but they aren't obviously impossible to simplify either. The authors prove that they have built a magical algorithm (a step-by-step recipe for a computer) that can take any set of these nested rules and sort them into three buckets:

  1. The Easy Bucket: These are definitely in AC0 (super fast).
  2. The Hard Bucket: These are definitely not in AC0 (they require complex circuits).
  3. The Mystery Bucket: These are the "Intermediate" ones.

Here is the twist: the authors admit that for the "Mystery Bucket," they don't actually know the answer yet. They suspect that either all of these intermediate rules are easy, or none of them are. They can't prove which one is true, but they have proven that their algorithm can identify exactly which rules fall into this mystery category. If someone eventually solves the mystery of the intermediate rules, this algorithm will instantly solve the whole problem for every possible rule.

The Story of the Nested Dolls

To understand what the authors did, let's picture a computer as a very fast, very strict librarian. This librarian has to check if a string of letters (a "word") follows a specific set of rules. The rules are "visibly pushdown," meaning the librarian knows exactly when to push a letter onto a stack (like putting a book on a shelf) and when to pop it off, just by looking at the letter itself.

  • Call letters are like "Start a new chapter." The librarian puts a marker on the shelf.
  • Return letters are like "End the chapter." The librarian checks the shelf to see if the marker matches.
  • Internal letters are just text inside the chapter; they don't change the stack.

The goal is to see if the librarian can decide if a word is "good" (in the language) using a circuit that is very shallow (AC0). If the circuit is too deep, the computer takes too long.

The Three Buckets

The authors' main discovery is a new way to classify these rules. They found that for any set of rules, you can run their algorithm and get one of three answers:

1. The "Super Simple" Rules (AC0)
Some rules are so straightforward that the librarian doesn't even need to look at the whole stack. They can be checked with a tiny, flat circuit. The algorithm can prove this. For example, a rule that just says "count the number of 'A's and check if it's even" might fall here.

2. The "Too Complex" Rules (Not in AC0)
Some rules are inherently difficult. They require the computer to count in a way that a flat circuit simply cannot do. The algorithm can prove this too. It might say, "This rule is as hard as checking if a number is divisible by 3," which is known to be too hard for the super-fast AC0 circuits.

3. The "Intermediate" Rules (The Mystery)
This is the paper's biggest contribution. The authors found a specific type of rule that sits right in the middle. They call these Intermediate VPLs.
Imagine a rule that looks like this: "Start with a call, then do some internal stuff, then return. But here's the catch: the amount of 'stuff' you do on the way in must be different from the amount of 'stuff' you do on the way out, in a very specific, unbalanced way."

  • These rules are Quasi-Counterfree: They don't have simple repeating loops that make them easy to predict.
  • They are Weakly Length-Synchronous but not Length-Synchronous: This is a fancy way of saying the "in" and "out" parts of the rule are related, but not in a perfectly proportional way (like 1-to-1).

The authors proved that if your rule falls into this "Intermediate" bucket, their algorithm can tell you exactly what kind of intermediate rule it is. They can even show you a specific, simple example of an intermediate rule (like a specific grammar with a start symbol SS that can turn into $ack-1Sb1$ or $acl-1Sb2$) that is mathematically equivalent to your complex rule.

The Big Guess

Here is where it gets exciting. The authors don't know if these "Intermediate" rules are actually in the "Super Simple" bucket or the "Too Complex" bucket.

  • The Conjecture: They guess that either all intermediate rules are simple, or all of them are complex. There is no mix.
  • The Implication: If this guess is true, then their algorithm is actually a complete solution! It would mean we can finally decide for any visibly pushdown language whether it is in AC0 or not. We just need to solve the mystery of the intermediate ones.

Why This Matters

Before this paper, we knew how to check simple rules and we knew how to prove some rules were too hard. But we had a blind spot for these "Intermediate" rules. We didn't know if they were secretly easy or secretly hard.

The authors also showed that their method works for a special, simpler type of rule called Visibly Counter Languages (which are like VPLs but with only one type of stack marker). This confirms and improves upon previous work by other scientists (Krebs et al.), showing that their new method is a powerful general tool.

The Bottom Line

Göller and Grosshans didn't just solve the whole puzzle; they built a perfect map of the puzzle. They showed us exactly where the easy pieces are, exactly where the impossible pieces are, and exactly where the mysterious middle pieces are. They even gave us a specific shape for those middle pieces.

They are confident that their algorithm works perfectly to sort any rule into these three categories. They are also confident that the "Intermediate" rules are a distinct, well-defined group. However, they are not confident yet about the final fate of that middle group. They suspect it's an "all or nothing" situation, but until someone proves that, the question of whether these specific intermediate rules are in AC0 remains one of the great unsolved mysteries of computer science.

In short: We now have a tool that can tell us if a rule is easy, hard, or "mysteriously in-between." And if we ever figure out the mystery of the "in-between," we will have solved the entire problem for every possible rule in this class.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →