What the name means
QF means quantifier-free. A adds arrays, and LIA means linear integer arithmetic.
Quantifier-free formulas have no explicit "for every" or "there exists" binders. They can still contain unknown values that the solver must find.
This division uses integer indices and integer array elements. It can express a write to item i + 1 or a fixed-weight sum of reads. Integer indices do not wrap at a machine word boundary.
The array is a total map, which means every integer index has a value. A program's length limit is separate. A read at index −1 is a valid term in the theory even when it would be an error in the modeled program.
Worked example
Preserve a neighboring item
An array stores integer stock counts. Update index i to 8, then inspect index i + 1.
- Define updated = store(stock, i, 8).
- Integer arithmetic guarantees i + 1 ≠ i.
- Ask whether select(updated, i + 1) ≠ select(stock, i + 1). The store changes only index i.
The query is unsat. The neighboring item keeps its original count.
This is an authored mathematical example, not captured Axeyum output. Here, sat means the constraints can all hold; unsat means they cannot.
A contrasting case
At index i itself, the old and new reads can differ. An old count of 2 and a new count of 8 provide a model of that difference.
Use cases
- Check array updates in programs modeled with mathematical integer indices.
- Reason about stock tables or counters whose element values are unbounded integers.
Modeling caution
An array of integer counts admits negative elements. Constrain the relevant reads if the application requires nonnegative counts; a variable name such as stock does not impose that rule.
Axeyum coverage
The examples explain the logic's meaning. They do not establish complete Axeyum support for this division. Acceptance, solving, and evidence coverage depend on the input and the solver route.
This division appears in the site's retained regression scoreboard. Read the individual slices and their source records for the tested scope.
A solver may return unknown if it cannot settle a query. That result establishes
neither sat nor unsat. Parsing a declared logic name alone does not prove support for every
formula in it.
Engine support documentation at the site's recorded snapshot, 03ae4a3c9, 2026-10-05.
Definitions and references
Definitions consulted September 6, 2026. The worked examples and use-case explanations are authored for this guide.