0
$\begingroup$

Consider a directed graph with 6 nodes $A,B,C,D,E,F$. The arcs are connected as follows, $E=\{(A,B),(A,C),(C,D),(D,E),(F,E)\}$. We use subscript $t$ to denote time periods $0,1,\ldots$, such that

\begin{align} A_t &= \text{you are in location $A$ in period $t$} \\ \neg A_t &= \text{you are not in location $A$ in period $t$} \end{align}

Initially, you are are in location $A$ and the goal is to move to location $E$. I figured, a formula for describing the movement is

\begin{align} \operatorname{Move}(A,B)_{t,t+1} = (A_{t} \land \neg A_{t+1} \land \neg B_t \land B_{t+1}) \land((C_t \leftrightarrow C_{t+1}) \land\cdots \land (F_t \leftrightarrow F_{t+1})) \end{align} That represent movement (Preconditions and effect) from $A$ to $B$ in time period between $t$ to $t+1$. The truth values for the other literals that are not affected by the clause are mapped to take the same value in the next period. Choosing the correct movement with the would then be (disallow simultaneous movement from $A$ to $B$ and $C$)

$$\operatorname{Move}_{t,t+1} = \left(\neg\left(\operatorname{Move}(A,B)_{t,t+1} \land \operatorname{Move}(A,C)_{t,t+1} \right) \land \operatorname{Move}(C,D)_{t,t+1} \land \cdots \land \operatorname{Move}(F,E)_{t,t+1} \right)$$

Now initial condition is $I = \left(A_0 \land \neg B_0 \land \cdots \land \neg F_0 \right)$ in $t=0$. Goal is $G = \left(\neg A_t \land \cdots \land E_t \land \neg F_t \right)$ in period $t$. Complete formula is

$$I \land \operatorname{Move}_{01} \land \operatorname{Move}_{12} \land \cdots \land \operatorname{Move}_{t,t+1} \land G$$

I would like to show with unit propagation, that the goal is not possible to satisfy in $t=2$, that is $E_2$ is unsatisfiable, but $E_3$ is. Intuitively this is, of course, trivial because you need to move 3 times, but I have problems showing it via unit propagation.

1 Answers 1

0

Your requirement that:

$$\neg(\operatorname{Move}(A,B)_{t,t+1} \land \operatorname{Move}(A,C)_{t,t+1} \land \operatorname{Move}(C,D)_{t,t+1} \land \cdots \land \operatorname{Move}(F,E)_{t,t+1})$$

isn't right: this statement says that you can't do all possible moves in a single turn. Instead, you need to say that you cannot do any two different possible movements in one turn, i.e.:

$$\neg(\operatorname{Move}(A,B)_{t,t+1} \land \operatorname{Move}(A,C)_{t,t+1} )$$

$$\neg(\operatorname{Move}(C,A)_{t,t+1} \land \operatorname{Move}(C,D)_{t,t+1} )$$

$$...$$

(notice that for this you only need to consider possible movements given a current location, e.g. there is no need to include $\neg(\operatorname{Move}(A,B)_{t,t+1} \land \operatorname{Move}(C,D)_{t,t+1} )$ ... but you do need to consider the fact that you can move from $A$ to $C$ as well as from $C$ to $A$ given connection $(A,C)$)