1 / 28

Teoria de 1ª Ordem

Teoria de 1ª Ordem. Def. 18  Dado um conjunto A, dizemos que um subconjunto A’ de A é decidível se e somente se existir um procedimento efetivo (um algoritmo) tal que, dado qualquer a  A, pare com SIM se a  A’ e pare com NÃO se a  A’.

aspen
Download Presentation

Teoria de 1ª Ordem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoria de 1ª Ordem • Def. 18 Dado um conjunto A, dizemos que um subconjunto A’ de A é decidível se e somente se existir um procedimento efetivo (um algoritmo) tal que, dado qualquer a  A, pare com SIM se a  A’ e pare com NÃO se a  A’. • Def. 19 Uma Teoria de 1ª Ordem (ou simples-mente uma Teoria) é um par T = <S, G>, onde S é um alfabeto de 1ª ordem e G é um conjunto de sentenças de L(S) fechado por consequência lógica.

  2. Teoria de 1ª Ordem • Def.20  Uma teoria T = <S, G> é axiomatizável se e somente se existe um subconjunto decidível G’ de G tal que aG se e somente se G’ |= a. As sentenças em G’ são os axiomas de T. • Def.21 Uma teoria T é finitamente axiomatizável se e somente se T for axiomatizável por um conjunto finito de sentenças (axiomas). • Def.22 Um modelo para uma teoria T = <S, G> é um modelo para G.

  3. Teoria de 1ª Ordem • Podemos expandir uma teoria com novos símbolos predicativos ou funcionais. Exemplo: Suponha uma teoria sobre os naturais onde “=“ e “>“ são símbolos predicativos binários do alfabeto definido.O que fazer para usar o símbolo “”? Solução 1: “” significa “t = u  t > u”. Solução 2: Expandir a teoria incluindo o predicado “” no alfabeto e acrescentando o axioma de definição de “” xy(x  y  x = y  x > y)

  4. Um exemplo sobre Teoria:Dicionário de um Sistema Descrição do Problema • considere um dicionário contendo os programas e os arquivos usados em um determinado sistema. • cada programa possui como atributo apenas a linguagem em que foi escrito. • cada arquivo possui como atributo apenas o tipo de organização física. • o dicionário mantém os arquivos usados e os programas chamados por cada programa.

  5. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Formalização do Problema T = <S, G> • como descrever a organização lógica do dicionário (o alfabeto - S) • como descrever um estado consistente do dicionário em um determinado instante (as sentenças sobre a teoria - G)

  6. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) Alfabeto do dicionário (AD): • constantes: letras minúsculas do alfabeto da Língua Portuguesa • símbolos predicativos binários: “programa”, “arquivo”, “chama”, “usa”, “depende”

  7. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) Significados pretendido em AD : constantes : nomes de programas, arquivos, linguagens de programação e tipos de organização de arquivos. programa(n, m) : o programa n é escrito na linguagem m. arquivo(n, m) : o arquivo n tem organização m. chama(n, m) : o programa n chama o programa m. usa(n, m) : o programa n usa o arquivo m. depende(n, m) : o programa n usa ou chama direta ou indiretamente m.

  8. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Definição da teoria do Dicionário (restrições): 1. As únicas Linguagens permitidas são Fortran, Java ou Pascal 2. Todo programa é escrito em uma única linguagem 3. As únicas organizações de arquivos permitidas são Sequencial, Direta ou Indexada

  9. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Definição da teoria do Dicionário (restrições): 4. Todo arquivo possui uma única organização física 5. Se x chama y então x e y são programas no dicionário 6. Se x usa y então x é um programa e y é um arquivo no dicionário

  10. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Definição da teoria do Dicionário (restrições): 7. Se x chama y então x depende de y 8. Se x usa y então x depende y 9. Se x depende de z e z depende de y então x depende de y

  11. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Escrevendo a teoria no alfabeto de 1a Ordem 1. As únicas Linguagens permitidas são Fortran, Java ou Pascal xy( programa(x, y)  (y = fortran  y = Java  y = pascal) ) 2. Todo programa é escrito em uma única linguagem xyz( (programa(x, y) & programa(x, z))  (y = z))

  12. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Escrevendo a teoria no alfabeto de 1a Ordem 5. Se x chama y então x e y são programas xy(chama(x, y)  (z(programa(x, z))& w(programa(y, w)))) 9 . Se x depende de z e z depende de y então x depende de de y xyz(xyz((depende(x, z) & depende(z, y))  depende(x, y))

  13. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Teoria do Dicionário no alfab. de 1a Ordem 1. xy(programa(x, y)  (y = fortran  y = java  y = pascal)) 2. xyz((programa(x, y) & programa(x, z))  (y = z)) 3. xy(arquivo(x, y)  (y = sequencial  y = direto  y = indexado))

  14. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Teoria do Dicionário no alfab. de 1a Ordem 4. xyz ((arquivo(x, y) & arquivo(x, z))  (y = z)) 5. xy(chama(x, y)  (z(programa(x, z))& w(programa(y, w)))) 6. xy(usa(x, y)  (z(programa(x, z))& w(arquivo(y, w))))

  15. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Teoria do Dicionário no alfab. de 1a Ordem 7. xy(chama(x, y)  depende(x, y)) 8. xy(usa(x, y)  depende(x, y)) 9. xyz((depende(x, z) & depende(z, y))  depende(x, y))

  16. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • Segue exemplo de uma interpretação I que satisfaz as restrições desse dicionário, ou seja, que é um modelo para G, ou ainda, que é um estado consistente para esse dicionário

  17. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação)

  18. Um exemplo sobre Teoria:Dicionário de um Sistema (continuação) • É interessante observar que um determinado estado consistente, como a interpretação I, também pode ser escrito por uma teoria cujos axiomas representam: • os dados (fatos) armazenados no Dicionário, através de fórmulas atômicas • as propriedades desejadas de “depende”

  19. Teoria equivalente a Interpretação I 1. programa(a, fortran) 2. programa(b, pascal) 3. programa(c, fortran) F 4. arquivo(d, sequencial) A 5. arquivo(e, direto) T 6. chama(a, b) O 7. chama(a, c) S 8. usa(a, d) 9. usa(b, e) R 10. xy(chama(x, y)  depende(x, y)) E 11. xy(usa(x, y)  depende(x, y)) G 12. xyz((depende(x, z) & depende(z, y))  R depende(x, y)) A S

  20. Um Sistema Formal Axiomático (SFA) • Apresentação de um “cálculo” permitindo verificar se uma fórmula de 1ª ordem é consequência lógica de um conjunto de fórmulas.

  21. Um SFA • Def.23 a é uma generalização de b se e somente se a for da forma x1 ... xn (b), para n > 0 e variáveis x1, ... ,xn. • Def.24 Uma fórmula de 1ª Ordem é uma tautologia se ela puder ser mapeada em uma tautologia da Lógica Proposicional.

  22. Um SFA • Def.25 Um Sistema Formal Axiomático é uma tripla S = <L, A, R>, onde: • L : uma linguagem de 1ª ordem • A : um conjunto de sentenças chamadas axiomas lógicos • R : um conjunto de regras de inferência

  23. Um SFA Exemplo: Um SFA denominado S. S = <L, A, R>, onde: L : uma linguagem de 1ª ordem R: uma regra de inferência Modus Ponens: { → b,  }├ b A: um conjunto de axiomas classificados em 5 Grupos:

  24. Um SFA A : todas as generalizações de fórmulas da forma: Grupo 0: traduz a Lóg. Proposicional p/ S (A v B)  (~A  B) (A ^ B)  ~(A  ~B) (A  B)  (A  B)^(B  A) Grupo 1:traduz em  ~x(a) →x(~a) x(a)  ~x(~a)

  25. Um SFA • Os três grupos que seguem dizem respeito às propriedades do  Grupo 2:x1 ... xn (a) a[x1/t1, ... ,xn/tn] (se xi for substituível por ti em a) Grupo 3:x(ab)  (x(a) x(b)) Grupo 4:ax(a) (se x não ocorre livre em a)

  26. Um SFA: Exemplo de uma derivação (prova) em S • {x(P(x)  Q(x)), x(P(x))} |- x(Q(x)) • x(P(x)  Q(x)) P (G) • x(P(x)) P(G) 3. x(P(x)  Q(x))  (x(P(x)) x(Q(x))) Grp. 3 4. x(P(x)) x(Q(x)) 1, 3 MP 5. x(Q(x)) 2, 4 MP

  27. Um SFA: Um outro Exemplo de derivação (prova) em S • Seja G a formalização de um estado do “Dicionário” como uma teoria e a a fórmula : depende(a, e). A derivação de a a partir de Gno sistema S, G— a é dada a seguir:

  28. G — depende (a,e) 1. chama(a, b) G 2. usa(b, e) G 3. xy(chama(x, y)  depende(x, y)) G 4. xy(usa(x, y)  depende(x, y)) G 5. xyz((depende(x, z)(depende(z, y)  depende(x, y))) G 6. xy (chama(x, y)  depende(x, y))  (chama(a, b)  depende(a, b)) Grupo 2 7. chama(a, b)  depende(a, b) 3, 6 MP 8. depende(a, b) 1, 7 MP 9. xy(usa(x, y)  depende(x, y))  (usa(b, e)  depende(b, e)) Grupo 2 10. usa(b, e)  depende(b, e) 4, 9 MP 11. depende(b, e) 2, 10MP 12. xyz((depende(x, z) (depende(z, y)depende(x, y))) (depende(a, b) (depende(b, e)depende(a, e))) Grupo 2 13. depende(a, b)  (depende(b, e)  depende(a, e)) 5, 12 MP 14. depende(b, e)  depende(a, e) 8, 13 MP 15. depende(a, e)MP 11c/14

More Related