A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Elsa Carvalho BEGIN  := id; b:=true; S:=[,..., ] WHILE (S  AND b)DO := top(S); S:=pop(S); := ; IF s e v são da forma f(t 1,... t n ), g(r 1,..., r m.

Apresentações semelhantes


Apresentação em tema: "Elsa Carvalho BEGIN  := id; b:=true; S:=[,..., ] WHILE (S  AND b)DO := top(S); S:=pop(S); := ; IF s e v são da forma f(t 1,... t n ), g(r 1,..., r m."— Transcrição da apresentação:

1 Elsa Carvalho BEGIN  := id; b:=true; S:=[,..., ] WHILE (S  AND b)DO := top(S); S:=pop(S); := ; IF s e v são da forma f(t 1,... t n ), g(r 1,..., r m ) com (f,n) e (g, m) distintos (n,m  0) THEN b:= false ELSE IF s e v são da forma f(t 1,... t n ), f(r 1,..., r n ) THEN S:= push(, push(..., push(,S)...) ELSE IF s ou v é uma variável que ocorre estritamente no outra THEN b:= false ELSE IF s é uma variável THEN  :=   {s/v} ELSE IF v é uma variável THEN  :=   {v/s} ELSE b:= false END Unificação - Algoritmo 200 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05)

2 Elsa Carvalho Unificação - OCCUR CHEK ELSE IF s ou s é uma variável que ocorre estritamente no outra THEN b:= false O objectivo desta validação é detectar situações de auto-referência. p(f(X), f(f(X)))p(Y,Y) A substituição X/f(X) seria obtida na ausência do teste anterior. Corresponde a substituir X pelo termo infinito f(f(f(...)), o qual não pertence à linguagem de 1ª ordem. A verificação da condição é ‘cara’ pois exige que a estrutura do termo seja examinada para detectar a ocorrência da variável, por isso é frequentemente omitida nas implementações. 201 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05)

3 202 Elsa Carvalho Universidade da Madeira Departamento de Matemática Unificador mais geral para p(f(f(X)), X, a) ep(f(Y), g(Z), Z) Exemplo =  = {Z/a}  =  =  = {Z/a, X/g(a)} = =  = {Z/a, X/g(a), Y/f(g(a))} Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05)


Carregar ppt "Elsa Carvalho BEGIN  := id; b:=true; S:=[,..., ] WHILE (S  AND b)DO := top(S); S:=pop(S); := ; IF s e v são da forma f(t 1,... t n ), g(r 1,..., r m."

Apresentações semelhantes


Anúncios Google