- Published 2014 in KR

Golog and ConGolog are languages defined in the situation calculus for cognitive robotics. Given a Golog program δ, its semantics is defined by a macroDo(δ, s, s′) that expands to a logical sentence that captures the conditions under which performing δ in s can terminate in s′. A similar macro is defined for ConGolog programs. In general, the logical sentences that these macros expand to are second-order, and in the case of ConGolog, may involve quantification over programs. In this paper, we show that by making use of the foundational axioms in the situation calculus, in particular, the second-order closure axiom about the space of situations, these macro expressions can actually be defined using first-order sentences. Introduction Golog [Levesque et al., 1997] and ConGolog [De Giacomo, Lespérance, and Levesque, 2000] are Algol-like programming languages defined in the situation calculus [McCarthy, 1968; Reiter, 2001]. They are intended for high-level control of agents, including both physical robots and virtual agents [Reiter, 2001; Burgard et al., 1999; Funge, 2000; Lespérance, Levesque, and Ruman, 1997; McIlraith and Son, 2002]. They include non-determinism, and in the case of ConGolog, concurrency. The semantics of Golog programs is axiomatized in logic by macro expansions [Levesque et al., 1997]: given a Golog program δ and two situation terms s and s′, the macro expression Do(δ, s, s′) is used to denote that s′ is a terminating situation of performing δ in s. There may be more than one possible terminating situation as the program may be indeterminate. In general, the macro expression Do(δ, s, s′) expands into a second-order sentence because δ may have loops. In the case of ConGolog programs, which are extensions of Golog programs with some concurrency operators, De Giacomo, Lespérance and Levesque [2000] introduced a one-step transition predicate Trans(δ, s, δ′, s′) (performing δ in s for one step may end up in situation s′ with δ′ as the remaining program to be performed) and a final predicate Final(δ, s) (program δ terminates in s). The Do macros are then defined using these predicates, and in general expand to sentences that are not only second-order, but also involve quantification over programs. Copyright c © 2014, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved. The second-order formulas that are needed in Golog and ConGolog macro expansions are fundamentally the same as the ones for defining transitive closures. One of the foundational axioms of the situation calculus is a second-order one that defines the space of situations as the transitive closure of do(a, s) starting at the initial situation S0. In this paper, we show that this second-order foundational axiom can be used to capture loops and recursions so that for Golog and ConGolog programs, the macro expression Do(δ, s, s′) can in fact be defined using first-order sentences. The situation calculus We first briefly review the situation calculus used for Golog and ConGolog. For more details, see [Reiter, 2001; Lin, 2007]. The language of the situation calculus is a manysorted one with sorts action for actions, situation for situations, and other domain dependent ones. There is a constant S0 of sort situation, and a function do : action × situation→ situation. The foundational axioms say that the set of situations consists exactly of those that can be constructed from S0 using function do(a, s) (we assume that variables in displayed formulas are universally quantified from outside):

@inproceedings{Lin2014AFS,
title={A First-Order Semantics for Golog and ConGolog under a Second-Order Induction Axiom for Situations},
author={Fangzhen Lin},
booktitle={KR},
year={2014}
}