Abstract
By their very design, many robot control programs are non-terminating. This paper describes a situation calculus approach to expressing and proving properties of non-terminating programs expressed in Golog, a high level logic programming language for modeling and implementing dynamical systems. Because in this approach actions and programs are represented in classical (second-order) logic, it is natural to express and prove properties of Golog programs, including non-terminating ones, in the very same logic. This approach to program proofs has the advantage of logical uniformity and the availability of classical proof theory.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Aczel, P.: An introduction to inductive definitions. In: Barwise, J. (ed.) Handbook of Mathematical Logic, pp 739–782. Elsevier (1977)
Baader, F., Liu, H., ul Mehdi, A.: Verifying properties of infinite sequences of description logic actions. In: ECAI, pp. 53–58 (2010)
Bagheri Hariri, B., Calvanese, D., De Giacomo, G., Deutsch, A., Montali, M.: Verification of relational data-centric dynamic systems with external services. In: PODS, pp. 163–174 (2013)
Bagheri Hariri, B., Calvanese, D., Montali, M., De Giacomo, G., Masellis, R.D., Felli, P.: Description logic knowledge and action bases. J. Artif. Intell. Res. (JAIR) 46, 651–686 (2013)
Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press (2008)
Baier, J.A., Fritz, C., McIlraith, S.A.: Exploiting procedural domain control knowledge in state-of-the-art planners. In: ICAPS, pp. 26–33 (2007)
Belardinelli, F., Lomuscio, A., Patrizi, F.: Verification of agent-based artifact systems. J. Artif. Intell. Res. (JAIR) 51, 333–376 (2014)
Calvanese, D., De Giacomo, G., Montali, M., Patrizi, F.: First-order μ-calculus over generic transition systems and applications to the situation calculus. Inf. Comput. 259(3), 328–347 (2018)
Claßen, J., Lakemeyer, G.: A logic for non-terminating Golog programs. In: KR, pp. 589–599 (2008)
Claßen, J., Liebenberg, M., Lakemeyer, G., Zarrieß, B.: Exploring the boundaries of decidable verification of non-terminating Golog programs. In: AAAI, pp. 1012–1019 (2014)
Cousot, P.: Methods and logics for proving programs. In: Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics (B), pp. 841–994 (1990)
Cousot, P., Cousot, R.: Inductive definitions, semantics and abstract interpretation. In: POPL, pp. 83–94 (1992)
De Giacomo, G., Lespérance, Y., Levesque, H.J.: Reasoning about concurrent execution prioritized interrupts, and exogenous actions in the situation calculus. In: IJCAI, pp. 1221–1226 (1997)
De Giacomo, G., Lespérance, Y., Levesque, H.J.: ConGolog, a concurrent programming language based on the situation calculus. Artif. Intell. 121(1–2), 109–169 (2000)
De Giacomo, G., Lespérance, Y., Patrizi, F.: Bounded situation calculus action theories and decidable verification. In: KR (2012)
De Giacomo, G., Lespérance, Y., Patrizi, F.: Bounded epistemic situation calculus theories. In: IJCAI (2013)
De Giacomo, G., Lespérance, Y., Patrizi, F.: Bounded situation calculus action theories. Artif. Intell. 237, 172–203 (2016)
De Giacomo, G., Lespérance, Y., Patrizi, F., Sardiña, S.: Verifying ConGolog programs on bounded situation calculus theories. In: AAAI, pp. 950–956 (2016)
De Giacomo, G., Lespérance, Y., Patrizi, F., Vassos, S.: LTL verification of online executions with sensing in bounded situation calculus. In: ECAI, pp. 369–374 (2014)
De Giacomo, G., Lespérance, Y., Patrizi, F., Vassos, S.: Progression and verification of situation calculus agents with bounded beliefs. In: AAMAS, pp. 141–148 (2014)
De Giacomo, G., Lespérance, Y., Pearce, A.R.: Situation calculus based programs for representing and reasoning about game structures. In: KR (2010)
De Giacomo, G., Levesque, H.J.: An incremental interpreter for high-level programs with sensing. In: Levesque, H.J., Pirri, F. (eds.) Logical Foundation for Cognitive Agents: Contributions in Honor of Ray Reiter, pp 86–102. Springer (1999)
De Giacomo, G., Reiter, R., Soutchanski, M.: Execution monitoring of high-level robot programs. In: KR, pp. 453–465 (1998)
De Giacomo, G., Ternovskaia, E., Reiter, R.: Non-terminating processes in the situation calculus. In: Proc.of the AAAI’97 Workshop on Robots, Softbots, Immobots: Theories of Action, Planning and Control (1997)
Emerson, E.A.: Automated temporal reasoning about reactive systems. In: Logics for Concurrency: Structure versus Automata, no. 1043 in Lecture Notes in Computer Science, pp. 41–101. Springer (1996)
Fritz, C., Baier, J.A., McIlraith, S.A.: ConGolog, Sin Trans: Compiling ConGolog into basic action theories for planning and beyond. In: KR, pp. 600–610 (2008)
Gu, Y., Kiringa, I.: Model checking meets theorem proving: A situation calculus based approach. In: 11th International Workshop on Nonmonotonic Reasoning, Action, and Change (2006)
Hehner, E.C.R.: A Practical Theory of Programming. Texts and Monographs in Computer Science Springer (1993)
Hennessy, M.: The Semantics of Programming Languages: An Elementary Introduction Using Structural Operational Semantics. Wiley, New York (1990)
Kelly, R.F., Pearce, A.R.: Property persistence in the situation calculus. Artif. Intell. 174(12–13), 865–888 (2010)
Knaster, B.: Un thèoréme sur les fonctions d’ensembles. Ann. Soc. Polon. Math. 6, 133–134 (1928)
Kozen, D., Tiuryn, J.: Logics of programs. In: van Leeuwen, J (ed.) Handbook of Theoretical Computer Science, pp 790–840. Elsevier (1990)
Leivant, D.: Higher order logic. In: Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 2. Clarendon Press, pp. 229–321 (1994)
Lespérance, Y.: On the epistemic feasibility of plans in multiagent systems specifications. In: 8th International Workshop on Intelligent Agents VIII, ATAL 2001 Seattle, WA, USA, August 1-3, 2001, Revised Papers, pp. 69–85 (2001)
Lespérance, Y., Levesque, H.J., Lin, F., Scherl, R.B.: Ability and knowing how in the situation calculus. Stud. Logica. 66(1), 165–186 (2000)
Levesque, H.J., Reiter, R., Lespérance, Y., Lin, F., Scherl, R.B.: Golog: A logic programming language for dynamic domains. J. Log. Program. 31(1-3), 59–83 (1997)
Lin, F.: A first-order semantics for Golog and ConGolog under a second-order induction axiom for situations. In: KR (2014)
Loeckx, J., Sieber, K.: Foundation of Program Verification. Teubner-Wiley, New York (1987)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems, vol.1–2. Springer (1992)
Moschovakis, Y.: Elementary Induction on Abstract Structures. Amsterdam (1974)
Park, D.: Fixpoint induction and proofs of program properties. In: Machine Intelligence, vol. 5, pp. 59–78. Edinburgh University Press (1970)
Plotkin, G.: A structural approach to operational semantics. Tech. Rep. DAIMI-FN-19, Computer Science Dept. Aarhus Univ Denmark (1981)
Reiter, R.: The frame problem in the situation calculus: a simple solution (sometimes) and a completeness result for goal regression. In: Lifschitz, V. (ed.) Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, pp 359–380. Academic Press, San Diego (1991)
Reiter, R.: Knowledge in Action. Logical Foundations for Specifying and Implementing Dynamical Systems. The MIT Press (2001)
Sardiña, S., De Giacomo, G.: Composition of ConGolog programs. In: IJCAI, pp. 904–910 (2009)
Sardiña, S., De Giacomo, G., Lespérance, Y., Levesque, H.J.: On the semantics of deliberation in IndiGolog- from theory to implementation. Ann. Math. Artif. Intell. 41(2–4), 259–299 (2004)
Shapiro, S., Lespérance, Y., Levesque, H.J.: The cognitive agents specification language and verification environment for multiagent systems. In: AAMAS, pp. 19–26 (2002)
Sohrabi, S., Prokoshyna, N., McIlraith, S.A.: Web service composition via the customization of Golog programs with user preferences. In: Conceptual Modeling: Foundations and Applications - Essays in Honor of John Mylopoulos, pp. 319–334 (2009)
Stirling, C.: Modal and temporal logics for processes. In: Logics for Concurrency: Structure versus Automata, no. 1043 in Lecture Notes in Computer Science, pp. 149–237. Springer (1996)
Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pac. J. Math. 5(2), 285–309 (1955)
Ternovskaia, E.: Inductive definability and the situation calculus. In: Transactions and Change in Logic Databases, International Seminar on Logic Databases and the Meaning of Change, Schloss Dagstuhl, Germany, September 23-27, 1996 and ILPS ’97 Post-Conference Workshop on (Trans)Actions and Change in Logic Programming and Deductive Databases, (DYNAMICS’97) Port Jefferson, NY, USA, October 17, 1997, Invited Surveys and Selected Papers, pp. 227–248 (1998)
Ternovskaia, E.: Automata theory for reasoning about actions. In: IJCAI, pp. 153–159 (1999)
Wang, Y., Chang, L., Li, F., Gu, T.: Verification of branch-time property based on dynamic description logic. In: Intelligent Information Processing VII - 8th IFIP TC 12 International Conference, IIP 2014, Hangzhou, China, October 17-20, 2014, Proceedings, pp. 161–170 (2014)
Zarrieß, B., Claßen, J.: Verifying CTL* properties of Golog programs over local-effect actions. In: ECAI, pp. 939–944 (2014)
Zarrieß, B., Claßen, J.: Decidable verification of Golog programs over non-local effect actions. In: AAAI, pp. 1109–1115 (2016)
Acknowledgements
Unfortunately Ray Reiter passed away in 2002 and could not participate in the exciting developments of the recent years. However his work deeply inspired them, and we are immensely grateful to him.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
De Giacomo, G., Ternovska, E. & Reiter, R. Non-terminating processes in the situation calculus. Ann Math Artif Intell 88, 623–640 (2020). https://doi.org/10.1007/s10472-019-09643-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10472-019-09643-9
Keywords
- Knowledge representation
- Reasoning about actions
- Situation calculus
- Inductive definitions
- Formal verification of Golog and ConGolog programs