@mostlypat
I think for functional code (functions of functions), in my lisp moo thing I can do forward simulation, but simulating the whole world only works for a very small search space.
In contrast, sitcalc with occlusion can search through lots and lots of sequences of logical actions to satisfy intents, but it can only really work with first order logic (no functions of functions). So I thought beliefs can be 1st order sitcalc, but the real simulated world can be higher order.