Estoy mirando Hoare Logic y tengo problemas para entender el método de búsqueda del bucle invariante.Hoare Logic Loop Invariant
¿Alguien puede explicar el método utilizado para calcular el bucle invariante?
¿Y qué debe contener un bucle invariante para ser "útil"?
Sólo estoy tratando con ejemplos simples, la búsqueda de invariantes y demostrando corrección parcial y completa en ejemplos como:
{ i ≥ 0 } while i > 0 do i := i−1 { i = 0 }
Explicación muy informal para algo formal :). Las invariantes no se mantienen al inicio y al final, pero deben mantenerse después de cada declaración de un programa, siempre y cuando la entrada cumpla con las condiciones previas. La lógica de Hoare se basa en un esquema de programa simple, el lenguaje de implementación concreto realmente no importa. –
Heh, gracias por el comentario :) En mi educación, el término "invariante" fue utilizado mucho, sin una explicación formal de lo que era, aparentemente recogí algunas ideas equivocadas. –
Creo que cuando se trata de Hoare Logic, el invariante es lanzado sin una buena explicación ... – nunopolonia