Verificación formal

Con el fin de dar rigor y formalizar el proceso de verificación, enunciamos a continuación las 6 propiedades que necesitamos demostrar para tener garantía de que un algoritmo es correcto.

La demostración de estas propiedades es, en general, bastante sencilla, y nos asegura la corrección del algoritmo. Obsérvese que todos los símbolos que intervienen en las propiedades anteriores aparecen en el esquema general de las funciones recursivas.

Los puntos 1 y 2 son condiciones que expresan que la función f está bien definida:

La función f ha de estar bien definida dentro del dominio, es decir, la instrucción condicional no aborta en los estados que satisfacen Q.

La función f se invoca siempre en estados que satisfacen su precondición.

Base de la inducción

Paso de la inducción

donde 𝑹(𝒔(xˉ\bar{x},yˉ\bar{y}) representa la hipótesis de inducción

Los puntos 5 y 6 demuestran que las llamadas que se hacen sobre datos forman una secuencia estrictamente decreciente y finita:

Factorial

Potencia n-ésima de 3

Ejercicio 1 propuesto de verificación formal: Suma de los elementos de un vector

Last updated