5.2 Correctness of SAS+ Based Encoding
5.2.1 Solution Structures of STRIPS Based Encoding
In this section, we study a few properties of the solutions in a STRIPS based encoding. These prop- erties provide some key insights for establishing the relationship between PE and SASE encodings.
Lemma 1 Given a STRIPS task Ψ = (F, A, φI, φG), a time step N , and its PE SAT instance PE(Ψ, N ) = (V, C), suppose there are a satisfiable solution denoted as Γ, a fact f ∈ F, and t ∈ [1, N] such that: 1) Γ(Wdumf,t) =⊥, 2) Γ(Wf,t) =
⊥
then we can construct an alternative solution Γ′to PE(Ψ, N ) as follows: Γ′(v) = { ⊥ , v = Wdumf,t, v∈ V Γ(v), v̸= Wdumf,t, v∈ V (5.1)
Proof We show that Γ′satisfies every clause in C just as Γ does. Since all variables but Wdumf,t
keep the same value, we only need to look at those clauses that have Wdumf,tin them. According
to the definition of PE, Wdumf,tmay exist in three types of clauses:
1. Clauses for add effects. In this case, the clauses are of the form Wf,t+1 → (Wdumf,t ∨
Wa1,t∨ . . . ∨ Wam,t), which is equivalent to Wf,t+1∨ Wdumf,t∨ Wa1,t∨ . . . ∨ Wam,t. Since
Γ′(Wdumf,t) =
⊥
, such clauses are still true.
2. Clauses for preconditions. In this case, the clauses are of the form Wdumf,t → Wf,t, which
is equivalent to Wdumf,t∨ Wf,t. Since Γ′(Wf,t) =
⊥
, these clauses remain true for Γ′. 3. Clauses of mutual exclusion between actions. Without loss of generality, let us denote such a
clause Wdumf,t∨ Wa,t. For a given f , the actions in all such clauses are mutex with dumf,
because f is their delete effect. According to the construction, since Γ′(Wa,t) = Γ(Wa,t) =⊥,
all such clauses are true.
The three cases above conclude that all clauses that include Wdumf,tare satisfied by Γ′. Therefore,
Γ′ is also a solution to PE.
Lemma 2 Given a STRIPS task Ψ = (F, A, φI, φG), a time step N , and its PE SAT instance PE(Ψ, N ) = (V, C), suppose there are a satisfiable solution denoted as Γ, a fact f ∈ F, and t ∈ [1, N ] such that: 1) Γ(Wf,t) =⊥, 2) there exists an action a ∈ ADD(f) such that Γ(Wa,t−1) = ⊥ ,
then we can construct an alternative solution Γ′to PE(Ψ, N ) as follows:
Γ′(v) =
{ ⊥
, v = Wf,t, v ∈ V
Γ(v), v ̸= Wf,t, v ∈ V
(5.2)
Proof We will show that Γ′ makes each clause in C to be true. Since all variables but Wf,tkeep
the same value, we only need to look at those clauses that have Wf,t in them. According to the
definition of PE, Wf,tmay exist in three types of clauses.
1. Clauses for add effects. In this case, f is an add effect of multiple actions. Let us write this clauses as Wf,t→ (Wa1,t−1∨Wa2,t−1∨. . .∨Wam,t−1), which is Wf,t∨Wa1,t−1∨Wa2,t−1∨
. . .∨Wam,t−1. Since there exists an action a∈ ADD(f) such that Γ(Wa,t−1) =
⊥
, the clause is still true in Γ′.
2. Clauses for preconditions. In this case, f is a precondition of an action b. This clause is written as Wb,t→ Wf,t, which is equivalent to Wb,t∨ Wf,t. Since Γ′(Wf,t) = ⊥ , this clause
is still true.
3. Clauses of fact mutex. Without loss of generality, consider a fact g that is mutex with f . The corresponding clause will be Wf,t∨ Wg,t. Since Γ′(Wf,t) = ⊥ , this clause is true if
Γ′(Wg,t) =⊥.
We now suppose Γ′(Wg,t) = ⊥ and show that it leads to a contradiction. According to clauses
of class III, there must be a variable Wb,t−1, such that g ∈ add(b) and Γ′(Wb,t−1) = ⊥ .
According to the definition of mutex, two facts are mutex only when every pair of the actions that add them are mutex. Thus, Wa,t−1 and Wb,t−1 are mutex. Therefore, Γ′(Wa,t−1) = ⊥
and Γ′(Wb,t−1) = ⊥ , leading to a contradiction. As a result, Γ′(Wg,t) =⊥, and consequently
this clause is satisfied.
The three cases above conclude that all clauses that include Wf,tare satisfied by Γ′. Therefore, Γ′
is also a solution to PE.
Lemmas 1 and 2 show that under certain conditions, some dummy action variables and fact variables in PE are free variables. They can be set to be either true or false while the SAT instance remains satisfied. Note that although we can manipulate these free variables to construct an alternative solution Γ′ from a given solution Γ, both Γ and Γ′refer to the same STRIPS plan, because there is no change to any real action variable. This leads to an important insight on the solutions of PE: a solution plan to a STRIPS planning problem Ψ may correspond to multiple solutions to PE(Ψ, N ).
Lemma 3 Given a STRIPS task Ψ = (F, A, φI, φG), a time step N , and its PE SAT instance PE(Ψ, N ) = (V, C), those clauses that define competing needs mutex and fact mutex can be inferred from other clauses in PE(Ψ, N ).
Proof We need to prove:
• if actions a and b are mutex at level t due to competing needs, the clause Wa,t∨ Wb,tcan be
inferred from other clauses (except for the fact mutex clauses) in PE.
• if facts f1 and f2 are mutex at level t, the clause Wf1,t∨ Wf2,t can be inferred from other clauses (except for the competing need mutex clauses) in PE.
We prove by mathematical induction on t. When t = 0, each two facts in the initial state are not mutex, thus there is no competing needs mutex and no fact mutex. Now suppose the hypothesis holds at time step t, we prove that the mutex clauses defined by competing needs mutex and fact mutex at time t + 1 can be inferred from other clauses.
Consider two facts f1and f2that are mutex at level t + 1. According to the definition of fact mutex,
for every two actions a and b such that a∈ ADD(f1), b∈ ADD(f2), a and b are mutex. Based on
the induction, we have Wa,t∨ Wb,t(for∀a, b that a ∈ ADD(f1), and b ∈ ADD(f2)). Since f1 ∈
add(a) and f2∈ add(b), we have Wf1,t+1 → ∨
∀a∈ADD(f1)Wa,tand Wf2,t+1 →
∨
∀b∈ADD(f2)Wb,t.
A resolution using these three types of clauses can be performed as follows:
Wf1,t+1∨ ∨
∀a∈ADD(f1)Wa,t, Wa,t∨ Wb,t(∀a ∈ ADD(f1),∀b ∈ ADD(f2))
Wf1,t+1∨ ∨
∀b∈ADD(f2)Wb,t
(5.3)
Another resolution using (5.3) gives:
Wf1,t+1∨ ∨ ∀b∈ADD(f2)Wb,t, Wf2,t+1∨ ∨ ∀b∈ADD(f2)Wb,t Wf1,t+1∨ Wf2,t+1 (5.4)
Hence, fact mutex at level t + 1 can be inferred. Now, consider two actions a and b at level t + 1 which are mutex because of competing needs. There exist two mutex facts f ∈ pre(a) and g ∈ pre(b). From above, we have Wf,t+1∨ Wg,t+1. Since f ∈ pre(a) and g ∈ pre(b), then we have
Wa,t+1 → Wf,t+1and Wb,t+1→ Wg,t+1.
We can perform a resolution using these three types of clauses:
Wa,t+1∨ Wf,t+1, Wf,t+1∨ Wg,t+1
Wa,t+1∨ Wg,t+1
(5.5)
Another resolution using (5.5) gives:
Wb,t+1∨ Wg,t+1, Wa,t+1∨ Wg,t+1
Wa,t+1∨ Wb,t+1
. (5.6)
Lemma 3 shows that when encoding a STRIPS task, it is not necessary to encode fact mutex and competing needs action mutex, as they are implied by other clauses. Therefore, when we consider the completeness and correctness of PE, we can ignore these redundant clauses. Analysis with similar conclusion can be found in some literatures [116], but using different approaches.