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