46
Depuraci´onDeclarativa I Propuesta por E. Y. Shapiro en 1982 para la programaci´on l´ogica I Posteriormente adoptada por la programaci´on l´ogica con res- tricciones y la programaci´on funcional I Etapas seguidas por un depurador declarativo: 0 El usuario encuentra un comportamiento inesperado durante la ejecuci´on de un programa ˆ ıntoma inicial 1 El depurador construye un ´ arboldec´omputo para el s´ ıntoma inicial 2 Se navega el ´ arbol con la ayuda de un or´ aculo externo (nor- malmente el usuario) hasta localizar la causa del s´ ıntoma inicial

Se inicial ega un - gpd.sip.ucm.esgpd.sip.ucm.es/rafa/docencia/epl/depuDec.pdf · a I on ogica I res- funcional I o: 0te programa ˆ inicial 1 un omputo toma inicial 2 Se ega (nor-

  • Upload
    doantu

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Depura

cion

Decl

ara

tiva

IP

ropuest

apor

E.

Y.

Shapir

oen

1982

para

lapro

gra

maci

on

logic

a

IPost

eri

orm

ente

adopta

da

por

lapro

gra

maci

on

logic

aco

nre

s-tr

icci

ones

yla

pro

gra

maci

on

funci

onal

IEta

pas

seguid

as

por

un

depura

dor

decl

ara

tivo:

0Elusu

ari

oencu

entr

aun

com

port

am

iento

inesp

era

do

dura

nte

laeje

cuci

on

de

un

pro

gra

ma

Ãsı

nto

ma

inic

ial

1Eldepura

dorco

nst

ruye

un

arb

olde

com

puto

para

elsı

nto

ma

inic

ial

2Se

navega

elarb

olco

nla

ayuda

de

un

ora

culo

exte

rno

(nor-

malm

ente

el

usu

ari

o)

hast

alo

caliza

rla

causa

del

sınto

ma

inic

ial

Depura

cion

Decl

ara

tiva:A

rbole

sde

Com

puto

IC

ada

nodo

delarb

olde

com

puto

:

mD

ebe

conte

ner

elre

sult

ado

aso

ciado

aun

subcom

puto

mD

ebe

tener

un

fragm

ento

de

pro

gra

ma

aso

ciado

(eluti

liza

do

para

obte

ner

elre

sult

ado)

mT

iene

nodos

hijos

con

resu

ltados

han

de

corr

esp

onder

alo

ssu

bcom

puto

snece

sari

ospara

obte

nerelre

sult

ado

en

elnodo

IEl

ora

culo

debe

conoce

rel

modelo

pre

tendid

oI

del

pro

gra

-m

adepura

do

para

ser

capaz

de

dete

rmin

ar

sisu

resu

ltado

es

corr

ect

oo

inco

rrect

o

ILla

mare

mos

crıt

ico

aun

nodo

inco

rrect

oco

nto

dos

sus

hijos

corr

ect

os

©©

©© ©

HH

HH

H Hy

yyÃ

Nodo

Crı

tico

¡¡

¡

@@

@y

y

Depura

cion

Decl

ara

tiva:R

esp

uest

as

Inco

rrect

as

en

Pro

gra

maci

on

Logic

o-F

unci

onal

ID

ifere

nte

sti

pos

de

err

or

Ãdifere

nte

sarb

ole

sde

com

puto

IEn

pro

gra

maci

on

logic

ay

logic

o-funci

onalse

suele

habla

rde

mR

esp

uest

as

inco

rrect

as:

Se

ha

obte

nid

ouna

resp

uest

ain

es-

pera

da

mR

esp

uest

as

perd

idas:

Falt

auna

resp

uest

aesp

era

da

IN

uest

rotr

abajo

seha

conce

ntr

ado

en

ladepura

cion

decl

ara

tiva

de

resp

uest

as

inco

rrect

as

para

lenguaje

slo

gic

o-funci

onale

s

IR

esp

uest

as

perd

idas

Ãtr

abajo

futu

ro

Obje

tivos

Pri

nci

pal

obje

tivo:

Desa

rrollar

un

marc

o,

tanto

teori

coco

mo

pra

ctic

o,para

ladepura

cion

decl

ara

tiva

de

resp

uest

asin

corr

ect

as

en

lenguaje

slo

gic

o-funci

onale

s

Podem

os

div

idir

est

eobje

tivo

en

4apart

ados:

1D

efinic

ion

de

un

arb

ol

de

pru

eba

adecu

ado

para

ladepura

-ci

on

de

resp

uest

as

inco

rrect

as

en

lenguaje

slo

gic

o-funci

onale

sy

pro

bar

form

alm

ente

suco

rrecc

ion.Elarb

oldebe

obte

ners

ede

una

dem

ost

raci

on,en

alg

una

logic

aadecu

ada,delcom

puto

que

ha

pro

duci

do

elsı

nto

ma

inic

ial

2Enco

ntr

ar

una

tecn

ica

efe

ctiv

aque

nos

perm

ita

obte

ner

est

os

arb

ole

sde

pru

eba,y

pro

bar

form

alm

ente

suco

rrecc

ion

3Lle

var

ala

pra

ctic

aest

as

ideas,

incl

uyendo

depura

dore

sdecl

a-

rati

vos

de

resp

uest

as

inco

rrect

as

en

los

sist

em

asTO

Yy

Curr

y

4D

iscu

tir

laefici

enci

ade

est

os

depura

dore

s

mEn

consu

mo

de

recu

rsos

(mem

ori

a,ti

em

po)

mEn

rela

cion

aca

nti

dad

de

pre

gunta

sque

elusu

ari

onece

sita

conte

star

ante

sde

loca

liza

run

nodo

crıt

ico

Pre

lim

inare

s(I

)

IV

ar

Ãco

nju

nto

infinit

ode

vari

able

s

IFS

Ãco

nju

nto

de

sım

bolo

sde

funci

on

de

un

pro

gra

ma

(FS

npara

sım

bolo

sde

funci

on

de

ari

dad

n)

ID

conju

nto

de

sım

bolo

sde

const

ruct

ora

de

un

pro

gra

ma

(DC

npara

sım

bolo

sde

const

ruct

ora

de

ari

dad

n)

IExpre

siones

parc

iale

s(E

xp⊥)

:e∈

Exp⊥

de

lafo

rma

e::=

⊥|X

|h|(

ee′ )

con

X∈

Var,

h∈

DC∪

FS

IExpre

siones

tota

les

(Exp):

Expre

siones

parc

iale

sen

las

que

no

apare

ce⊥

Pre

lim

inare

s(I

I)

IPatr

ones

Parc

iale

s(P

at ⊥

):t∈

Pat ⊥⊂

Exp⊥

de

lafo

rma

t::=⊥

|X|c

t 1..

.t m

|ft 1

...t m

con

X∈

Var,

c∈

DC

n,0≤

m≤

n,f∈

FS

n,0≤

m<

ny

donde

los

t ire

pre

senta

na

suvez

patr

ones

parc

iale

s.

IPatr

ones

tota

les

(Pat)

:Patr

ones

parc

iale

sen

los

que

no

apa-

rece⊥

ID

efinim

os

el

ord

en

de

apro

xim

aci

onv

com

oel

menor

ord

en

parc

ialso

bre

Pat ⊥

que

sati

sface

las

siguie

nte

spro

pie

dades:

1⊥v

t,para

todo

t∈

Pat ⊥

2h

t mv

hs m

siem

pre

que

est

as

dos

expre

siones

sean

patr

ones

yt iv

s ipara

todo

1≤

i≤

m

IIn

tuit

ivam

ente

:tv

ssi

test

a“m

enos

definid

o”

que

s

Pro

gra

mas

Logic

o-F

unci

onale

s(I

)

ILos

pro

gra

mas

que

vam

os

aco

nsi

dera

rest

an

com

puest

os

por:

mD

ecl

ara

ciones

de

tipos

de

dato

s:

data

nat

=z|s

uc

nat

mA

lias

de

tipo:

type

funci

ones

AB

=A→

B

mD

ecl

ara

ciones

de

opera

dore

sin

fijo

s:

infixr2

0./

.

mD

ecl

ara

ciones

de

tipo

de

funci

ones:

from

::nat→

[nat]

mR

egla

sde

funci

on:

from

N=

N:fr

om

(suc

N)

Pro

gra

mas

Logic

o-F

unci

onale

s(I

I)

IForm

agenera

lde

las

regla

sde

pro

gra

ma

enTO

Y:f

t 1..

.tn

︸︷︷

︸la

do

izquie

rdo

=r ︸︷︷︸

lado

dere

cho

⇐IE

where

DL

︸︷︷

︸co

ndic

ion

t 1..

.tn∈

Pat,

r∈

Exp,

IEse

cuenci

ade

iguald

ades

est

rict

as

e=

=e′ ,

con

e,e′ ∈

Exp,

DL

secu

enci

ade

apro

xim

aci

ones

d→

s,co

nd∈

Exp

ys∈

Pat

IIn

form

alm

ente

:U

na

llam

ada

af

puede

convert

irse

en

rsi

mLos

para

metr

os

de

llam

ada

“enca

jan”en

los

patr

ones

t im

Las

condic

iones

pueden

ser

sati

sfech

as

me

==

e′ s

esa

tisf

ace

evalu

ando

ey

e′ a

un

mis

mo

patr

on

tota

l

md→

sse

sati

sface

evalu

ando

da

alg

un

patr

on

(puede

que

parc

ial)

que

enca

jeco

ns

ILos

obje

tivos

tienen

lam

ism

afo

rma

que

las

condic

iones

de

las

regla

sde

pro

gra

ma

(p.ej.

take

(suc

(suc

z))

(fro

mX

)=

=R

)

Pro

gra

mas

Logic

o-F

unci

onale

s(I

II)

IEje

mplo

:

data

nat

=z|s

uc

nat

take

::nat→

[A]→

[A]

take

zX

s=

[]ta

ke

(suc

N)

[]=

[]ta

ke

(suc

N)

(X:X

s)=

X:ta

ke

NX

s

from

::nat→

[nat]

from

X=

X:fr

om

X"

deberı

ase

rX

:fr

om

(suc

X)

IA

sum

irem

os

laexis

tenci

ade

un

sist

em

ade

reso

luci

on

de

obje

-ti

vos

GS

capaz

de

pro

duci

runa

secu

enci

ade

resp

uest

as

para

cada

obje

tivo:

TO

Y>

take

(suc

(suc

z))

(fro

mX

)=

=R

yes

R=

X:X

:[]

"re

spuest

ain

corr

ect

a(s

ınto

ma

inic

ial)

resp

uest

aesp

era

da:R

=X

:su

cX

:[]

Calc

ulo

Sem

anti

coSC

yA

rbole

sde

Pru

eba

(I)

BT

e→⊥

RR

X→

Xco

nX∈

Var

DC

e 1→

t 1..

.e m→

t mh

t m∈

Pat ⊥

he m→

ht m

JN

e→

te′→

tt∈

Pat

(pat

ron

tota

l)e

==

e′

Cr→

s

AR

+FA

e 1→

t 1..

.e n→

t nf

t n→

ss

ak→

tf

e na

k→

t

t6=⊥

(ft n→

r⇐

C)∈

[P] ⊥

IEn

todas

las

regla

se,

e i∈

Exp ⊥

,t i,t

,s∈

Pat ⊥

,h∈

DC∪

FS

I[P

] ⊥de

lare

gla

AR

+FA

repre

senta

elco

nju

nto

{(l→

r⇐

C)θ|(

l→

r⇐

C)∈

P,

θ∈

Subs

t ⊥}

de

las

inst

anci

as

parc

iale

sde

regla

sdelpro

gra

ma

P

Calc

ulo

Sem

anti

coSC

yA

rbole

sde

Pru

eba

(II)

IU

tiliza

rem

os

lanota

cion

P` S

CG

θco

nP

un

pro

gra

ma,G

un

obje

tivo

una

sust

ituci

on

para

indic

ar

que

sepuede

pro

-bar

en

SC

usa

ndo

P

ID

eci

mos

que

un

sist

em

aG

Ses

corr

ect

oco

nre

spect

oa

SC

cuando

siθ

es

una

solu

cion

obte

nid

apor

GS

para

un

obje

tivo

G(l

oque

repre

senta

rem

osco

mo

G° G

S,P

θ)se

tiene

P` S

CG

θ

IC

ada

pru

eba

P` S

CG

θ(c

on

Gato

mic

o)

puede

repre

senta

rse

media

nte

un

arb

ol

de

pru

eba

con

en

lara

ız,

yta

lque

el

conte

nid

ode

cada

nodo

puede

infe

rirs

ea

part

irde

sus

nodos

hijos

media

nte

alg

una

regla

de

infe

renci

aSC

Calc

ulo

Sem

anti

coSC

yA

rbole

sde

Pru

eba

(III

)

take

(suc

(suc

z))

(fro

mX

)→

X:X

:[]

((

((

((

((

((

((

((

((

((

((

((

((

(

³³

³³

³³

³³

³³

³³

hh

hh

hh

hh

hh

hh

hh

hh

hh

h hA

R+

FA

suc

(suc

z)→

suc

(suc

z)D

C∗

from

X→

X:X

:⊥S

S S

»»

»»

»»

»»

»»

»»

AR

+FA

take

(suc

(suc

z))

(X:X

:⊥)→

X:X

:[]

X→

XR

Rfr

omX→

X:X

:⊥X

:ta

ke(s

uc

z)(X

:⊥)→

X:X

:[]

SS

S

ÃÃ

ÃÃ

ÃÃ

ÃÃ

ÃÃ

ÃÃ

ÃD

C

X:fro

mX→

X:X

:⊥S

S S

»»

»»

»»

»»

»»

»»

DC

X→

XR

Rta

ke(s

uc

z)(X

:⊥)→

X:[

]S

SS

»»

»»

»»

»»

»»

»»

» »

((

((

((

((

((

((

((

((

((

((

(A

R+

FA

X→

XR

Rfr

omX→

X:⊥

SS

S

»»

»»

»»

»»

»»

»»

AR

+FA

suc

z→

suc

z

DC∗

X:⊥→

X:⊥

DC

,RR

,BT

take

(suc

z)(X

:⊥)→

X:[

]

X→

XR

Rfr

omX→

X:⊥

X:t

ake

z⊥→

X:[

]S

SS

»»

»»

»»

»»

»»

»»

DC

X:fro

mX→

X:⊥

SS

S

»»

»»

»»

»»

»»

»»

DC

X→

XR

Rta

kez⊥→

[]

SS

S

©©

©©

©©

© ©

»»

»»

»»

»»

»»

»»

»»

AR

+FA

X→

XR

Rfr

omX→⊥

BT

z→

zD

C⊥→⊥

BT

take

z⊥→

[]

[]→

[]

DC

Modelo

sP

rete

ndid

os

(I)

IH

ech

obasi

co:apro

xim

aci

on

ft n→

t,t i

,t∈

Pat ⊥

IIn

terp

reta

cion

de

Herb

rand

:co

nju

ntoI

de

hech

osbasi

cosque

para

toda

f∈

FS

ny

patr

ones

parc

iale

sarb

itra

rios

t,t n

cum

ple

los

tres

requis

itos

siguie

nte

s:

1.

(ft n→⊥)

∈I

2.

Si(f

t n→

s)∈I,

t iv

t′ i,sw

s′ento

nce

sta

mbie

n(f

t′ n→

s′)∈I

3.

Si

(ft n→

s)∈I,

es

una

sust

ituci

on

tota

l,ento

nce

s(f

t n→

s)θ∈I

IM

odelo

pre

tendid

ode

un

pro

gra

ma:

una

inte

rpre

taci

on

de

Herb

rand

de

ese

pro

gra

ma

conte

nie

ndo

los

hech

os

basi

cos

que

elusu

ari

oco

nsi

dera

que

deben

ser

deduci

ble

sen

SC

apart

irdelpro

gra

ma

IH

em

os

definid

oun

calc

ulo

SCI

que

perm

ite

com

pra

rsi

un

obje

tivo

Ges

valido

con

resp

ect

oa

una

inte

rpre

taci

onI

Modelo

sP

rete

ndid

os

(II)

:Eje

mplo

take

(suc

(suc

z))

(fro

mX

)→

X:X

:[]

((

((

((

((

((

((

((

((

((

((

((

((

(

³³

³³

³³

³³

³³

³³

hh

hh

hh

hh

hh

hh

hh

hh

hh

h hA

R+

FA

suc

(suc

z)→

suc

(suc

z)D

C∗

from

X→

X:X

:⊥S

S S

»»

»»

»»

»»

»»

»»

AR

+FA

take

(suc

(suc

z))

(X:X

:⊥)→

X:X

:[]

X→

XR

Rfr

om

X→

X:X

:⊥N

odo

crıt

ico

X:ta

ke(s

uc

z)(X

:⊥)→

X:X

:[]

SS

S

ÃÃ

ÃÃ

ÃÃ

ÃÃ

ÃÃ

ÃÃ

ÃD

C

X:fro

mX→

X:X

:⊥S

S S

»»

»»

»»

»»

»»

»»

DC

X→

XR

Rta

ke(s

uc

z)(X

:⊥)→

X:[

]S

SS

»»

»»

»»

»»

»»

»»

» »

((

((

((

((

((

((

((

((

((

((

(A

R+

FA

X→

XR

Rfr

omX→

X:⊥

SS

S

»»

»»

»»

»»

»»

»»

AR

+FA

suc

z→

suc

z

DC∗

X:⊥→

X:⊥

DC

,RR

,BT

take

(suc

z)(X

:⊥)→

X:[

]

X→

XR

Rfr

omX→

X:⊥

X:t

ake

z⊥→

X:[

]S

SS

»»

»»

»»

»»

»»

»»

DC

X:fro

mX→

X:⊥

SS

S

»»

»»

»»

»»

»»

»»

DC

X→

XR

Rta

kez⊥→

[]

SS

S

©©

©©

©©

© ©

»»

»»

»»

»»

»»

»»

»»

AR

+FA

X→

XR

Rfr

omX→⊥

BT

z→

zD

C⊥→⊥

BT

take

z⊥→

[]

[]→

[]

DC

Arb

ole

sde

Pru

eba

Abre

via

dos

(I)

ILos

unic

os

nodos

rele

vante

spara

ladepura

cion

son

los

corr

es-

pondie

nte

sa

concl

usi

ones

de

paso

sF

A.Est

oes

debid

oa

que

elre

sto

de

regla

sde

infe

renci

aSC

son

independie

nte

sdelpro

-gra

ma,ta

ly

com

oco

menta

mos

ante

riorm

ente

,y

por

tanto

no

pueden

dar

lugar

apaso

sin

corr

ect

os.

IEl

arb

ol

de

pru

eba

abre

via

do

(APA

)co

rresp

ondie

nte

aun

arb

ol

de

pru

eba

AP

seco

nst

ruye

com

ose

indic

aa

conti

nua-

cion:

mLa

raız

delA

PA

es

lara

ızdelA

P.

mLos

hijos

de

un

nodo

que

ya

form

apart

edelA

PA

,so

nlo

sdesc

endie

nte

sm

as

cerc

anos

delco

rresp

ondie

nte

nodo

en

el

AP

tale

sque

corr

esp

onden

con

laco

ncl

usi

on

de

un

paso

FA

Arb

ole

sde

Pru

eba

Abre

via

dos

(II)

IEn

todo

APA

,ca

da

nodo,exce

pto

lara

ız,est

aim

plıci

tam

ente

aso

ciado

ala

inst

anci

ade

lare

gla

de

pro

gra

ma

uti

liza

da

en

el

paso

FA

corr

esp

ondie

nte

,cu

ya

concl

usi

on

es

pre

cisa

mente

el

hech

obasi

cof

t n→

sque

const

ituye

el

pro

pio

nodo.

Es

inte

resa

nte

reco

rdar

que

t 1,.

..,t

n,s

son

patr

ones

parc

iale

sque

no

pueden

conte

ner

nin

guna

llam

ada

afu

nci

on

reduci

ble

.

IEje

mplo

: take

(suc

(suc

z))

(fro

mX

)→

X:X

:[]

»»

»»

»»

»»

»»

»»

» »

from

X→

X:X

:⊥

from

X→

X:⊥

XX

XX

XX

XX

XX

XX

X X

take

(suc

(suc

z))

(X:X

:⊥)→

X:X

:[]

take

(suc

z)(X

:⊥)→

X:[

]

take

z⊥→

[]

Arb

ole

sde

Pru

eba

Abre

via

dos

(III

)

ITeore

ma

3.3

.6(p

ag.6

8de

lam

em

ori

a):

Sea

Pun

pro

gra

ma,G

un

obje

tivo,G

Sun

sist

em

ade

reso

lu-

cion

de

obje

tivos

corr

ect

oy

θuna

resp

uest

ain

corr

ect

apara

Gobte

nid

apor

GS

usa

ndo

P.

Supongam

os

que

dis

ponem

os

de

un

APA

test

igo

de

P` S

CG

θ.En

est

as

circ

unst

anci

as

ladepura

cion

decl

ara

tiva

que

tom

ael

APA

com

oarb

ol

de

com

puto

cum

ple

las

dos

pro

pie

dades

siguie

nte

s:

(a)

Com

ple

titu

d:elA

PA

tiene

un

nodo

crıt

ico.

(b)

Corr

ecc

ion:

cada

nodo

crıt

ico

del

APA

tiene

aso

ciada

una

inst

anci

ade

regla

de

pro

gra

ma

que

es

inco

rrect

aco

nre

spect

oalm

odelo

pre

tendid

odelpro

gra

ma

P.

Opci

ones

Dos

posi

ble

sfo

rmas

de

obte

ner

los

APA

s

IM

odifi

car

laest

ruct

ura

delco

mpilador

para

que

sea

capaz

de

pro

duci

rlo

sarb

ole

sde

com

puto

mEfici

ente

mPoco

port

able

mD

ifıc

ilra

zonar

sobre

suco

rrecc

ion

IU

tiliza

runa

transf

orm

aci

on

de

pro

gra

mas

de

form

aque

el

com

puto

delobje

tivo

transf

orm

ado

c.r.

alpro

gra

ma

transf

or-

mado

pro

duzc

aelarb

olde

com

puto

delsı

nto

ma

inic

ial

mM

enos

efici

ente

mPort

able

mM

as

senci

llo

razo

nar

sobre

suco

rrecc

ion

IH

em

os

ele

gid

ola

transf

orm

aci

on

de

pro

gra

mas

Pla

nte

am

iento

Genera

l(I

)

ILas

funci

ones

delpro

gra

ma

transf

orm

ado

devolv

era

npare

sde

valo

res

de

lafo

rma

(t,c

t)donde

tre

pre

senta

elvalo

rdevuelt

oen

el

pro

gra

ma

ori

gin

al

yct

el

arb

ol

de

pru

eba

del

com

puto

que

ha

pro

duci

do

t

ILa

transf

orm

aci

on

de

una

funci

on

de

ari

dad

nf∈

FS

nte

ndrı

aelsi

guie

nte

asp

ect

odesd

eelpunto

de

vis

tade

los

tipos

f::

τ 1→

···→

τ n→

τ⇒

fT

::τT 1→

···→

τT n→

(τT ,

cTre

e)

donde

mcT

reeesun

tipo

de

dato

sque

repre

senta

losarb

ole

sde

pru

eba

mτT i,

τT

son

las

transf

orm

aci

ones

de

los

tipos

τ i,

τre

spect

iva-

mente

con

Tdefinid

oco

mo:

αT

(α∈

TV

ar)

(Cτ

n)T

=C

τT n

(C∈

TC

n)

(µ→

ν)T

=µT→

(νT ,

cTre

e)

Pla

nte

am

iento

Genera

l(I

I)

IH

em

os

div

idid

ola

transf

orm

aci

on

en

dos

eta

pas:

mP

rim

era

eta

pa:

apla

nam

iento

El

pro

gra

ma

apla

nado

care

-ce

rade

llam

adas

anid

adas,

conse

rvando

una

sem

anti

caequi-

vale

nte

alpro

gra

ma

ori

gin

al

mSegunda

eta

pa:in

troducc

ion

de

los

arb

ole

sde

com

puto

Est

ase

gunda

fase

part

ira

de

un

pro

gra

ma

que,

gra

cias

al

pun-

toante

rior,

supondre

mos

pre

via

mente

apla

nado

ytr

ansf

or-

mara

los

pro

gra

mas

para

que

las

funci

ones

transf

orm

adas

devuelv

an

los

arb

ole

sde

com

puto

com

opart

ede

sus

resu

l-ta

dos

P⇒A

PA

⇒T

PT

Tra

nsf

orm

aci

on

de

Apla

nam

iento

(I)

IU

npro

gra

ma

Pes

un

pro

gra

ma

pla

no

cuando

toda

regla

de

pro

gra

ma

(ft n→

r⇐

C)∈

Pveri

fica

:

mr∈

Pat ⊥

.

mC

es

una

condic

ion

pla

na.

IU

na

condic

ion

Ces

una

condic

ion

pla

na

sica

da

una

de

sus

com

ponente

sato

mic

as

es

de

una

de

las

dos

form

as

siguie

nte

s:

mt

==

t′∈

Cco

nt,

t′∈

Pat ⊥

.

me→

s,co

ne∈

Exp ⊥

,s∈

Pat ⊥

,y

donde

ees

una

expre

sion

pla

na.

IU

na

expre

sion

ees

una

expre

sion

pla

na

sies

de

una

de

las

siguie

nte

sfo

rmas:

me≡

t,co

nt∈

Pat ⊥

.

me≡

ft n

con

f∈

FS

ny

t i∈

Pat ⊥

para

i=

1..

.n.

me≡

Xt,

con

X∈

Var,

t∈

Pat ⊥

.

IU

tiliza

rem

os

elte

rmin

ollam

ada

para

desi

gnar

ala

sexpre

sio-

nes

pla

nas

que

no

son

patr

ones.

Tra

nsf

orm

aci

on

de

Apla

nam

iento

(II)

Apla

nam

iento

de

una

regla

de

funci

on:

(PL

1)

r⇒

A(u

;C

r)

C⇒

ACA

ft n

=r⇐

C⇒

Af

t n=

u⇐

CA,

Cr

Apla

nam

iento

de

una

expre

sion:

(PL

2)

⊥⇒

A(⊥

;)

(PL

3)

X⇒

A(X

;)

para

X∈

Var

(PL

4)

a1⇒

A(u

1;

C1)

Ra

2..

.ak⇒

A(u

;C

)X

ak

flexib

le,k

>0,

Xa

k⇒

A( u

;C

1,X

u1→

R,C

)R

nueva

vari

able

(PL

5)

e 1⇒

A(u

1;

C1)

...

e m⇒

A(u

m;

Cm)

he m

rıgid

oy

pasi

vo

he m

⇒A

(hu

m;

C1,

...,

Cm)

(PL

6)

e 1⇒

A(u

1;

C1)

...

e n⇒

A(u

n;

Cn)

Sa

k⇒

A(u

;D

)

fe n

ak

⇒A

(u;

C1,

...,

Cn,f

un→

S,D

)

Tra

nsf

orm

aci

on

de

Apla

nam

iento

(III

)

Apla

nam

iento

de

condic

iones:

(PL

7)

C1

⇒A

D1

C2

⇒A

D2

C1,

C2

⇒A

D1,

D2

(PL

8)

l⇒

A(u

1;

C1)

r⇒

A(u

2;

C2)

l=

=r

⇒A

C1,

C2,

u1

==

u2

(PL

9)

e⇒

A(u

;C

)si

eno

es

una

expre

sion

pla

na

e→

s⇒

AC

,u→

s

(PL

10)

sie

ya

es

una

expre

sion

pla

na

e→

s⇒

Ae→

s

ISea

Pun

pro

gra

ma

yPA

suapla

nam

iento

.Ento

nce

s:

mTeore

ma

4.3

.3(p

ag.80)

SiP

est

abie

nti

pado

ento

nce

sPA

tam

bie

nlo

est

a

mTeore

ma

4.3

.5(p

ag.

81):

Sea

Cuna

condic

ion

cualq

uie

ra.

Ento

nce

sP` S

CC

sii

PA` S

CC

Tra

nsf

orm

aci

on

de

Apla

nam

iento

(IV

)

data

nat

=z

|suc

nat

data

nat

=z

|suc

nat

plus

::

nat

->

nat

->

nat

plus

::

nat

->

nat

->

nat

plus

zY

=Y

plus

zY

=Y

plus

(suc

X)

Y=

plus

(suc

X)

Y=

suc

U

suc

(plus

XY)

where

U=

plus

XY

twice

::

(A

->

A)

->

A->

Atwice

::

(A

->

A)

->

A->

A

twice

FX

=F

(F

X)

twice

FX

=V

where

U=

FX

V=

FU

drop4

::

[A]

->

[A]

drop4

::

[A]

->

[A]

drop4

=twice

twice

tail

drop4

=U

where

U=

twice

twice

tail

Tra

nsf

orm

aci

on

para

laO

bte

nci

on

de

APA

s

IT

ipo

para

repre

senta

rlo

sarb

ole

sde

com

puto

:

type

funId,

pVal

=string

type

arg,

res

=pVal

data

cTree

=ctVoid

|ctNode

funId

[arg]

res

[cTree]

IElse

gundo

yte

rcerarg

um

ento

sde

ctN

odeso

n,re

spect

ivam

ente

,la

sre

pre

senta

ciones

de

los

arg

um

ento

sy

delre

sult

ado

pro

du-

cido

por

lafu

nci

on.

Para

const

ruir

est

as

repre

senta

ciones

seuti

liza

lafu

nci

on

dV

al::

A→

pV

al.

I(d

Val

a)devuelv

euna

repre

senta

cion

de

laapro

xim

aci

on

alvalo

ra

que

seha

obte

nid

odura

nte

elcom

puto

pri

nci

pal:

mdV

alre

em

pla

zara

todas

las

llam

adas

que

form

en

part

ede

ay

que

hayan

sido

evalu

adas

dura

nte

el

com

puto

por

una

repre

senta

cion

delvalo

robte

nid

o

mLas

llam

adas

que

no

hayan

sido

evalu

adas

sere

em

pla

zara

npor

laca

dena

””,

repre

senta

ndo

elvalo

r⊥.

Tra

nsf

orm

aci

on

para

laO

bte

nci

on

de

APA

s(I

I)Tra

nsf

orm

aci

on

de

una

regla

de

funci

on:

(TR

1)

t 1⇒

Ts 1

...

t n⇒

Ts n

r⇒

Ts

C⇒

T(C

T;(r

1,T

1),

...,

(rm

,Tm

))

ft n

=r⇐

C⇒

T

fT

s n=

(s,T

)⇐

CT ,

ctN

ode

”f.k

”[d

Vals

1,.

..,dV

als

n]

(dV

als

)(c

tCle

an

[(dV

alr

1,T

1),

...,

(dV

alr

m,T

m)]

)→

T

donde

ft n→

r⇐

Ces

lak-e

sim

are

gla

de

fen

PA,

Tvari

able

nueva

Tra

nsf

orm

aci

on

de

un

patr

on:

(TR

2)

(TR

3)

(TR

4)

t 1⇒

Ts 1

...

t m⇒

Ts m

⊥⇒

T⊥

X⇒

TX

ht m

⇒T

hs m

SiX∈

Var

Para

h∈

DC

m

(TR

5)

t 1⇒

Ts 1

...

t m⇒

Ts m

(TR

6)

t 1⇒

Ts 1

...

t m⇒

Ts m

ht m

⇒T

hT m

s mf

t m⇒

TfT

s mPara

h∈

DC

nco

nn

>m

,o

Para

f∈

FS

m+

1

h∈

FS

n,co

nn

>m

+1

Tra

nsf

orm

aci

on

de

condic

iones:

(TR

7)

C1⇒

T(D

1;(r

1,T

1),

...,

(rk,T

k))

C2⇒

T(D

2;(r

k+

1,T

k+

1),

...,

(rm

,Tm

))

C1,C

2⇒

T(D

1,D

2;(r

1,T

1),

...,

(rm

,Tm

))

(TR

8)

l⇒

Tu

r⇒

Tv

(TR

9)

e⇒

Tu

t⇒

Tv

l=

=r⇒

T(u

==

v;)

e→

t⇒

T(u→

v;

)Si

e∈

Pat ⊥

(TR

10)

s⇒

Tu

t⇒

Tv

Xs→

t⇒

T(X

u→

(v,T

);(v

,T))

Si

X∈

Var,

Tvari

able

nueva

(TR

11)

t 1⇒

Ts 1

...

t n⇒

Ts n

t⇒

Tv

ft n→

t⇒

T(fT

s n→

(v,T

);(v

,T))

Si

f∈

FS

n,

Tvari

able

nueva

Tra

nsf

orm

aci

on

para

laO

bte

nci

on

de

APA

s(I

II)

data

nat

=z

|suc

nat

plus

::

nat

->

nat

->

(nat,

cTree)

plus

zY

=(Y,T)

where

T=

ctNode

"plus.1"

[dVal

z,

dVal

Y]

(dVal

Y)

(ctClean

[])

plus

(suc

X)

Y=

(suc

U,

T)

where

(U,T1)

=plus

XY

T=

ctNode

"plus.2"

[dVal

(suc

X),dVal

Y]

(dVal

(suc

U))

(ctClean

[(dVal

U,T1)])

twice

::

(A

->

(A,cTree))

->

A->

(A,

cTree)

twice

FX

=(V,T)

where

(U,

T1)

=F

X

(V,

T2)

=F

U

T=

ctNode

"twice.1"

[dVal

F,dVal

X]

(dVal

V)

(ctClean

[(dVal

U,T1),

(dVal

V,

T2)])

Tra

nsf

orm

aci

on

para

laO

bte

nci

on

de

APA

s(I

V)

drop4

::

([A]

->

([A],cTree),cTree)

drop4

=(U,T)

where

(U,T1)

=twice

twice0

tail

T=

ctNode

"drop4.1"

[]

(dVal

U)

(ctClean

[(dVal

U,T1)])

%funciones

auxiliares

s0::nat

->

(nat,

cTree)

s0

X=

(suc

X,

ctVoid)

plus0

::

nat

->

(nat->(nat,cTree),cTree)

plus0

X=

(plus

X,

ctVoid)

twice0

::

(A

->

(A,cTree))

->

(A

->

(A,cTree),cTree)

twice0

X=

(twice

X,

ctVoid)

Resu

ltados

de

Corr

ecc

ion

(I)

IElobje

tivo

para

elque

seobtu

vo

elsı

nto

ma

inic

ialse

inco

rpora

alpro

gra

ma

adepura

rm

edia

nte

una

funci

on

solv

e=

true⇐

Gθ p

.A

lpro

gra

ma

ası

obte

nid

ole

llam

am

os

Pso

lve

IPara

los

resu

ltados

de

corr

ecc

ion

nece

sita

mos

suponer

que

el

sist

em

averi

fica

lasi

guie

nte

pro

pie

dad:

Un

sist

em

aG

Ses

com

ple

toco

nre

spect

oa

ladepura

cion

sii

para

cada

pro

gra

ma

P,obje

tivo

Gy

sust

ituci

on

θveri

fica

ndo

G° G

S,P

θy

por

tanto

mP

` SC

(por

ser

GS

corr

ect

o)

mPT so

lve` d

ValS

Cso

lveT

==

(tru

e,c

t)co

nct

:cT

ree

tota

l(p

orco

ns-

trucc

ion

de

Pso

lve

yco

rrecc

ion

deT )

seti

ene

tam

bie

n(s

olv

eT

==

(tru

e,T

ree))

° GS,PT so

lve{T

ree7→

ct}

com

opri

mera

resp

uest

aca

lcula

da

Resu

ltados

de

Corr

ecc

ion

(II)

ITeore

mas

4.4

.7(p

ag.97)

y4.4

.8(p

ag.100):

Sea

Pun

pro

gra

ma,G

un

obje

tivo,G

Sun

sist

em

ade

reso

lu-

cion

de

obje

tivos

corr

ect

oy

com

ple

toco

nre

spect

oa

ladepu-

raci

on

θ puna

resp

uest

ain

corr

ect

apro

duci

da

por

GS

para

Guti

liza

ndo

P.

Ento

nce

selobje

tivo

solv

eT

==

(tru

e,T

ree)ti

ene

exit

oco

nre

s-

pect

oalpro

gra

ma

PT so

lveuti

liza

ndo

elsi

stem

aG

Sy

lapri

mera

resp

uest

apro

duci

da

vin

cula

Tre

ea

un

valo

rde

tipo

cTre

eque

repre

senta

un

APA

test

igo

para

P` S

CG

θ.

Supongam

os

adem

as

que

exis

teun

ora

culo

capaz

de

dete

r-m

inar

cuando

un

hech

obasi

copert

enece

ala

inte

rpre

taci

on

pre

tendid

aI

de

P.

Ento

nce

sun

depura

dordecl

ara

tivo

que

uti

lice

Tre

eco

mo

arb

ol

de

pru

eba

loca

liza

rauna

regla

inco

rrect

aen

elpro

gra

ma

P

Est

ruct

ura

delco

mpilador

enTO

Y

IC

om

pilaci

on

de

un

pro

gra

ma

enTO

Y:

' &

$ %

Cod

igo

fuen

te

(.to

y)

-

Anal

isis

sinta

ctic

o-se

man

tico ?

Err

or

-

' &

$ %

Cod

igo

Inte

rmed

io

(.tm

p.o

ut)

-A

nal

isis

de

tipos ?

Err

or

Gen

erad

or

de

codig

o-

' &

$ %

Cod

igo

Pro

log

(.pl)

IElfich

ero

.tm

p.o

ut

conti

ene

lam

ism

ain

form

aci

on

que

elpro

-gra

ma

ori

gin

al

pero

est

ruct

ura

da

en

form

ade

hech

os

Pro

log

mas

faci

les

de

leer

ym

anip

ula

r

Inco

rpora

cion

deldepura

dor

decl

ara

tivo

IG

enera

cion

de

un

pro

gra

ma

transf

orm

ado

enTO

Y:

¾ ½

» ¼P.

tmp.

out

G ÁÀ

¿ S

SSw

θ p ÁÀ

¿ ¶¶

¶7

Tra

nsf

orm

ador

de

codig

oin

term

edio

6

-

¾ ½

» ¼PT

.tm

p.ou

t

?

Anal

isis

de

tipos

Gen

erad

or

de

codig

o-

&%

'$

PT

.pl

ILa

traducc

ion

no

sehace

“fu

ente

afu

ente

”si

no

entr

ecodig

os

inte

rmedio

s(.

tmp.o

ut)

:m

as

rapid

ay

senci

lla

ILa

eta

pa

de

com

pro

baci

on

de

err

ore

sde

tiposse

“sa

lta”

porq

ue

losre

sult

adoste

ori

cosase

gura

nla

corr

ecc

ion

en

cuanto

ati

pos

delpro

gra

ma

transf

orm

ado

Est

rate

gia

spara

lanavegaci

on

ID

ifere

nte

sest

rate

gia

sde

navegaci

on

requeri

ran

un

num

ero

di-

fere

nte

de

resp

uest

as

por

part

edelusu

ari

o

IV

am

os

apre

senta

rbre

vem

ente

dos

est

rate

gia

sim

ple

menta

das

en

elnavegador

gra

fico

deTO

Y,DD

TI

La

corr

ecc

ion

de

las

est

rate

gia

sdependera

de

las

siguie

nte

spro

pie

dades

mTodo

APA

con

raız

rti

ene

al

menos

un

nodo

crıt

ico

bta

lque

exis

teun

cam

ino

de

ra

bfo

rmado

unic

am

ente

pornodos

inco

rrect

os

mLa

elim

inaci

on

de

nodos

validos

del

arb

ol

de

com

puto

no

afe

cta

alco

nju

nto

de

nodos

crıt

icos

an©

©©

HH

H~

bn©

©©

HH

Hcn dn

©©

HH

Hen

~ fn

an bn©

©©

HH

Hcn dn

©©

HH

Hen

~ fn

an bn©

©©

HH

Hcn dn

en~ fn

an bn©

©©

HH

Hcn dn

enfn

Eje

mplo

:A

pro

xim

aci

ones

de

lara

zon

aure

a(I

)

IV

am

osa

apro

xim

arla

razon

aure

a1+√

52

apart

irde

lapro

pie

dad

lım

n→∞

fib

(n+

1)

fib

(n)

=1

+√ 5

2

con

fib

(i)

el

i-esi

mo

term

ino

de

lasu

cesi

on

de

Fib

onacc

i[1

,1,2

,3,5

,8,1

3,...]

IElpro

gra

ma

incl

uir

aun

funci

on

gold

enA

ppro

xpara

com

puta

rla

list

a[fi

b(1

)/fib(0

),fib(2

)/fib(1

),fib(3

)/fib(2

),...

]

Igold

enA

ppro

xva

aest

ar

definid

oco

mo

(tail

fib)

./.fib

donde

mfib

debe

repre

senta

rla

list

ain

finit

a[fi

b(0

),fib(1

),fib(2

),...

]

mta

ilL

funci

on

que

elim

ina

elpri

mer

ele

mento

de

una

list

aL

m[a

1,a

2,.

..,]

./.[b

1,b

2,.

..,]

com

puta

lalist

a[a

1/b

1,a

2/b

2,.

..]

Eje

mplo

:A

pro

xim

aci

ones

de

lara

zon

aure

a(I

I)

fib

=[1

,1|fi

bA

ux

11]

fibA

ux

NM

=[N

+M

|fibA

ux

N(N

+M

)]

gold

enA

ppro

x=

(tail

fib)

./.fib

infixr

20

./.

[X|X

s]./

.[Y

|Ys]

=[X

/Y|X

s./

.Y

s]

tail

[X|X

s]=

Xs

take

0L

=[]

take

N[X|X

s]=

[X|t

ake

(N-1

)X

s]<

==

N>

0

Ifib

est

adefinid

oa

part

irde

fibA

ux

X0X

1,que

debe

repre

senta

rla

list

ain

finit

a[X

2,

X3,

...]

,ta

lque

Xk

=X

k−2

+X

k−1

,para

cualq

uie

rk≥

2I

¡¡¡fi

bA

ux

es

err

onea!!!

ILa

regla

corr

ect

a:fibA

ux

NM

=[N

+M|fi

bA

ux

M(N

+M

)]

Eje

mplo

:A

pro

xim

aci

ones

de

lara

zon

aure

a(I

II)

ILas

pri

mera

s5

apro

xim

aci

ones

de

1+√

52

deben

ser:

m1/1

=1

m2/1

=2

m3/2

=1.5

m5/3

=1.6

66...

m8/5

=1.6

ISin

em

barg

oelobje

tivo

take

5gold

enA

ppro

x=

=R

pro

duce

lare

spuest

aco

mputa

da{R

7→[1

,2,1

,5,1

,33333,1

,25]}

¡Sın

tom

ain

icia

l!

Est

rate

gia

sde

Navegaci

on

(I)

IN

orm

alm

ente

losdepura

dore

sdecl

ara

tivospara

lenguaje

sfu

n-

cionale

sin

corp

ora

nun

navegador

que

imple

menta

una

est

ra-

tegia

desc

endente

:

mSe

com

ienza

exam

inando

los

nodos

hijos

de

lara

ız

mSito

dos

ellos

son

corr

ect

os

Ãla

raız

es

un

nodo

crıt

ico

mSise

encu

entr

aalg

un

hijo

inco

rrect

oN

Ãse

repit

eelpro

ceso

con

elsu

barb

olcu

ya

raız

es

N

IDD

Tta

mbie

nperm

ite

sele

ccio

nar

laest

rate

gia

div

ide

ypre

-gunta

:

mB

usc

ar

un

nodo

Nta

lque

elnum

ero

de

nodos

dentr

ode

susu

barb

ol

yel

num

ero

de

nodos

fuera

de

susu

barb

ol

est

en

tan

cerc

anos

com

ose

aposi

ble

.Sea

Telsu

barb

olcu

ya

raız

es

N

mSiN

es

corr

ect

o,ento

nce

selim

inar

Ty

repeti

relpro

ceso

con

elarb

olası

obte

nid

o

mEn

otr

oca

so,si

Tso

loco

nti

ene

Nse

tiene

que

Nescr

ıtic

o,

ysi

no

sere

pit

eelpro

ceso

con

T

Est

rate

gia

sde

Navegaci

on

(II)

IEje

mplo

:U

npaso

con

laest

rate

gia

div

ide

ypre

gunta

:

©©

©©

HH

HH

Hy y

yy

¡¡

¡

@@

@y

y

¡¡

@@

@y y

¡¡

@@

@y

yÃN

(8/12)

@@

¡¡

@@

@y

yy

¡¡

¡

@@

@y

yy

=⇒

©©

©©

HH

HH

Hy y

yy

¡¡

¡ y y¡

¡¡

@@

@y y

¡¡

@@

@y

y

ILa

est

rate

gia

div

ide

ypre

gunta

norm

alm

ente

pre

cisa

menos

pre

gunta

salusu

ari

opara

enco

ntr

ar

un

nodo

crıt

ico

Com

para

cion

de

Est

rate

gia

s(I

)

IH

em

os

realiza

do

experi

mento

sco

nel

siguie

nte

conju

nto

de

pro

gra

mas:

Pro

gra

ma

Desc

ripci

on

P1

Pro

gra

ma

logic

opara

invert

iruna

list

a(F

err

and,1987)

P2

Pro

gra

ma

logic

opara

elm

eto

do

Quic

kSort

(Tess

ier

&Ferr

and,2000)

P3

Otr

opro

gra

ma

logic

opara

Quic

kso

rt(H

erm

enegildo

&al.

1998)

P4

Pro

gra

ma

funci

onalpara

laord

enaci

on

por

inse

rcio

n(N

ilss

on,2001)

P5

Pro

gra

ma

funci

onalpara

elcalc

ulo

de

num

ero

spri

mos

(Caballero

&R

odrı

guez-

Art

ale

jo2002)

P6

Pro

gra

ma

funci

onalso

bre

laari

tmetica

de

Peano

P7

Pro

gra

ma

funci

onalpara

laord

enaci

on

media

nte

arb

ole

sde

busq

ueda

P8

Pro

gra

ma

funci

onalpara

apro

xim

ar

lara

zon

aure

aP

9P

rogra

ma

logic

o-funci

onalde

ord

enaci

on

“genera

cion

ypru

eba”

P10

Pro

gra

ma

logic

o-funci

onalpara

elpro

gra

ma

de

las

nre

inas

Com

para

cion

de

Est

rate

gia

s(I

I)

IN

um

ero

de

consu

ltasalusu

ari

oco

nca

da

una

de

lasest

rate

gia

s:

Tre

eD

esc

endente

Div

ide

yP

regunta

Pro

gra

ma

Nodos

Pro

f.C

onsu

ltas

Consu

ltas

P1

201

68

68

(3)

9P

2194

14

12

8P

3206

18

17

8P

4191

19

19

(18)

8P

5198

15

15

(5)

8P

6195

44

67

P7

191

14

13

8P

8203

51

50

9P

9200

42

42

8P

10

196

16

12

8

Com

para

cion

de

Est

rate

gia

s(I

II)

P10

Arb

ol

Est

rate

gia

Est

rate

gia

Rein

as

Nodos

Pro

f.D

esc

.D

ivid

ey

Pre

gunta

798

12

15

711

196

16

12

814

292

20

15

817

403

22

18

919

488

24

20

926

850

32

27

10

301100

36

31

11

351456

40

36

11

401865

46

41

11

452321

50

46

11

502830

56

51

12

553386

60

56

12

Com

para

cion

de

Est

rate

gia

s(I

V)

ILa

est

rate

gia

div

ide

ypre

gunta

reduce

,en

genera

l,elnum

ero

de

pre

gunta

sque

elusu

ari

odebe

conte

star

pero

requie

rem

as

recu

rsos

(mem

ori

ay

tiem

po)

en

nuest

raim

ple

menta

cion

ac-

tualya

que

para

uti

liza

rla

hay

que

evalu

ar

com

ple

tam

ente

el

arb

olde

com

puto

IEn

cam

bio

laest

rate

gia

desc

endente

requie

rem

as

pre

gunta

spero

menos

recu

rsos

alpoders

eevalu

ar

elarb

olde

form

ape-

rezo

sa

Esp

eci

fica

ciones

Fia

ble

s(I

)

IP

rogra

mas

Sp

que

incl

uyen

definic

iones

corr

ect

as

de

alg

unas

de

las

funci

ones

delpro

gra

ma

depura

do

P

IDD

Tim

ple

menta

un

alg

ori

tmo

valido?

que

apart

irde

Sp

pro

cesa

cada

arb

olT

de

lasi

guie

nte

form

a:

Para

cada

nodo

Nde

Tco

nte

nie

ndo

un

hech

obasi

coϕ

:f

t n→

t:Sivalido?(S

p,ϕ

)=si

Ãborr

ar

NSivalido?(S

p,ϕ

)=no

Ãm

arc

ar

Nco

mo

inco

rrect

oSivalido?(S

p,ϕ

)=

no-s

no

hace

rnada

Esp

eci

fica

ciones

Fia

ble

s(I

I)

fibN

0=

1fibN

1=

1fibN

N=

ifN

>1

then

(fibN

(N-1

))+

(fibN

(N-2

))

fib

=m

ap

fibN

(fro

m0)

map

F[]

=[]

map

F[X|X

s]=

[FX|m

ap

FX

s]

from

N=

[N|f

rom

N+

1]

IU

sando

est

epro

gra

ma

com

ouna

esp

eci

fica

cion

fiable

,DD

T:m

Elim

ina

12

nodos

corr

ect

os

delarb

olin

icia

l

m3

nodos

sem

arc

an

com

oin

corr

ect

os

Solo

7nodos

con

est

ado

desc

onoci

do

(22

sin

usa

rla

esp

eci

fica

cion

fiable

)

Rela

cion

de

implica

cion

(I)

IC

onsi

dera

mos

dos

hech

os

basi

cos

ϕ≡

ft n→

tϕ′ ≡

ft′

n→

t′.

Info

rmalm

ente

implica

ϕ′ s

iiϕ′ p

uede

obte

ners

ea

part

irde

una

inst

anci

incr

em

enta

ndo

lain

form

aci

on

de

los

arg

um

en-

tos

ydecr

em

enta

ndo

lain

form

aci

on

delre

sult

ado

IForm

alm

ente

,ϕº

ϕ′ s

iiexis

teuna

sust

ituci

on

tota

lθ∈

Subst

talque

t 1θv

t′ 1,

...

,tnθv

t′ n,t′ v

IPor

eje

mplo

,fib→

[1,1

,2,3

,4,5|⊥

fib→

[1,1

,2,3

,4|⊥

]co

lasu

stit

uci

on

identi

dad

Rela

cion

de

implica

cion

(II)

ILa

rela

cion

de

implica

cion

veri

fica

las

siguie

nte

spro

pie

dades

(teore

ma

6.4

.2,pag.158):

es

una

rela

cion

deci

dib

le

mSi

ϕº

ϕ′y

ϕ∈I

ento

nce

sϕ′ ∈

Im

En

else

nti

do

contr

ari

osi

ϕ′/∈I

ento

nce

/∈I

IDD

Tim

ple

menta

elalg

ori

tmo

de

implica

cion

ylo

uti

liza

para

deduci

rla

corr

ecc

ion/in

corr

ecc

ion

de

alg

unos

de

los

nodos

apart

irde

otr

os

IPor

eje

mplo

,sa

bie

ndo

que

mfib→

[1,1

,2,3

,4,5|⊥

fib→

[1,1

,2,3

,4|⊥

],y

que

mfib→

[1,1

,2,3

,4|⊥

]es

inco

rrect

oen

elm

odelo

pre

tendid

o

DDT

deduce

que

fib→

[1,1

,2,3

,4,5|⊥

]ta

mbie

nes

inco

rrect

oen

elm

odelo

pre

tendid

odelpro

gra

ma