A program
begins with a non-deterministic choice between two sub-programs:
Note that the remaining program is determined by the optimal branch.
A program
begins with a non-deterministic choice of an argument from a finite set:
Specifications for other Golog operators can be given similarly to the specifications for BestDo.