AVATAR was unveiled in 2014 by Voronkov [22]. Since then, he and his colleagues studied many options and extensions [3, 17]. A second implementation, in Lean’s super tactic, is due to Ebner [9]. Here we attempt to capture AVATAR’s essence.
The abstract AVATAR-based prover we define in this section extends the locking prover \(\mathsf {L}\) with a given clause procedure [13]. A-formulas are moved in turn from the passive to the active set, where inferences are performed. The heuristic for choosing the next given A-formula to move is guided by timestamps indicating when the A-formulas were derived, to ensure fairness.
Let \(\mathbf {TAF}= \mathbf {AF}\times \mathbb N\) be the set of timestamped A-formulas. Given
we define
and we overload existing notations to erase timestamps. Thus,
and so on. Note that we use a new set of calligraphic letters (e.g.,
) to range over timestamped A-formulas and A-formulas sets. Using the saturation framework [23, Sect. 3], we lift \(( SInf , SRed )\) to a calculus \(( TSInf , TSRed )\) on \(\mathbf {TAF}\) with the tiebreaker order > on timestamps, so that \((\mathcal {C}, t + k) \in TSRed _\mathrm {F}(\{(\mathcal {C}, t)\})\) for any \(k > 0\).
A state is a tuple
, where
,
, and
are respectively the sets of active, passive, and other (disabled or propositional) timestamped A-formulas, and
is the set of locked timestamped A-formulas such that (1)
, (2)
is enabled in
, and (3)
. The AVATAR-based prover \(\mathsf {AV}\) is defined as follows:
There is also a LockP rule that is identical to LockA except that it starts in the state
. An \(\mathsf {AV}\)-derivation is well timestamped if every A-formula introduced by a rule is assigned a unique timestamp.
Let
be an \(\Longrightarrow _\mathsf {AV}\)-derivation. It is easy to see that it refines the \(\Longrightarrow _\mathsf {L}\)-derivation
and that the saturation invariant
holds if
.
In contrast with nonsplitting provers, for \(\mathsf {AV}\), fairness w.r.t. formulas does not imply fairness w.r.t. inferences. A problematic scenario involves two premises
of an inference \(\iota \) and four transitions repeated forever, possibly with other steps interleaved: Infer makes
active; Switch disables it; Infer makes
active; Switch disables it. Even though
and
are selected in a strongly fair fashion, \(\iota \) is never performed. We need an even stronger fairness criterion.
Definition 19
An \(\Longrightarrow _\mathsf {AV}\)-derivation
is fair if (1)
or (2)
for infinitely many indices i and there exists a subsequence
converging to a limit point
such that (3)
and (4) 
Condition (3) ensures that all inferences involving passive A-formulas are redundant at the limit point. It would not suffice to require
because A-formulas can move back and forth between
,
, and
, as we just saw. Condition (4) is similar to the condition on locks in Definition 18. If the \(\Longrightarrow _\mathsf {AV}\)-derivation is fair, the corresponding \(\Longrightarrow _\mathsf {L}\)-derivation is also fair.
Many selection strategies are combinations of basic strategies, such as choosing the smallest formula by weight or the oldest by age. We capture such strategies using selection orders \(\mathrel {\lessdot }\). Intuitively, 
if the prover will always select
before
if both are present. We use two selection orders: \(\mathrel {\lessdot }_\mathbf {TAF}\), based on timestamps, must be followed infinitely often; \(\mathrel {\lessdot }_\mathbf {F}\) must be followed otherwise. For the first one, we can use \(\mathrel {\lessdot }_\mathrm {age}\) defined so that \((\mathcal {C},t) \mathrel {\lessdot }_\mathrm {age} (\mathcal {C}',t')\) if \(t < t'.\)
Definition 20
Let X be a set. A selection order \({\mathrel {\lessdot }}\) on X is an irreflexive and transitive relation such that
is finite for all \(x \in X\).
The intersection of two orders \(\mathrel {\lessdot }_1\) and \(\mathrel {\lessdot }_2\) corresponds to the nondeterministic alternation between them. The prover may choose either a \(\mathrel {\lessdot }_1\)-minimal or a \(\mathrel {\lessdot }_2\)-minimal A-formula, at its discretion.
To ensure completeness, we must restrict the inferences that the prover may perform; otherwise, it could derive infinitely many A-formulas with different assertions, causing it to switch between two branches of the split tree without making progress. Given \(\mathcal {N} \subseteq \mathbf {AF}\), let 
Definition 21
A function \(F : \mathcal {P}(\mathbf {AF})\rightarrow \mathcal {P}(\mathbf {AF})\) is strongly finitary if \(\lfloor F(\mathcal {N}) \rfloor \) and \(\bigcup \lceil F(\mathcal {N}) \rceil \setminus \bigcup \lceil \mathcal {N} \rceil \) are finite for any \(\mathcal {N} \subseteq \mathbf {AF}\) such that \(\lfloor \mathcal {N} \rfloor \) is finite.
Intuitively, a strongly finitary function F returns finitely many base formulas and finitely many new assertions, although it may return infinitely many A-formulas. Clearly, \(F(\mathcal {N})\) is finite for any finite \(\mathcal {N} \subseteq \mathbf {AF}\). If \( FInf (N)\) is finite for any finite \(N \subseteq \mathbf {F}\), then performing \( SInf \)-inferences is strongly finitary. Deterministic Split rules, such as AVATAR’s, are also strongly finitary. We can lift a strongly finitary F to any
by taking
. If F and G are strongly finitary, then so is
.
Simplification rules used by the prover must be restricted even more to ensure completeness, because they can lead to new splits and assertions. For example, simplifying
to
transforms an unsplittable clause into a splittable one. If simplifications were to produce infinitely many such clauses, the prover might split and switch models forever without making progress.
Definition 22
Let \(\prec \) be a well-founded relation on \(\mathbf {F}\), and let \(\preceq \) be its reflexive closure. A function \(S : \mathbf {AF}\rightarrow \mathcal {P}(\mathbf {AF})\) is a strongly finitary simplification bound for \(\prec \) if \(\mathcal {N} \mapsto \bigcup _{\mathcal {C} \in \mathcal {N}} S(\mathcal {C})\) is strongly finitary and \(\lfloor \mathcal {C}' \rfloor \preceq \lfloor \mathcal {C} \rfloor \) for all \(\mathcal {C}' \in S(\mathcal {C}).\)
The prover may simplify an A-formula \(\mathcal {C}\) to \(\mathcal {C}'\) only if \(\mathcal {C}' \in S(\mathcal {C})\). It may also delete \(\mathcal {C}\). Strongly finitary simplification bounds are closed under unions, allowing the combination of simplification techniques based on \(\prec \). For superposition, a natural choice for \(\prec \) is the clause order. The key property of strongly finitary simplification bounds is that if we saturate a finite set of A-formulas w.r.t. simplifications, the saturation is also finite.
Example 23
Let \(\mathbf {F}\) be the set of first-order clauses and
. Then S is a strongly finitary simplification bound. This S covers many simplification techniques, including elimination of duplicate literals, deletion of resolved literals, and subsumption resolution.
Example 24
If the Knuth–Bendix order [12] is used and all weights are positive, then
is a strongly finitary simplification bound. This can be used to cover demodulation.
Equipped with the above definitions, we introduce a fairness criterion that is more concrete and easier to apply than fairness of \(\Longrightarrow _\mathsf {AV}\)-derivations. We could refine \(\mathsf {AV}\) further and use this criterion to show the completeness of an imperative procedure such as Voronkov’s extended Otter loop [22, Fig. 3], thus showing that Vampire with AVATAR is complete if locking is sufficiently restricted.
Lemma 25
Let I be a strongly finitary function, and let S be a strongly finitary simplification bound. Then a well-timestamped \(\Longrightarrow _\mathsf {AV}\)-derivation
is fair if all of the following conditions hold:
-
1.
\(\mathrel {\lessdot }_\mathbf {TAF}\) is a selection order on
, and \(\mathrel {\lessdot }_\mathbf {F}\) is a selection order on \(\mathbf {F}\);
-
2.
and
is finite;
-
3.
for every Infer transition, either
is \(\mathrel {\lessdot }_\mathbf {TAF}\)-minimal in
or
is \(\mathrel {\lessdot }_\mathbf {F}\)-minimal in
;
-
4.
for every Infer transition,
;
-
5.
for every Process transition,
;
-
6.
if
, then eventually Switch or StrongUnsat occurs;
-
7.
if
, then eventually Infer, Switch or StrongUnsat occurs;
-
8.
there are infinitely many indices i such that either
or Infer chooses a \(\mathrel {\lessdot }_\mathbf {TAF}\)-minimal
at i;
-
9.
for every subsequence converging to a limit point.