← Latest papers
💻 computer science

Satisfiability Modulo Extensional Constant Arrays (Extended Version)

This paper presents a novel, sound decision procedure for the SMT theory of extensional arrays with constant arrays that supports arbitrary index domains, overcoming previous limitations to finite or infinite cases, and demonstrates its effectiveness through implementation in the Bitwuzla solver.

Original authors: Mathias Preiner, Aina Niemetz, Clark Barrett

Published 2026-05-20
📖 4 min read☕ Coffee break read

Original authors: Mathias Preiner, Aina Niemetz, Clark Barrett

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 a detective trying to solve a mystery involving a massive, infinite library of books (an array). Each book has a specific slot number (an index) and contains a story (an element).

In the world of computer verification, we often need to ask questions like: "If I change the story in slot 5, does the story in slot 10 change?" or "Are these two libraries exactly the same?"

For a long time, the tools used to answer these questions (called SMT solvers) had a major blind spot. They were great at handling libraries where you could change individual books, but they struggled when the library started with a "default story" written on every single page before you even began.

The Problem: The "Blank Page" Dilemma

Imagine you have a library where every single book starts with the same default story: "The End."

  • The Old Way: If you wanted to tell the computer, "Okay, keep 'The End' everywhere, but change slot 5 to 'Chapter 1'," the computer had to write out a massive, nested list: "Change slot 5, then change slot 6, then change slot 7..." all the way to infinity.
  • The Result: This made the computer slow, confused, and prone to errors. It was like trying to describe a white wall by listing every single white pixel individually.

Furthermore, previous tools could only handle this "default story" concept if the library was infinite. If the library was finite (like a small bookshelf with only 4 slots), the old tools would often give the wrong answer. They couldn't figure out that if you overwrite every single slot on a small shelf, the "default story" no longer matters.

The Solution: The "Magic Stamp"

The authors of this paper, Mathias Preiner, Aina Niemetz, and Clark Barrett, built a new decision procedure (a new set of rules for the detective) called CAEXT.

Think of their solution as a Magic Stamp.
Instead of listing every single book, you can now say: "This whole shelf is stamped with the story 'The End'."

  • The Innovation: Their new system can handle this "Magic Stamp" whether the shelf is infinite or just a tiny, finite bookshelf.
  • The Trick: They realized that for a finite shelf, you only need to check if you've stamped over every slot. If you have, the shelf is now just the new story. If you haven't, the "default story" still applies to the empty spots.

How It Works (The "Propagation" Game)

The paper describes their method as a game of Passing the Baton.

  1. The Setup: You have a shelf with a "Magic Stamp" (a constant array) and some specific changes (updates).
  2. The Chase: The system tries to trace the path of information. If you change slot 1, does that change affect slot 2?
  3. The Conflict: Sometimes, the system finds a contradiction. For example, it might see that "Slot 1 is 'The End'" but also "Slot 1 is 'Chapter 1'."
  4. The Resolution: The new rules allow the system to say, "Wait, if the shelf only has 4 slots, and I've changed 4 different slots, then the 'Magic Stamp' is completely gone. The shelf is now just the new stories."

The paper proves mathematically that this new set of rules is sound. This means:

  • Refutational Soundness: If the system says "This is impossible," it is 100% correct. It never lies about a contradiction.
  • Satisfiability Soundness: If the system says "This is possible," it is 100% correct. It never lies about a solution existing.

The Real-World Test

The authors didn't just write theory; they built a tool called Bitwuzla and tested it against other top-tier detective tools (like Z3, cvc5, and MathSAT5).

  • The Results: Their new tool solved significantly more puzzles than the others.
  • The "Gotcha": They found that other tools, when faced with these "finite shelf" puzzles, often gave wrong answers. They would say a puzzle was solvable when it wasn't, or vice versa. Bitwuzla, using their new "Magic Stamp" logic, got it right every time.
  • Where it was used: They tested this on real-world problems like checking hardware designs and verifying smart contracts (digital agreements) on the Ethereum blockchain.

Summary

In simple terms, this paper introduces a smarter way for computers to reason about data structures that start with a default value.

  • Before: Computers were slow and confused when dealing with "default values" on small, finite data sets.
  • Now: The new method treats these defaults like a "Magic Stamp" that can be easily tracked and overwritten, working perfectly for both infinite and finite scenarios.
  • Impact: This makes the computer tools used to verify safety-critical software (like self-driving cars or blockchain contracts) faster, more accurate, and capable of solving problems that were previously impossible.

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 →