[Practico 7] Pre/Post condiciones con mapas parciales

[Practico 7] Pre/Post condiciones con mapas parciales

de Tomas Castro Rojas -
Número de respuestas: 1

Buenas

Estoy teniendo problema para hacer la traduccion de las pre y post condiciones para las distintas acciones ya que los mappings dentro de State son parciales.

Por ejemplo, para la precondicion de Read al traducir

is_RW((s.memory[ma]).page_content 

en Coq tuve que escribir

match (memory s) ma with
| None => False
| Some p => is_RW (page_content p)
end

Quería consultar si hay una manera prolija/entendible para trabajar con los retornos opcionales y evitar estar haciendo constantemente matchs.

Saludos, Tomás.

En respuesta a Tomas Castro Rojas

Re: [Practico 7] Pre/Post condiciones con mapas parciales

de Carlos Luna -

Hola Tomás.

Podés escribir por ejemplo: 

... exists (ma : madd) (p : page), va_mapped_to_ma s va ma /\ memory s ma = Some p /\ is_RW (page_content p) ...

Saludos, Caros