Desarrollo Formal de Programas Clase 6: tarea

Anuncio
Working Hypothesis
Desarrollo Formal de Programas
Clase 6: tarea
Camilo Rueda 1
1 Universidad
Javeriana-Cali
PUJ 2007
Working Hypothesis
pruebas
Tarea
Considere el ejemplo de protocolo de transferencia de archivos
visto en clase
Incluya el refinamiento de la clase 6 en Rodin
Use Rodin para realizar todas las pruebas
Considere ahora un refinamiento adicional:
El emisor, en lugar de enviar s, envı́a la paridad de s (cero,
par, uno, impar)
El receptor, en lugar de enviar y, envı́a la paridad de y
Working Hypothesis
pruebas
Tarea: propiedad útil
Las siguientes propiedades de paridad le serán útiles:
prop1 : paridad ∈ N → {0, 1}
prop2 : paridad(0) = 0
prop3 : ∀n.(n ∈ N ⇒ paridad(n + 1) = 1 − paridad(n)
Y el teorema:




∀x, y. 



x ∈N
y ∈N
x ∈ y..y + 1
paridad(x) = paridad(y )
⇒
x =y








Working Hypothesis
pruebas
Tarea (cont)
Desarrolle por completo este nuevo refinamiento:
Invariante de encadenamiento
Eventos
Variante
Pruebe corrección del nuevo evento recibir (puede hacerlo
en Rodin, si quiere)
Descargar