Damit die Makroexpansion von rekursiven Prozeduren mit der Semantik des Situationskalküls möglich ist, muß zunächst die Ausführung einer Prozedur beschrieben werden.
Für jedes Prädikatsymbol P mit Argumenten soll gelten:
Als nächstes muß die Semantik von Programmen inklusive (rekursiver) Prozeduren definiert werden. Es wird angenommen, daß ein Programm aus Prozedurdeklarationen ( ) mit den jeweiligen Parametern besteht. Das Hauptprogramm wird durch bezeichnet, die restlichen Prozedurrümpfe durch . Ein Programm hat also folgende Form:
Die Auswertung des angegebenen Programms wird wie folgt definiert:
Mit Hilfe der aufgeführten Makros können komplexe Abläufe der Welt modelliert und effizient programmiert werden. Allerdings können keine Informationen von außen (exogene Aktionen) mehr verarbeitet werden, sobald die Planung einmal begonnen wurde. Daher wurden noch einige Erweiterungen vorgenommen.
An dieser Stelle sei herausgestellt, daß durch die obige Definition von
die Suche nach einer legalen Sequenz von Aktionen mit
als: