6
A.E.D. I 1 Tema 1. Abstracciones y especificaciones. Ejemplo: TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS N Conjunto de naturales Bool Conjunto de booleanos {true, false} SINTAXIS cero: N sucesor: N N suma:N x N N esCero: N Bool esIgual: N x N Bool Cada TAD en un módulo. Tipo = sort. Axioma = equation. 1.3.1. Método axiomático (o algebraico).

Ejemplo: TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

  • Upload
    verena

  • View
    54

  • Download
    4

Embed Size (px)

DESCRIPTION

1.3.1. Método axiomático (o algebraico). Ejemplo: TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS NConjunto de naturales BoolConjunto de booleanos {true, false} SINTAXIS cero:  N sucesor: N  N suma:N x N  N esCero: N  Bool - PowerPoint PPT Presentation

Citation preview

Page 1: Ejemplo:  TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

A.E.D. I 1Tema 1. Abstracciones y especificaciones.

• Ejemplo: TAD Natural de los números naturales.NOMBRE

NaturalCONJUNTOS

N Conjunto de naturalesBool Conjunto de booleanos {true, false}

SINTAXIScero: Nsucesor: N Nsuma: N x N NesCero: N BoolesIgual: N x N Bool

• Cada TAD en un módulo. Tipo = sort. Axioma = equation.

1.3.1. Método axiomático (o algebraico).

Page 2: Ejemplo:  TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

A.E.D. I 2Tema 1. Abstracciones y especificaciones.

NOMBRENatural

CONJUNTOSBool Cjto. booleanosN Cjto. naturales

SINTAXIScero: Nsucesor: N Nsuma: N x N NesCero: N BoolesIgual: N x N Bool…

1.3.1. Método axiomático (o algebraico).

fmod NATURAL is protecting BOOL . sort N . op cero : -> N . op sucesor : N -> N . op suma : N N -> N . op esCero : N -> Bool . op esIgual : N N -> Bool . …endfm

natural.maude

Page 3: Ejemplo:  TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

A.E.D. I 3Tema 1. Abstracciones y especificaciones.

SEMANTICA

m, n N

1. esCero (cero) = true

2. esCero (sucesor (n)) = false

3. esIgual (cero, n) = esCero (n)

4. esIgual(sucesor(n),cero)=false

5. esIgual(sucesor(n),sucesor(m)) = esIgual(n, m)

6. suma (cero, n) = n

7. suma (sucesor (m), n) =

sucesor (suma (m, n))

1.3.1. Método axiomático (o algebraico).

fmod NATURAL is ...

vars n m : N .

eq esCero (cero) = true .

eq esCero (sucesor (n)) = false .

eq esIgual(cero, n) = esCero(n) .

eq esIgual(sucesor(n), cero) = false . eq esIgual(sucesor(n), sucesor(m))

= esIgual (n, m) . eq suma (cero, n) = n .

eq suma (sucesor (m), n) =

sucesor (suma (m, n)) .

endfm

natural.maude

Page 4: Ejemplo:  TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

A.E.D. I 4Tema 1. Abstracciones y especificaciones.

• Ejecución de una especificación algebraica: a) suma (suma(sucesor(cero), cero), sucesor (cero) )

b) esIgual(sucesor(cero), cero)

1.3.1. Método axiomático (o algebraico).

fmod NATURAL is protecting BOOL . sort N . ...

endfm

red suma(suma(sucesor(cero), cero), sucesor(cero)) .

red esIgual(sucesor(cero), cero) .

quit

natural1.maude

fmod NATURAL is ...

endfm

natural.maude

in natural .red suma(suma(sucesor(cero), cero), sucesor(cero)) .red esIgual(sucesor(cero), cero) .quit

prueba1.maude

Page 5: Ejemplo:  TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

A.E.D. I 5Tema 1. Abstracciones y especificaciones.

• Resultado de la reducción.

1.3.1. Método axiomático (o algebraico).

fmod NATURAL is protecting BOOL . sort N . ...

endfm

red suma(suma(sucesor

(cero), cero),

sucesor(cero)) .

red esIgual(sucesor

(cero), cero) .

quit

natural1.maude

Page 6: Ejemplo:  TAD Natural de los números naturales. NOMBRE Natural CONJUNTOS

A.E.D. I 6Tema 1. Abstracciones y especificaciones.

¡¡MUY IMPORTANTE: CUIDADO CON LA ESTRICTA SINTAXIS DE MAUDE!!

• Espacios en blanco necesarios: antes y después de “:”, de “->” y de “=”.

• Acabar las sentencias con “ .” (espacio en blanco + punto).

• Comprobar los paréntesis.

• Si hay un fallo puede pasar de todo: lo indica bien, da un fallo en un sitio extraño, se queda como colgado, etc.

1.3.1. Método axiomático (o algebraico).