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)

Slides:



Advertisements
Apresentações semelhantes
Lógica de Predicados e Representação de Conhecimento
Advertisements

Capítulo 7 Tableaux semânticos e resolução na Lógica Proposicional
Capítulo 3 Propriedades semânticas da Lógica Proposicional
Capítulo 1 A linguagem da Lógica Proposicional
Introdução à Ciência da Computação Linguagens de Programação.
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Linguagem de Montagem Visão geral.
Prof. Yandre Maldonado e Gomes da Costa
Linguagens Formais e Autômatos
LN: o que decorre de uma frase?
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Lógica Auto-epistémica
TEORIA DOS AUTÓMATOS FINITOS E DAS SUAS LINGUAGENS
A Teoria da Medida Profª. Ms. Juliany Gonçalves Guimarães
Introdução à Programação Lógica
Resolução.
BCC 101– Matemática Discreta
Linguagens Livre de Contexto
04(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Lógica para Computação
AXIOMATIZAÇÃO Equipe: André Augusto Kaviatkovski, Daniel Elias Ferreira, Vinicius Zaramella.
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
Indução Métodos de prova já vistos Excepções
Linguagem de 1ª ordem da teoria de conjuntos
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Conceitos Básicos.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Lógica de Predicados Teorema de Herbrand.
Capítulo 10 Propriedades semânticas da Lógica de Predicados
Capítulo 6 Um sistema axiomático formal na Lógica Proposicional
INF 1771 – Inteligência Artificial
Cássio Cristo Dawyson Guerra Matheu Santos
Modelos Matemáticos Usados como tipos em especificações baseadas em modelos Apresentados como teorias ou sistemas formais Uma teoria é definida em termos.
SEMÂNTICA.
Lógica de Predicados Semântica.
Lógicas e Inferência para IA
Teoria da Computação Aula 1 Prof. Fabiano Sabha.
Expressões Regulares e Gramáticas
Inteligência Artificial
Matemática I AULA 1 Profª Karine R. de Souza ..
André Luiz da Costa Carvalho
Métodos Formais.
Inteligência Artificial: Lógica Proposicional e Prolog
Programação Lógica com Prolog
Decidibilidade, Corretude, Completude, Consistência
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Linguagem de 1ª ordem da teoria de conjuntos
Programação de Computadores - 1
J. M. Barreto UFSC-INE Lógica de Primeira Órdem R ecordação.
Lógica Proposicional.
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
Teorema de Herbrand.
Métodos Formais Juan Andrés Mussini.
Lógica de 1ª Ordem.
Resolução.
Engenharia/Ciência da Computação
Algoritmos e Programação I
Lógica Proposicional Dedução Natural.
Anjolina Grisi de Oliveira
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
UNIP UNIVERSIDADE PAULISTA Professor: Yure de Queiroz Lima
Interpretação do Teorema de Herbrand
Disciplina: Lógica de Programação
Informática Teórica Engenharia da Computação. Teoria da Computação Contexto do que vamos começar a estudar As linguagens também podem ser definidas formalmente.
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
1 Lógica de Predicados BCC101 Matemática Discreta I.
Transcrição da apresentação:

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 =, onde S é um alfabeto de 1ª ordem e  é um conjunto de sentenças de L(S) fechado por consequência lógica.

2 Teoria de 1ª Ordem Def.20  Uma teoria T = é axiomatizável se e somente se existe um subconjunto decidível  ’ de  tal que    se e somente se  ’ |= . As sentenças em  ’ 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 = é um modelo para .

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 = 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 -  )

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  ou ainda, que é um estado consistente para esse dicionário

17 Um exemplo sobre Teoria: Dicionário de um Sistema (continuação) programa I (A, FORTRAN)usa I (A, D) programa I (B, PASCAL)usa I (B, E) programa I (C, FORTRAN) depende I (A, B) arquivo I (D, SEQUENCIAL) depende I (A, C) arquivo I (E, DIRETO)depende I (A, D) depende I (B, E) chama I (A, B)depende I (A, E) chama I (A, C)

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   é uma generalização de  se e somente se  for da forma  x 1...  x n (  ), para n > 0 e variáveis x 1,...,x n. 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 =, 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 =, onde: L : uma linguagem de 1ª ordem R: uma regra de inferência Modus Ponens: {  →  } ├  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(  ) →  x(~  )  x(  )  ~  x(~  )

25 Um SFA Os três grupos que seguem dizem respeito às propriedades do  Grupo 2:  x 1...  x n (  )   [x 1 /t 1,...,x n /t n ] (se x i for substituível por t i em  Grupo 3:  x(    )  (  x(  )   x(  )) Grupo 4:    x(  ) (se x não ocorre livre em 

26 Um SFA: Exemplo de uma derivação (prova) em S {  x(P(x)  Q(x)),  x(P(x))} |-  x(Q(x)) 1.  x(P(x)  Q(x))P (   ) 2.  x(P(x))P (   ) 3.  x(P(x)  Q(x))  (  x(P(x))   x(Q(x))) Grp  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  a formalização de um estado do “Dicionário” como uma teoria e  a fórmula : depende(a, e). A derivação de  a partir de  no sistema S,  —  é dada a seguir:

28  — depende (a,e) 1. chama(a, b)   2. usa(b, e)   3.  x  y(chama(x, y)  depende(x, y))   4.  x  y(usa(x, y)  depende(x, y))   5.  x  y  z((depende(x, z)  (depende(z, y)  depende(x, y)))  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 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 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