Resolución del Ejercicio 4.b de la Practica 1

Anuncio
Análisis de Lenguajes de Programación II
Julián Samborski Forlese
Resolución del Ejercicio 4.b de la Practica 1
Tesis
Cualquier estrategia de reducción Γ aplicada a un término e ∈ EB eventualmente termina. (1)
Demostración
Observemos que la estrategia de reducción Γ no es más que una secuencia de aplicaciones de las reglas:
(N1 ) N (N e) → e
(A1 ) A base e → e
(A2 ) A (N base) e → e,
es decir que Γ = (Γ0 , Γ1 , · · · , Γi , · · ·), siendo Γi la aplicación de una regla (N1 ), (A1 ) ó (A2 ), ∀i ≥ 0.
Para probar (1), debemos mostrar que la secuencia (Γ0 , Γ1 , · · · , Γi , · · ·) es finita. (2)
Sea Γ = (Γ0 , Γ1 , · · · , Γi , · · ·) una estrategia de reduccion.
Notemos que Γ genera una secuencia de términos (e0 , e1 , · · · , ei , · · ·) en donde e0 es el término que se
desea reducir aplicando la estrategia.
Sea ϕ : EB → Z tal que
(ϕ1 ) ϕ(base)
= 1
(ϕ2 ) ϕ(N e)
= 1 + ϕ(e)
(ϕ3 ) ϕ(A e1 e2 ) = 1 + ϕ(e1 ) + ϕe2 .
Es claro que la secuencia (ϕ(e0 ), ϕ(e1 ), · · · , ϕ(ei ), · · ·) tiene la misma cardinalidad que (e0 , e1 , · · · , ei , · · ·).
A su vez, como la ultima secuencia puede escribirse como (e0 , Γ0 (e0 ), Γ1 (e1 ), · · · , Γi (ei ), · · ·) se tiene que
(ϕ(e0 ), ϕ(e1 ), · · · , ϕ(ei ), · · ·) = (ϕ(e0 ), ϕ(Γ0 (e0 )), ϕ(Γ1 (e1 )), · · · , ϕ(Γi (ei )), · · ·) .
|
{z
}
(3)
De este modo, para probar que Γ es una secuencia finita bastará mostrar que la secuencia de enteros (3)
es estrictamente decreciente y acotada inferiormente.
Sea i ≥ 0. Dado que ei+1 = Γi (ei ), resulta
ei = N (N ei+1 ) ∨ ei = A base ei+1 ∨ ei = A (N base)ei+1
Ası́,
ˆ Si Γi es un paso de aplicacion de la regla (N1 ):
(ϕ2 )
(ϕ2 )
ϕ(ei ) = 1 + ϕ(N ei+1 ) = 2 + ϕ(ei+1 ) > ϕ(ei+1 ).
ˆ Si Γi es un paso de aplicacion de la regla (A1 ):
(ϕ3 )
(ϕ1 )
ϕ(ei ) = 1 + ϕ(base) + ϕ(ei+1 ) = 2 + ϕ(ei+1 ) > ϕ(ei+1 )
ˆ Si Γi es un paso de aplicacion de la regla (A2 ):
(ϕ2 )
(ϕ2 )
(ϕ1 )
ϕ(ei ) = 1 + ϕ(N base) + ϕ(ei+1 ) = 2 + ϕ(base) + ϕ(ei+1 ) = 3 + ϕ(ei+1 ) > ϕ(ei+1 )
Resolución del Ejercicio 4.b de la Practica 1
2006
Página 1
Análisis de Lenguajes de Programación II
Julián Samborski Forlese
Luego ϕ(ei ) > ϕ(Γi (ei )) y como este razonamiento vale, cualquiera sea i ≥ 0, la secuencia (3) es estrictamente decreciente.
Resta probar que (3) es acotada inferiormente. Para ello, utilizando inducción, veremos que
ϕ(e) > 0 ∀e ∈ EB. (4)
ˆ Caso base: e = base.
ϕ(base) = 1 > 0 X
ˆ Caso Inductivo 1: Supongamos que e ∈ EB y que ϕ(e) > 0, luego
ϕ(N e) = 1 + ϕ(e) > 0 X
ˆ Caso Inductivo 2: Supongamos que e1 , e2 ∈ EB y ϕ(e1 ) > 0, ϕ(e2 ) > 0, entonces
ϕ(A e1 e2 ) = 1 + ϕ(e1 ) + ϕ(e2 ) > 0 X.
Ası́, queda probado (4) y por tanto (3) es una secuencia acotada inferiormente.
Finalmente podemos concluir que cualquier estrategia de reducción Γ cuyos pasos sean aplicaciones
de las reglas (N1 ), (A1 ) y (A2 ), será una secuencia finita y por tanto terminará.
Resolución del Ejercicio 4.b de la Practica 1
2006
Página 2
Descargar