Ejercicio 6.3

Ejercicio 6.3

de Joaquin Lejtreger Chebi -
Número de respuestas: 2

Buenas, estoy un poco perdido sobre cómo definir la función update.

No entiendo bien cómo definir la salida de update diciendo lo que vale para cada elemento.

Se me ocurre hacer un fixpoint auxiliar pero capaz es un poco desprolijo.

Saludos,

Joaquín

En respuesta a Joaquin Lejtreger Chebi

Re: Ejercicio 6.3

de Carlos Luna -

Hola.

Todo depende de como hayas definido la Memoria. Si es una función de Var en Valor, entonces update se puede definir como una función (no recursiva) de la siguiente manera:

Definition update var val mem :=

  fun var' => if beq_nat var var' then val else lookup var' mem. 

Esto es, la función retorna una memoria que asigna a cada variable el valor que tenía en la memoria parámetro, salvo para la variable (var) donde la memoria se actualiza (con val).

Saludos, Carlos