In this section we prove the completeness theorem for LPSup. We show that any set of labeled clauses which is saturated up to redundancy till repetition with respect to LPSup (Definition 2.17) represents in a particularly chosen rank (K, L) a set of standard clauses saturated up to redundancy with respect to PSup (Definition 2.2). This way, we lift the standard completeness of PSup to the level of labeled clauses.
We also discuss the possibility of constructing models of satisfiable sets of labeled clauses. We describe how to utilize the model operator of PSup to process the potentially infinite set of standard clauses represented by a set of labeled clauses. For satisfiable sets saturated by LPSup this gives us a straightforward “backtrack-free” model building procedure.
The section ends with an extensive example which demonstrates the layer-by-layer saturation process described previously as well as the subsequent model building. Completeness theorem
Before we prove our main result, we need a simple lemma about Leap inferences from the “periodic part” of infinite extensions (Definition 2.16).
Lemma 2.12. Let N be a set of labeled clauses saturated till repetition with offset o and period p, let N∗ be the infinite extension of N , and let (b, k)|| C be a non-redundant
clause in N∗ such that k ≥ o. Then the clauses (b, k − j · p) || C are in N∗ for every
j = 1, . . . ,bk/pc.
Proof. If k ≥ o + p, the conclusion for j = 1 follows from Definition 2.16 and the rest from this very lemma with k replaced by k− p (formally, this is an inductive argument). If k < o + p the conclusion follows from Definition 2.17 item (4).
Theorem 2.3 (Completeness of LPSup). Let N be a set of labeled clauses saturated till repetition with offset o and period p and N∗ its infinite extension that is not obviously contradictory. Let K be the smallest natural number such that (0, K)|| ⊥ is not in N∗
and let L be the smallest multiple of p that is not smaller than o. Then the set N∗ (K,L)
does not contain the (standard) empty clause and is saturated up to redundancy with respect to PSup.
Proof. First note that since N∗ is not obviously contradictory, the number K is well-
defined. Moreover, if N∗ contains an empty labeled clause, it must be of the form (0, k)|| ⊥ with k 6= K. Such a clause can only represent the (standard) empty clause in (K, L) if the equation
0 + k = K + s· L
has a solution for some s∈ N. But k = K is already ruled out and if we had k = K +s·L for some s∈ N+, then, because L is a multiple of p not smaller than o and because an
empty clause is never redundant, the labeled clause (0, K)|| ⊥ would have to be in N∗ by
Lemma 2.12, which is impossible. Therefore, N(K,L)∗ does not contain the empty clause. To show that N(K,L)∗ is saturated up to redundancy with respect to PSup, let us take an Ordered Resolution inference of PSup with premises C∨ a and D ∨ ¬a in N∗
(K,L)
that are non-redundant with respect to N(K,L)∗ . Recall that for such premises the atom a is maximal in C and its complement ¬a is maximal in D. We claim that the labeled clauses from N∗ that represent these premises in (K, L) can be chosen in such a way
that they form premises of Ordered Resolution inference of LPSup. In more detail, we claim that there is a labeled clause (b1, k1)|| C1∨a1 in N∗ that represents C∨a in (K, L)
and a labeled clauses (b2, k2)|| D2 ∨ ¬a2 in N∗ that represents D∨ ¬a in (K, L) such
that
(i) a1 is maximal in C1 and ¬a2 is maximal in D2,
(ii) a1 is identical to a2 (this is not obvious as we could also have, e.g., (a1)0 = a2),
(iii) the merge of (b1, k1) and (b2, k2) is defined and equal to some (b, k).
Because the clauses C ∨ a and D ∨ ¬a are non-redundant with respect to N(K,L)∗ , the labeled clauses (b1, k1)|| C1∨a1and (b2, k2)|| D2∨¬a2are non-redundant with respect to
N∗. It follows from Definition 2.17 item (2) that the labeled conclusion (b, k)|| C1∨ D2
is either redundant with respect to N∗ or contained in N∗. By Lemma 2.4 the labeled conclusion represents the standard conclusion C∨D in (K, L), which is, therefore, either redundant with respect to N(K,L)∗ or contained in N(K,L)∗ . Thus, to finish the proof, we just need to verify the above claim and, in particular, check the items (i)–(iii).
The ordering constraints of item (i) follow immediately from the corresponding prop- erty of the represented standard clauses, because we assume both PSup and LPSup to be parametrized by the same fixed literal ordering < (see Definition 2.11).
To find the right labeled clauses for representing the premises of the PSup inference, such that they satisfy items (ii) and (iii), we will rely on the fact that the set N is saturated till repetition. Assume that the labeled clause (b1, k1)|| C1 ∨ a1 represents
C∨ a and the labeled clause (b2, k2)|| D2 ∨ ¬a2 represents D∨ ¬a. This means there
are t1 ∈ R(K,L)(b1, k1) and t2 ∈ R(K,L)(b2, k2) such that (a1)(t1) = (A2)(t2)= a. Because
all labeled clauses are over the signature Σ∪ Σ0, if the atom a1 is not identical to a2,
it must be the case that a1 ∈ Σ and (a1)0 equals a2 ∈ Σ0, or symmetrically with a1
and a2 exchanged. Let us focus without loss of generality on the first case. We must
have t1 = t2+ 1 > 0 and, therefore, b1 =∗. Moreover, because the atom a1 is maximal
the labeled clause (b1, k1)|| C1∨ a1 is a valid premise of the Temporal Shift inference.
It follows from Definition 2.17 item (3) that the conclusion (∗, k0
1)|| (C1 ∨ a1)0 of this
inference is contained in N∗. The conclusion represents the same clause C∨ a in (K, L) as the premise by Lemma 2.6 and satisfies item (ii) above. We can, therefore, replace the labeled clause (b1, k1)|| C1∨a1by (∗, k10)|| (C1∨a1)0, or, in other words, assume that item
(ii) is already satisfied by the labeled clauses (b1, k1)|| C1∨ a1 and (b2, k2)|| D2∨ ¬a2.
Let us finally focus on item (iii). The only case when the merge operation is not defined for labels (b1, k1) and (b2, k2) is when k1, k2 ∈ N and k1 6= k2. Because we
assume item (ii) already holds, we have that the indexes t1 and t2 are equal, their
common value lies in R(K,L)(b1, k1)∩ R(K,L)(b2, k2), and, therefore, L divides k1 − k2.
Assuming without loss of generality that k1 > k2, this implies that k1 ≥ o (since L ≥ o)
and so by Lemma 2.12 there is a labeled clause (b1, k2)|| C1∨ a1 in N∗ (since p divides
L), which also represents the clause C∨ a in (K, L) by Lemma 2.7. Thus, by replacing the labeled clause (b1, k1)|| C1 ∨ a1 by (b1, k2)|| C1 ∨ a1 we obtain labeled clauses for
representing the premises of the PSup inference that satisfy both items (ii) and (iii). Model building
We obtain as a corollary of the above theorem and the completeness of PSup (Theo- rem 2.1) that the standard clause set N(K,L)∗ is satisfiable. In fact, we know that
I<c
(N(K,L)∗ )|= N(K,L)∗ ,
where I<c
is the model operator (see Definition 2.3) corresponding to the clause ex- tension <c of the ordering < on literals over Σ∗ =S
i∈NΣ(i). To turn this observation
into an algorithm we just need to generate the clauses from N(K,L)∗ in increasing or- der and incrementally build a partial interpretation I, collecting the atoms whose truth value has already been decided. This interpretation I (over the signature Σ∗) naturally corresponds to an LTL interpretation V = (Vi)i∈N, i.e., to a sequence of propositional
valuations over Σ (see Lemma 2.2). Because there is only finitely many possible valu- ations over Σ, we are eventually bound to detect a repetition Vi = Vj between some of
the already completed valuations Vi. At this point we stop the construction and output
an ultimately periodic interpretation, which is a model4 of N .
The pseudocode of the model building procedure is detailed in Algorithm 2.3. It iterates over the time indexes i in increasing order (line 3) and each time collects the (finite) set of those “instances of clauses in N∗”, i.e., of those standard clauses over Σ∗
represented in (K, L) by some clause in N∗, which are relevant for the current index i, i.e., contain a literal over Σ(i) (lines 5–8). Note that because the set N is saturated by
Leap we only need to pick the labeled clauses from N and not from its infinite extension N∗. Also, because the set N is saturated by Temporal Shift, once i > 0, we only need to focus on clauses that contain a primed literal (see line 8).
4To be more precise, the corresponding (via Lemma 2.2) valuation V∗
: Σ∗→ {0, 1} witnesses (K, L)- satisfiability of N (see Definition 2.10) for K equal to the length of the initial segment and L to the period of the ultimately periodic interpretation.
Algorithm 2.3 LTL model building Input:
A set of labeled clauses N saturated till repetition such that N∗ is not obviously contradictory
Output:
An ultimately periodic LTL interpretation V = (Vi)i∈N such thatV |= N
1: compute the rank (K, L) as in the completeness theorem
2: I ← ∅/* Set of atoms over Σ∗, working as a partial interpretation */ 3: for i← 0, 1, . . . do
4: /* Collect clauses relevant for the current index i */ 5: if i = 0 then
6: R ← {C(i) | (b, k) || C ∈ N, C over Σ, i ∈ R(K,L)(b, k)} 7: else
8: R ← {C(i−1) | (b, k) || C ∈ N, C has a primed literal, (i − 1) ∈ R(K,L)(b, k)} 9: /* Build the next valuation Vi */
10: foreach p∈ Σ ordered by < do 11: if there is (C∨ p(i))∈ R such that
p(i) is maximal in C and C is false in I then
12: I ← I ∪ {p(i)}
13: Vi← λp ∈ Σ . if p(i) ∈ I then 1 else 0 14: /* Check for repetition */
15: if i≥ K and Vi = Vj from some j < K +b(i − K)/Lc · L then 16: return λn∈ N . if n ≤ j then Vn else Vj+(n−j) mod (i−j)
The Σ(i)-part of the interpretation I is then built following the definition of the stan-
dard model operator (lines 10–12). We use the lambda notation to describe the cor- responding valuation Vi (line 13). Finally, the repetition check of valuations (line 15)
makes sure that between the indexes j and i, which mark the repetition, there is at least one index of the form K + s· L, where the goal clauses are satisfied. The resulting ultimately periodic interpretation is again defined using the lambda notation (line 16). Example
Let Σ ={a, b} be a signature ordered by a < b and let us consider the following set of labeled clauses N 1: (0,∗) || ¬a 2: (∗, 0) || a 3: (∗, ∗) || ¬a ∨ b ∨ a0 4: (∗, ∗) || a ∨ ¬a0∨ ¬b0 5: (∗, ∗) || ¬b ∨ ¬a0∨ ¬b0 6: (∗, ∗) || ¬a ∨ b ∨ b0 7: (∗, ∗) || ¬a ∨ ¬a0∨ b0
We first saturate the ∗-layer of N. Ordered Resolution inferences between the pairs of clauses (4,6), (4,7), and (5,6) lead to tautologies. The last remaining pair (5,7) yields the following clause.
8: (∗, ∗) || ¬a ∨ ¬b ∨ ¬a0 OR(5,7)
Because the conclusion of the Ordered Resolution inference for the pair (3,8) is a tau- tology, the ∗-layer is now saturated. The layer-by-layer saturation proceeds as follows.
9: (0, 0)|| ⊥ OR(1,2)
10: (∗, 1) || a0 TS(2)
11: (∗, 1) || ¬a ∨ ¬b OR(8,10)
12: (∗, 2) || ¬a0∨ ¬b0 TS(11)
13: (∗, 2) || ¬a ∨ b ∨ ¬a0 OR(6,12)
14: (∗, 2) || ¬a ∨ ¬a0 OR(7,12), subsumes 13
15: (∗, 2) || ¬a ∨ b OR(3,14)
16: (∗, 3) || ¬a0∨ b0 TS(15)
17: (∗, 3) || a ∨ ¬a0 OR(4,16)
18: (∗, 3) || ¬b ∨ ¬a0 OR(5,16)
Because both the possible Ordered Resolution inferences for the pairs (3,17) and (3,18) yield a tautology, layer-by-layer saturation terminates by exhausting the set of Usable clauses. We make use of Remark 2.1 and only focus on shiftable clauses when looking for layer repetition. Recall that these are clauses of the form (∗, k) || C where C is over Σ. There is no shiftable clause in the 3-layer and, obviously, neither in the empty 4-layer, so we report offset o = 3 and period p = 1.
Because we saturated our clause set finitely, no Leap inference is needed: the set is automatically saturated till repetition. The set is also not obviously contradictory. We learn from the completeness theorem that we should look for a (K, L)-model with K = 1 and L = 3.
Below we trace the run of the model building Algorithm 2.3. We show the values of selected variables as they change during the individual iterations. For the variable R we use one additional obvious optimization, which is not mentioned in the pseudocode: we only collect those clauses that are currently false in I and their maximal literal is positive, because only such clauses can later produce a literal into I.
iteration i relevant clauses R additions to I computed Vi
0 ∅ ∅ {a 7→ 0, b 7→ 0}
1 {a0} {a0} {a 7→ 1, b 7→ 0}
2 {¬a
0∨ b0∨ a(2),¬a0∨ b0∨ b(2),
{a(2), b(2)} {a 7→ 1, b 7→ 1}
¬a0∨ ¬a(2)∨ b(2),¬a(2)∨ b(2)}
3 {¬a(2)∨ ¬a(3)∨ b(3)} {b(3)} {a 7→ 0, b 7→ 1}
4 {a(4)} {a(4)} {a 7→ 1, b 7→ 0}
We see repetition is detected after iteration 4 with V4 = V1. The resulting ultimately
periodic interpretationV, which is a model of N, starts with a singleton initial segment V0 and then infinitely repeats the sequence V1, V2, V3.