+ print "Actualiza entorno".
+ sa update-entorno entorno entorno.
+ print "Ponemos condición final esperada para el plan".
+ datos-finales{"movido"} = 1.
+ sa update-datos-finales datos-finales datos-finales.
+ print "Calcula el plan".
+ sa plan.
+ print "Vemos si tiene una teoría más".
+ while (sa has-next-theory): {
+ print "Sí, tiene".
+ print "Obtiene próxima teoría".
+ teoria = sa get-next-theory.
+ print "Obtiene datos de la teoría teoría".
+ print(teoria get-nombre).
+ print(teoria get-accion).
+ if ((teoria get-accion) == "avanza"): {
+ entorno{"sensor"} = 1.
+ entorno{"movido"} = 1.
+ }
+ if ((teoria get-accion) == "retrocede"): {
+ entorno{"sensor"} = 0.
+ entorno{"movido"} = 1.
+ }
+ print "Valida teoría".
+ sa update-entorno entorno entorno.
+ if (sa validate theory teoria): {
+ print "valida".
+ }
+ else {
+ print "Teoria no valida, salimos".
+ }
+ print "Vemos si tiene una teoría más".
+ }
+ print "No, no tiene".