Abstract
Linear Temporal Logic (LTL) is a widely used specification framework for linear time properties of systems. The standard approach for verifying such properties is by transforming LTL formulae to suitable \(\omega \)-automata and then applying model checking. We revisit Vardi’s transformation of an LTL formula to an alternating \(\omega \)-automaton and Wolper’s LTL tableau method for satisfiability checking. We observe that both constructions effectively rely on a decomposition of formulae into linear factors. Linear factors have been introduced previously by Antimirov in the context of regular expressions. We establish the notion of linear factors for LTL and verify essential properties such as expansion and finiteness. Our results shed new insights on the connection between the construction of alternating \(\omega \)-automata and semantic tableaux.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Antimirov, V.M.: Partial derivatives of regular expressions and finite automaton constructions. Theor. Comput. Sci. 155(2), 291–319 (1996). https://doi.org/10.1016/0304-3975(95)00182-4
Babiak, T., Křetínský, M., Řehák, V., Strejček, J.: LTL to Büchi automata translation: fast and more deterministic. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 95–109. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28756-5_8
Broda, S., Machiavelo, A., Moreira, N., Reis, R.: Partial derivative automaton for regular expressions with shuffle. In: Shallit, J., Okhotin, A. (eds.) DCFS 2015. LNCS, vol. 9118, pp. 21–32. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19225-3_2
Couvreur, J.-M.: On-the-fly verification of linear temporal logic. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 253–271. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48119-2_16
Esparza, J., Křetínský, J., Sickert, S.: From LTL to deterministic automata: a safraless compositional approach. Form. Methods Syst. Des. 49(3), 219–271 (2016). https://doi.org/10.1007/s10703-016-0259-2
Finkbeiner, B., Sipma, H.: Checking finite traces using alternating automata. Form. Methods Syst. Des. 24(2), 101–127 (2004). https://doi.org/10.1023/b:form.0000017718.28096.48
Gastin, P., Oddoux, D.: Fast LTL to Büchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44585-4_6
Geldenhuys, J., Valmari, A.: More efficient on-the-fly LTL verification with Tarjan’s algorithm. Theor. Comput. Sci. 345(1), 60–82 (2005). https://doi.org/10.1016/j.tcs.2005.07.004
Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Dembinski, P., Sredniawa, M. (eds.) PSTV 1995. IFIPAICT, pp. 3–18. Springer, Boston (1996). https://doi.org/10.1007/978-0-387-34892-6_1
Loding, C., Thomas, W.: Alternating automata and logics over infinite words. In: van Leeuwen, J., Watanabe, O., Hagiya, M., Mosses, P.D., Ito, T. (eds.) TCS 2000. LNCS, vol. 1872, pp. 521–535. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44929-9_36
Muller, D.E., Saoudi, A., Schupp, P.E.: Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time. In: Proceedings of 3rd Annual Symposium on Logic in Computer Science, LICS 1999, Edinburgh, July 1988, pp. 422–427. IEEE CS Press (1988). https://doi.org/10.1109/lics.1988.5139
Pelánek, R., Strejček, J.: Deeper connections between LTL and alternating automata. In: Farré, J., Litovsky, I., Schmitz, S. (eds.) CIAA 2005. LNCS, vol. 3845, pp. 238–249. Springer, Heidelberg (2006). https://doi.org/10.1007/11605157_20
Pnueli, A.: The temporal logic of programs. In: Proceedings of 18th Annual Symposium on Foundations of Computer Science, FOCS 1977, Providence, RI, October–November 1977, pp. 46–57. IEEE CS Press (1977). https://doi.org/10.1109/sfcs.1977.32
Reynolds, M.: A new rule for LTL tableaux. In: Cantone, D., Delzanno, G. (eds.) Proceedings of 7th International Symposium on Games, Automata, Logics and Formal Verification, GandALF 2016 (Catania, September 2016). Electronic Proceedings in Theoretical Computer Science, vol. 226, pp. 287–301. Open Public Association, Sydney (2016). https://doi.org/10.4204/eptcs.226.20
Schwendimann, S.: A new one-pass tableau calculus for PLTL. In: de Swart, H. (ed.) TABLEAUX 1998. LNCS (LNAI), vol. 1397, pp. 277–291. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-69778-0_28
Thiemann, P., Sulzmann, M.: From \(\omega \)-regular expressions to Büchi automata via partial derivatives. In: Dediu, A.-H., Formenti, E., Martín-Vide, C., Truthe, B. (eds.) LATA 2015. LNCS, vol. 8977, pp. 287–298. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-15579-1_22
Vardi, M.Y.: Nontraditional applications of automata theory. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol. 789, pp. 575–597. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-57887-0_116
Vardi, M.Y.: Alternating automata: unifying truth and validity checking for temporal logics. In: McCune, W. (ed.) CADE 1997. LNCS, vol. 1249, pp. 191–206. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63104-6_19
Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification (preliminary report). In: Proceedings of 1st Symposium on Logic in Computer Science, LICS 1986, Cambridge, MA, June 1986, pp. 332–344. IEEE CS Press (1986)
Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Inf. Comput. 115(1), 1–37 (1994). https://doi.org/10.1006/inco.1994.1092
Wolper, P.: Temporal logic can be more expressive. Inf. Control 56(1/2), 72–99 (1983). https://doi.org/10.1016/s0019-9958(83)80051-5
Wolper, P.: The tableau method for temporal logic: an overview. Log. Anal. 28(110–111), 119–136 (1985). https://www.jstor.org/stable/44084125
Wolper, P., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths (extended abstract). In: Proceedings of 24th Annual Symposium on Foundations of Computer Science, FOCS 1983, Tucson, AZ, November 1983, pp. 185–194. IEEE CS Press (1983). https://doi.org/10.1109/sfcs.1983.51
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Properties of Partial Derivatives
Our finiteness proof follows the method suggested by Broda et al. [3]. We look at the set of iterated partial derivatives of a formula \(\varphi \), which turns out to be just the set of temporal subformulae of \(\varphi \). This set is finite and closed under the partial derivative operation. Thus, finiteness follows.
Definition 16
(Iterated Partial Derivatives)
It is trivial to see that the set \(\partial ^+ (\varphi )\) is finite because it is a subset of the set of subformulae of \(\varphi \).
Lemma 7
(Finiteness). For all \(\varphi \), \(\partial ^+ (\varphi )\) is finite.
The iterated partial derivative only consider subformulae whereas the partial derivative elides disjunctions but returns a set of formal conjunctions. To connect both the following definition is required.
Definition 17
(Subsets of Formal Conjunctions). For an ordered set \(X = \{ x_1, x_2, \dots \}\), we define the set of all formal conjunctions of X as follows.
We regard a subset of \(\mathcal {S}(X)\) as a positive Boolean formula over X in conjunctive normal form. We write \(\mathbf {tt}\) for the empty conjunction.
Clearly, if a set of formulae \(\varPhi \) is finite, then so is \(\mathcal {S}(\varPhi )\), where we assume an arbitrary, but fixed total ordering on formulae.
The set of temporal subformulae of a given formula \(\varphi \) is also a formal conjunction of subformulae.
Lemma 8
For all \(\varphi \), \(\mathcal {T}(\varphi ) \subseteq \mathcal {S}(\partial ^+ (\varphi ))\).
Lemma 9
(Closedness under derivation)
-
1.
For all \(x\in \varSigma \), \(\partial _{x}(\varphi ) \subseteq \mathcal {S}( \partial ^+ (\varphi )) \).
-
2.
For all \(\varphi ' \in \partial ^+ (\varphi )\) and \(x\in \varSigma \), \(\partial _{x}(\varphi ') \subseteq \mathcal {S}(\partial ^+ (\varphi ))\).
From Lemmas 8 and 9 it follows that the set of descendants of a fixed LTL formula \(\varphi \) is finite. In fact, we can show that the cardinality of this set is exponential in the size of \(\varphi \). We will state this result for a more “direct” definition of partial derivatives which does not require having to compute linear factors first.
Definition 18
(Direct Partial Derivatives). Let \(x \in \varSigma \). Then, \({ p d}_{x}(\cdot )\) maps LTL formulae to sets of LTL formulae and is defined as follows.
where conjunctions of temporal formulae are normalized as usual.
For \(w \in \varSigma ^*\), we define \({ p d}_{\varepsilon }(\varphi ) = \{ \varphi \}\) and \({ p d}_{x w}(\varphi ) = \bigcup _{\varphi ' \in { p d}_{x}(\varphi )} { p d}_{w}(\varphi ')\). For \(L \subseteq \varSigma *\), we define \({ p d}_{L}(\varphi ) = \bigcup _{w \in L} { p d}_{w}(\varphi )\). We refer to the special case \({ p d}_{\varSigma ^*}(\varphi )\) as the set of partial derivative descendants of \(\varphi \).
Example 3
Consider the formula \(\Box \, \Diamond \, p\). We calculate
Lemma 10
For all \(\varphi \) and \(x \in \varSigma \), \(\partial _{x}(\varphi ) = { p d}_{x}(\varphi )\).
The next result follows from Theorem 2 and Lemma 10.
Lemma 11
For all \(\varphi \), \(\varphi \Leftrightarrow \bigvee _{x \in \varSigma , \varphi ' \in { p d}_{x}(\varphi )} x \wedge \bigcirc \, \varphi '\).
Definition 19
The size of a temporal formula \(\varphi \) is the sum of the number of literals, temporal and Boolean operators in \(\varphi \).
If \(\varphi \) has size n, the number of subformulae in \(\varphi \) is bounded by O(n).
Lemma 12
For all \(\varphi \), the cardinality of \({ p d}_{\varSigma ^*}(\varphi )\) is bounded by \(O(2^n)\) where n is the size of \(\varphi \).
B Tableau Examples
Example 4
Consider \(\Box \, p \wedge \Diamond \, \lnot p\). Figure 1 shows the tableau generated before elimination. In case of decomposition, edges are annotated with the number of the respective decomposition rule. For example, from the initial node \(S_0\) we reach node \(S_1\) by decomposition via (D2). Node \(S_4\) consists of only elementary and marked nodes and therefore we apply the step rule to reach node \(S_5\). The same applies to node \(S_3\). For brevity, we ignore its child node because this node is obviously unsatisfiable (E1). The same applies to node \(S_7\).
We consider elimination of nodes. Nodes \(S_3\), \(S_4\), \(S_7\) and \(S_8\) are states. Therefore, \(S_0\) and \(S_5\) are pre-states. Nodes \(S_3\) and \(S_7\) can be immediately eliminated due to E1. Node \(S_5\) contains \(\Diamond \, \lnot p\). This formula is not satisfiable because there is not path from \(S_5\) along which we reach a node which contains \(\lnot p\). Hence, we eliminate \(S_5\) due to E3. All other nodes are eliminated due to E3. Hence, we conclude that the formula \(\Box \, p \wedge \Diamond \, \lnot p\) is unsatisfiable.
Example 5
Consider \(\Box \, p \wedge \Diamond \, \lnot p\). Our variant of Wolper’s tableau construction method yields the following.
Node \(S_4'\) corresponds to node \(S_4\) in Fig. 1. Nodes \(S_1\), \(S_2\), and \(S_3\) from the original construction do not arise in our variant because we skip intermediate nodes and eliminate aggressively during construction whereas Wolper’s construction method gives rise \(S_5\). We avoid such intermediate nodes and immediately link \(S_4'\) to the initial node \(S_0\).
Example 6
Consider \(\lnot p \wedge \bigcirc \, \lnot p \wedge q\, \mathbf {U} \, p\) where
We carry out the tableau construction using linear factors notation where we use LF to label pre-state (derivatives) to state (linear factor) relations and PD to label state to pre-state relations.
C Proofs
1.1 C.1 Proof of Theorem 2
Proof
Show by induction on \(\varphi \): for all \(\sigma \in \varSigma ^\omega \), \(\sigma \models \varphi \) iff \(\sigma \models \varTheta (\textsc {lf}(\varphi ))\).
Case p.
Case \(\lnot p\). Analogous.
Case \(\mathbf {tt}\).
Case \(\mathbf {ff}\).
Case \(\varphi \vee \psi \).
Now
Case \(\varphi \wedge \psi \).
Now
by Lemma 2 \(\mu \wedge \nu \Leftrightarrow \varTheta (\mu \odot \nu )\)
Case \(\bigcirc \, \varphi \). (using Lemma 3)
Case \(\varphi \, \mathbf {U} \, \psi \).
Case \(\varphi \, \mathbf {R} \, \psi \).
\(\square \)
1.2 C.2 Proof of Lemma 7
Proof
By straightforward induction on the linear temporal formula. \(\square \)
1.3 C.3 Proof of Lemma 8
Proof
By straightforward induction on the linear temporal formula. \(\square \)
1.4 C.4 Proof of Lemma 10
Proof
By induction on \(\varphi \).
Case \(\varphi \, \mathbf {R} \, \psi \). By definition,
Consider (1). For \(\mu \odot \nu = \mathbf {ff}\), the second components of the respective linear forms can be ignored. Hence, by IH we find that \(\{ \varphi ' \wedge \psi ' \mid \langle \mu , \varphi '\rangle \in \textsc {lf}(\varphi ), \langle \nu , \psi '\rangle \in \textsc {lf}(\psi ), x \models \mu \odot \nu \} \subseteq \{ \varphi ' \wedge \psi ' \mid \varphi ' \in { p d}_{x}(\varphi ), \psi ' \in { p d}_{x}(\psi ) \}\). The other direction follows as well as \(x \models \mu \) and \(x \models \nu \) implies that \(\mu \odot \nu \not = \mathbf {ff}\). Consider (2). By IH we have that \(\{ \psi ' \wedge \varphi \, \mathbf {R} \, \psi \mid \langle \nu ,\psi '\rangle \in \textsc {lf}(\psi ), x \models \nu \} = \{ \psi ' \wedge \varphi \, \mathbf {R} \, \psi \mid \psi ' \in { p d}_{x}(\psi ) \}\). Hence, \(\partial _{x}(\varphi \, \mathbf {R} \, \psi ) = { p d}_{x}(\varphi \, \mathbf {R} \, \psi )\).
The other cases can be proven similarly.
1.5 C.5 Proof of Lemma 12
Proof
The cardinality of \(\partial ^+ (\varphi )\) is bounded by O(n). By Lemma 9 (second part) elements in the set of descendants are in the set \(\mathcal {S}(\partial ^+ (\varphi ))\). The mapping \(\mathcal {S}\) builds all possible (conjunctive) combinations of the underlying set. Hence, the cardinality of \(\mathcal {S}(\partial ^+ (\varphi ))\) is bounded by \(O(2^n)\) and we are done.
1.6 C.6 Proof of Lemma 9
Proof
First part. By induction on \(\varphi \) we show that \(\{ \varphi ' \mid \langle \mu ,\varphi '\rangle \in \textsc {lf}(\varphi ) \} \subseteq \mathcal {S}(\partial ^+ (\varphi ))\).
Case \(\mathbf {tt}\). \(\textsc {lf}( \mathbf {tt}) = \{ \langle \mathbf {tt}, \mathbf {tt}\rangle \}\) and \(\mathbf {tt}\in \mathcal {S}(\partial ^+ (\mathbf {tt}))\).
Case \(\ell \). Analogous.
Case \(\mathbf {ff}\). Holds vacuously.
Case \(\varphi \vee \psi \). Immediate by induction.
Case \(\varphi \wedge \psi \). Immediate by induction.
Case \(\bigcirc \, \varphi \). \(\textsc {lf}(\bigcirc \, \varphi ) = \{ \langle \mathbf {tt}, \varphi '\rangle \mid \varphi ' \in \mathcal {T}(\varphi )\}\) and by Lemma 8, \(\mathcal {T}(\varphi ) \subseteq \mathcal {S}(\partial ^+ (\varphi ))\).
Case \(\varphi \, \mathbf {U} \, \psi \). \(\textsc {lf}(\varphi \, \mathbf {U} \, \psi ) = \textsc {lf}(\psi ) \cup \{ \langle \mu ,\varphi ' \wedge \varphi \, \mathbf {U} \, \psi \rangle \mid \langle \mu ,\varphi '\rangle \in \textsc {lf}(\varphi ) \}\). By induction, the second components of \(\textsc {lf}(\psi )\) are in \(\mathcal {S}(\partial ^+ (\psi )) \subseteq \mathcal {S}(\partial ^+ (\varphi \, \mathbf {U} \, \psi ))\). By induction, the second components \(\varphi '\) of \(\textsc {lf}(\varphi )\) are in \(\mathcal {S}(\partial ^+ (\varphi ))\), so that \(\varphi ' \wedge \varphi \, \mathbf {U} \, \psi \in \mathcal {S}(\partial ^+ (\varphi ) \cup \{ \varphi \, \mathbf {U} \, \psi \}) \subseteq \mathcal {S}(\partial ^+ (\varphi \, \mathbf {U} \, \psi ))\).
Case \(\varphi \, \mathbf {R} \, \psi \). \(\textsc {lf}(\varphi \, \mathbf {R} \, \psi ) = \{ \langle \mu \odot \nu , \varphi ' \wedge \psi '\rangle \mid \langle \mu , \varphi '\rangle \in \textsc {lf}(\varphi ), \langle \nu , \psi '\rangle \in \textsc {lf}(\psi ) \} \cup \{ \langle \nu , \psi ' \wedge \varphi \, \mathbf {R} \, \psi \rangle \mid \langle \nu ,\psi '\rangle \in \textsc {lf}(\psi )\}\). By induction \(\varphi ' \in \mathcal {S}(\partial ^+ (\varphi ))\) and \(\psi ' \in \mathcal {S}(\partial ^+ (\psi ))\) so that \(\varphi '\wedge \psi ' \in \mathcal {S}(\partial ^+ (\varphi ) \cup \partial ^+ (\psi )) \subseteq \mathcal {S}(\partial ^+ (\varphi \, \mathbf {R} \, \psi ))\). Furthermore, \(\psi ' \wedge \varphi \, \mathbf {R} \, \psi \in \mathcal {S}(\partial ^+ (\psi ) \cup \{ \varphi \, \mathbf {R} \, \psi \}) \subseteq \mathcal {S}(\partial ^+ (\varphi \, \mathbf {R} \, \psi ))\).
Second part. By induction on \(\varphi \).
Case \(\ell \). If \(\varphi ' = \ell \) or \(\varphi ' = \mathbf {tt}\), then \(\mathbf {tt}\in \mathcal {S}(\partial ^+ (\ell ))\).
Case \(\mathbf {tt}\). Analogous.
Case \(\mathbf {ff}\). Vacuously true.
Case \(\varphi \vee \psi \). Immediate by induction.
Case \(\varphi \wedge \psi \). Immediate by induction.
Case \(\varphi \, \mathbf {U} \, \psi \). By induction and the first part.
Case \(\varphi \, \mathbf {R} \, \psi \). By induction and the first part.
1.7 C.7 Proof of Theorem 3
Proof
Suppose that \(\sigma \models \varphi \). Show by induction on \(\varphi \) that \(\sigma \in \mathcal {L}(\mathcal {A}(\varphi ))\).
Case \(\mathbf {tt}\). Accepted by run \(\mathbf {tt}, \mathbf {tt}, \dots \) which visits \(\mathbf {tt}\in F\) infinitely often.
Case \(\mathbf {ff}\). No run.
Case p. As \(p\in \sigma _0\), \(\sigma \) is accepted by run \(p, \mathbf {tt}, \mathbf {tt}, \dots \).
Case \(\lnot p\). Accepted by run \(\lnot p, \mathbf {tt}, \mathbf {tt}, \dots \).
Case \(\varphi \wedge \psi \). By definition \(\sigma \models \varphi \) and \(\sigma \models \psi \). By induction, there are accepting runs \(\alpha _0, \alpha _1, \dots \) on \(\sigma \) in \(\mathcal {A}(\varphi )\) and \(\beta _0, \beta _1, \dots \) on \(\sigma \) in \(\mathcal {A}(\psi )\). But then \(\alpha _0 \wedge \beta _0, \alpha _1 \wedge \beta _1, \dots \) is an accepting run on \(\sigma \) in \(\mathcal {A}(\varphi \wedge \psi )\) because the state sets of the automata are disjoint.
Case \(\varphi \vee \psi \). By definition \(\sigma \models \varphi \) or \(\sigma \models \psi \). If we assume that \(\sigma \models \varphi \), then induction yields an accepting run \(\alpha _0, \alpha _1, \dots \) on \(\sigma \) in \(\mathcal {A}(\varphi )\). As the initial state of \(\mathcal {A}(\varphi \vee \psi )\) is chosen from \(\{\alpha _0, \beta _0 \}\), for some \(\beta _0\), we have that \(\alpha _0, \alpha _1, \dots \) is an accepting run on \(\sigma \) in \(\mathcal {A}(\varphi \vee \psi )\).
Case \(\bigcirc \, \varphi \). By definition \(\sigma [1\dots ] \models \varphi \). By induction, there is an accepting run \(\alpha _0, \alpha _1, \dots \) on \(\sigma [1\dots ]\) in \(\mathcal {A}(\varphi )\) with \(\alpha _0 = \mathcal {T}(\varphi )\). Thus, there is an accepting run \(\bigcirc \, \varphi , \alpha _0, \alpha _1, \dots \) on \(\sigma \) in \(\mathcal {A}(\bigcirc \, \varphi )\).
Case \(\varphi \, \mathbf {U} \, \psi \). By definition \(\exists n \in \omega , \forall j \in \omega , j<n \Rightarrow \sigma [j\dots ] \models \varphi \) and \(\sigma [n\dots ] \models \psi \). By induction, there is an accepting run on \(\sigma [n\dots ]\) in \(\mathcal {A}(\psi )\) and, for all \(0 \le j<n\), there are accepting runs on \(\sigma [j\dots ]\) in \(\mathcal {A}(\varphi )\).
We proceed by induction on n.
Subcase \(n=0\). In this case, there is an accepting run \(\beta _0, \beta _1, \dots \) on \(\sigma [0\dots ] = \sigma \) in \(\mathcal {A}(\psi )\) so that \(\beta _0 = \mathcal {T}(\psi )\). We want to show that \(\varphi \, \mathbf {U} \, \psi , \beta _1, \dots \) is an accepting run on \(\sigma \) in \(\mathcal {A}(\varphi \, \mathbf {U} \, \psi )\). To see this, observe that \(\beta _1 \in \partial _{\sigma _0}(\beta _0)\) and that \(\partial _{\sigma _0}(\varphi \, \mathbf {U} \, \psi ) = \partial _{\sigma _0}(\beta _0) \cup \partial _{\sigma _0}(\alpha _0) \wedge \varphi \, \mathbf {U} \, \psi \), where \(\alpha _0 = \mathcal {T}(\varphi )\), which proves the claim.
Subcase \(n>0\). There must be an accepting run \(\alpha _0, \alpha _1, \dots \) on \(\sigma [0\dots ] = \sigma \) in \(\mathcal {A}(\varphi )\) so that \(\alpha _0 = \mathcal {T}(\varphi )\). By induction (on n) there must be an accepting run \(\beta _0, \beta _1, \dots \) on \(\sigma [1\dots ]\) in \(\mathcal {A}(\varphi \, \mathbf {U} \, \psi )\) where \(\beta _0 = \varphi \, \mathbf {U} \, \psi \). We need to show that \(\varphi \, \mathbf {U} \, \psi , \alpha _1 \wedge \beta _0, \alpha _2 \wedge \beta _1, \dots \) is an accepting run on \(\sigma \) in \(\mathcal {A}(\varphi \, \mathbf {U} \, \psi )\). By the analysis in the base case, the automaton can step from \(\varphi \, \mathbf {U} \, \psi \) to \(\partial _{\sigma _0}(\alpha _0) \wedge \varphi \, \mathbf {U} \, \psi \).
Case \(\varphi \, \mathbf {R} \, \psi \).
By definition, \(\forall n \in \omega , ( \sigma [n\dots ] \models \psi \text { or } \exists j \in \omega , ((j<n) \wedge \sigma [j\dots ] \models \varphi )) \). By induction, there is either an accepting run on \(\sigma [n\dots ]\) in \(\mathcal {A}(\psi )\), for each \(n\in \omega \), or there exists some \(j\in \omega \) such that there is an accepting run on \(\sigma [j\dots ]\) in \(\mathcal {A}(\varphi )\) and for all \(0\le i\le j\), there is an accepting run on \(\sigma [i\dots ]\) in \(\mathcal {A}(\psi )\).
If there is an accepting run \(\pi _0^n, E_0^n, \pi _1^n, E_1^n, \dots \) in \(\mathcal {A}(\psi )\) on \(\sigma [n\dots ]\) for each \(n\in \omega \) where \(\pi _0^n \in \mathcal {T}(\psi )\) and \(\pi _{i+1}^n \in \partial _{\sigma _{i+n}}(\pi _i^n)\), then there is an accepting run in \(\mathcal {A}(\varphi \, \mathbf {R} \, \psi )\):
\(\partial _{\sigma _0}(\varphi \, \mathbf {R} \, \psi ) = \partial _{\sigma _0}(\varphi \wedge \psi ) \cup \partial _{\sigma _0}(\psi ) \wedge \varphi \, \mathbf {R} \, \psi \).
Suppose that there is either an accepting run on \(\sigma [n\dots ]\) in \(\mathcal {A}(\psi )\), for each \(n\in \omega \). In this case, there is an accepting run in \(\mathcal {A}(\varphi \, \mathbf {R} \, \psi )\): there is infinite path of accepting states \(\varphi \, \mathbf {R} \, \psi , \dots \) and, as \(\psi \) holds at every n, every infinite path that starts in a state in \(\partial _{\sigma _n}(\psi )\) visits infinitely many accepting states.
Otherwise, the run visits only finitely many states of the form \(\varphi \, \mathbf {R} \, \psi \) and then continues according to the accepting runs on \(\varphi \) and \(\psi \) starting with \(\partial _{\sigma _j}(\varphi \wedge \psi )\). Furthermore, any infinite path starting at some \(\partial _{\sigma _i}(\psi ) \wedge \varphi \, \mathbf {R} \, \psi \) that goes through \(\partial _{\sigma _i}(\psi )\) visits infinitely many accepting states (for \(0\le i<j\)).
Suppose now that \(\sigma \not \models \varphi \) and show that \(\sigma \notin \mathcal {L}(\mathcal {A}(\varphi ))\).
\(\sigma \not \models \varphi \) is equivalent to \(\sigma \models \lnot \varphi \). We prove by induction on \(\varphi \) that \(\sigma \notin \mathcal {L}(\mathcal {A}(\varphi ))\).
Case \(\mathbf {tt}\). The statement \(\sigma \not \models \mathbf {tt}\) is contradictory.
Case \(\mathbf {ff}\). The statement \(\sigma \not \models \mathbf {ff}\) holds for all \(\sigma \) and the automaton \(\mathcal {A}(\mathbf {ff})\) has no transitions, so \(\sigma \notin \mathcal {L}(\mathcal {A}(\mathbf {ff}))\).
Case p. The statement \(\sigma \not \models p\) is equivalent to \(\sigma \models \lnot p\). That is, \(p \notin \sigma _0\). As \(\textsc {lf}(p) = \{ \langle p, \mathbf {tt}\rangle \}\), we find that \(\partial _{\sigma _0}(p) = \emptyset \) so that \(\mathcal {A}(p)\) has no run on p.
Case \(\lnot p\). Similar.
Case \(\varphi \wedge \psi \). If \(\sigma \not \models \varphi \wedge \psi \), then \(\sigma \not \models \varphi \) or \(\sigma \not \models \psi \). If we assume that \(\sigma \not \models \varphi \) and appeal to induction, then either there is no run of \(\mathcal {A}(\varphi )\) on \(\sigma \): in this case, there is no run of \(\mathcal {A}(\varphi \wedge \psi )\) on \(\sigma \), either. Alternatively, every run of \(\mathcal {A}(\varphi )\) on \(\sigma \) has a path with only finitely many accepting states. This property is inherited by \(\mathcal {A}(\varphi \wedge \psi )\).
Case \(\varphi \vee \psi \). If \(\sigma \not \models \varphi \vee \psi \), then \(\sigma \not \models \varphi \) and \(\sigma \not \models \psi \). By appeal to induction, every run of \(\mathcal {A}(\varphi )\) on \(\sigma \) as well as every run of \(\mathcal {A}(\psi )\) on \(\sigma \) has a path with only finitely many accepting states. Thus, every run of \(\mathcal {A}(\varphi \vee \psi )\) on \(\sigma \) will have an infinite path with only finitely many accepting states.
Case \(\bigcirc \, \varphi \). If \(\sigma \not \models \bigcirc \, \varphi \), then \(\sigma \models \lnot \bigcirc \, \varphi \) which is equivalent to \(\sigma \models \bigcirc \, \lnot \varphi \) and thus \(\sigma [1\dots ]\not \models \varphi \). By induction every run of \(\mathcal {A}(\varphi )\) on \(\sigma [1\dots ]\) has an infinite path with only finitely many accepting states, so has every run of \(\mathcal {A}(\bigcirc \, \varphi )\) on \(\sigma \).
Case \(\varphi \, \mathbf {U} \, \psi \). If \(\sigma \not \models \varphi \, \mathbf {U} \, \psi \), then it must be that \(\sigma \models (\lnot \varphi )\, \mathbf {R} \, (\lnot \psi )\).
By definition, the release formula holds if
We obtain, by induction, for all \(n\in \omega \) that either
-
1.
every run of \(\mathcal {A}(\psi )\) on \(\sigma [n\dots ]\) has an infinite path with only finitely many accepting states or
-
2.
\(\exists j\in \omega \) with \(j<n\) and every run of \(\mathcal {A}(\varphi )\) on \(\sigma [j\dots ]\) has an infinite path with only finitely many accepting states.
Now we consider a run of \(\mathcal {A}(\varphi \, \mathbf {U} \, \psi )\) on \(\sigma \).
To be accepting, the run cannot always choose the alternative that contains \(\varphi \, \mathbf {U} \, \psi \) because that would give rise to an infinite path \((\varphi \, \mathbf {U} \, \psi )^\omega \) which contains no accepting state.
Thus, any accepting run must choose the alternative containing \(\psi '\) a derivative of \(\psi \). Suppose this choice happens at \(\sigma _i\). If the release formula is accepted because case 1 holds always, then a run of \(\mathcal {A}(\psi )\) starting at \(\sigma _i\) has an infinite path with only finitely many accepting states. So this run cannot be accepting.
If the release formula is accepted because eventually case 2 holds, then \(i<j\) is not possible for the same reason as just discussed. However, starting from \(\sigma _j\), we have a state component from \(\mathcal {A}(\varphi )\) which has an infinite path with only finitely many accepting states. So this run cannot be accepting, either.
Case \(\varphi \, \mathbf {R} \, \psi \). If \(\sigma \not \models \varphi \, \mathbf {R} \, \psi \), then \(\sigma \models \lnot (\varphi \, \mathbf {R} \, \psi )\) which is equivalent to \(\sigma \models (\lnot \varphi )\, \mathbf {U} \, (\lnot \psi )\).
By definition, the until formula holds if
We obtain, by induction, that there is some \(n\in \omega \) such that
-
1.
for all \(j\in \omega \) with \(j<n\) every run of \(\mathcal {A}(\varphi )\) on \(\sigma [j\dots ]\) has an infinite path with only finitely many accepting states and
-
2.
every run of \(\mathcal {A}(\psi )\) on \(\sigma [n\dots ]\) has an infinite path with only finitely many accepting states.
Now we assume that there is an accepting run of \(\mathcal {A}(\varphi \, \mathbf {R} \, \psi )\) on \(\sigma \). Consider
Suppose that the run always chooses the alternative containing the formula \(\varphi \, \mathbf {R} \, \psi \). However, at \(\sigma _n\), this formula is paired with a run of \(\mathcal {A}(\psi )\) on \(\sigma [n\dots ]\) which has an infinite path with only finitely many accepting states. A contradiction.
Hence, there must be some \(i\in \omega \) such that \(\mathcal {A}(\varphi \, \mathbf {R} \, \psi )\) chooses its next states from \(\partial _{\sigma _i}(\varphi \wedge \psi )\). If this index \(i<n\), then this run cannot be accepting because it contains a run of \(\mathcal {A}(\varphi )\) on \(\sigma [i\dots ]\), which has an infinite path with only finitely many accepting states. Contradiction.
On the other hand, \(i\ge n\) is not possible either because it would contradict case 2.
Hence, there cannot be an accepting run. \(\square \)
1.8 C.8 Proof of Theorem 5
We observe that exhaustive decomposition yields to the same set of states, regardless of the order decomposition rules are applied.
Example 7
Consider \(\Box \, p \wedge \Diamond \, \lnot p\). Starting with \(\{ \{ \Box \, p \wedge \Diamond \, \lnot p \} \}\) the following rewrite steps can be applied. Individual rewrite steps are annotated with the decomposition rule (number) that has been applied.
In the final set of nodes we effectively find nodes \(S_3\) and \(S_4\) from Wolper’s tableau construction. Intermediate nodes \(S_1\) and \(S_2\) arise in some intermediate rewrite steps. See Fig. 1. The only difference is that marked formulae are dropped.
An interesting observation is that there is an alternative rewriting, which reaches the same set of children.
We formalize the observations made in the above example. Decomposition yields the same set of nodes regardless of the choice of intermediate steps.
Lemma 13
The rewrite relation \(\rightarrowtail \) is terminating and confluent.
Proof
By inspection of the decomposition rules D1–6.
Hence, our reformulation of Wolper’s tableau construction method yields the same nodes (ignoring marked formulae and intermediate nodes).
Lemma 14
Let S be a pre-state node in Wolper’s tableau construction and \(S'\) be a node derived from S via some (possibly repeated) decomposition steps where \(S'\) is a state. Then, \(\{ S \} \rightarrowtail ^* N\) for some N where \(S'' \in N\) such that \(S''\) and \(S'\) are equivalent modulo marked formulae.
Proof
No further decomposition rules can be applied to a state. The only difference between our rewriting-based formulation of Wolper’s tableau construction is that we drop marked formulae. Hence, the result follows immediately.
Wolper’s proof does not require marked formulae nor does it make use of intermediate nodes in any essential way. Hence, correctness of the optimized Wolper-style tableau construction method follows from Wolper’s proof.
1.9 C.9 Proof of Lemma 6
We first state some auxiliary result.
Lemma 15
Let \(\{ S \cup \{\varphi \} \} \cup N \rightarrowtail \{ S \cup S_1 \} \cup \dots \cup \{ S \cup S_n \} \cup N \rightarrowtail ^* N'\) where \(\varphi \rightarrow \{ S_1, \dots , S_n \}\) and \(\{ \{ \varphi \} \} \rightarrowtail ^* \{ S_1', \dots , S_m' \}\). Then, \(\{ S \cup \{\varphi \} \} \cup N \rightarrowtail \{ S \cup S'_1 \} \cup \dots \cup \{ S \cup S'_m \} \cup N \rightarrowtail ^* N'\).
Proof
By induction over the length of the derivation \(\{ \{ \varphi \} \} \rightarrowtail ^* \{ S_1', \dots , S_m' \}\) and the fact that the rewriting relation is terminating and confluent (Lemma 13).
Lemma 15 says that we obtain the same result if we exhaustively decompose a single formula or apply decomposition steps that alternate among multiple formulae. This observation simplifies the up-coming inductive proof of Lemma 13.
By induction on \(\varphi \) we show that if \(\varphi \rightarrowtail ^* N\) then \(\textsc {lf}(\varphi ) = [\![N]\!]\).
Proof
Case \(\varphi \wedge \psi \). By assumption \(\varphi \wedge \psi \rightarrowtail \{ \{\varphi , \psi \} \} \rightarrowtail ^* N\). By induction we find that (1) \(\textsc {lf}(\varphi ) = [\![N_1]\!]\) and (2) \(\textsc {lf}(\psi ) = [\![N_2]\!]\) where \(\varphi \rightarrowtail ^* \{ S_1,\dots , S_n \}\), \(\psi \rightarrowtail ^* \{ T_1,\dots , T_m \}\), \(N_1 = \{ S_1,\dots , S_n \}\) and \(N_2 = \{ T_1,\dots , T_m \}\). By Lemma 15, we can conclude that \(\varphi \wedge \psi \rightarrowtail \{ \{ \psi \} \cup S_1, \dots , \{ \psi \} \cup S_n \} \rightarrowtail \{ S \cup T \mid S \in \{S_1,\dots ,S_n\}, T \in \{T_1,\dots ,T_m \}\}\) where \(N = \{ S \cup T \mid S \in \{S_1,\dots ,S_n\}, T \in \{T_1,\dots ,T_m \}\}\). From this and via (1) and (2), we can derive that \(\textsc {lf}(\varphi \wedge \psi ) = [\![N]\!]\). Elimination via (E1) is integrated as part of rewriting (see Definition 14).
Case \(\varphi \, \mathbf {R} \, \psi \). By assumption
By reasoning analogously as in case of conjunction, we find \(\textsc {lf}(\varphi \, \mathbf {R} \, \psi ) = [\![N]\!]\)
The remaining cases follow the same pattern.
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Sulzmann, M., Thiemann, P. (2018). LTL Semantic Tableaux and Alternating \(\omega \)-automata via Linear Factors. In: Fischer, B., Uustalu, T. (eds) Theoretical Aspects of Computing – ICTAC 2018. ICTAC 2018. Lecture Notes in Computer Science(), vol 11187. Springer, Cham. https://doi.org/10.1007/978-3-030-02508-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-02508-3_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-02507-6
Online ISBN: 978-3-030-02508-3
eBook Packages: Computer ScienceComputer Science (R0)