Lógica para Computação

Documentos relacionados
Lógica de Predicados

Lógica para Computação

Lógica para Computação

Lógica Proposicional

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

1 Lógica de primeira ordem

Aula 12: Lógica de Predicados

Capítulo 3 Lógica de Primeira Ordem

Lógica para Computação

Todos os pássaros têm pena. Nem todos os passáros voam. Todo inteiro primo maior que dois é ímpar

SCC Capítulo 2 Lógica de Predicados

Lógica de Predicados

2 Lógica Fuzzy. 2 Lógica Fuzzy. Sintaxe da linguagem

Prof. Cesar Augusto Tacla

01/09/2014. Capítulo 1. A linguagem da Lógica Proposicional

0.1 Seja S o subconjunto de P(N) definido indutivamente pelas 3 regras apresentadas de seguida.

Capítulo 8 Lógica de primeira Ordem

A linguagem da Lógica de Predicados. (Capítulo 8) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Lógica Computacional

Aula 3: Linguagem Proposicional

Lógica para computação - Linguagem da Lógica de Predicados

Departamento de Matemática Universidade do Minho, Braga 2009 /2010. Cálculo de Predicados de Primeira-Ordem da Lógica Clássica p.

INF1009.3WB: Lógica para computação

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

LÓGICA I ANDRÉ PONTES

Lógica de Predicados

A Lógica de Primeira Ordem

Aula 2, 2014/2 Sintaxe da Lógica dos Conectivos

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

anti-simétrica, com elemento mínimo e tal que, dados n, n, n N, se

LÓGICA PROPOSICIONAL

Lógica para computação

Lyneker Amorim (T1) Philipe Farias Rafael Mota Yure Bonifacio

Quantificadores, Predicados e Validade

Lógica de primeira ordem

RACIOCÍNIO LÓGICO. Quantificadores. Prof. Renato Oliveira

Exercícios de Teoria da Computação Lógica de 1a. ordem

Lógica Computacional DCC/FCUP 2017/18

AXIOMATIZAÇÃO Equipe:

Dedução Natural LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Lógica Proposicional Fórmulas e Precedência de Operadores

SCC Capítulo 3 Prova Automática de Teoremas

Aula 7: Dedução Natural 2

Lógica Computacional

O sucessor de um inteiro par é ímpar (1) (2) 2 é um inteiro par Alguns mamíferos são ferozes

Cálculo proposicional

Matemática Discreta. Lógica de Predicados. Profa. Sheila Morais de Almeida. agosto DAINF-UTFPR-PG

APÊNDICE B ESPECIFICAÇÃO ALGÉBRICA DEFINIÇÕES E NOTAÇÃO

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO

Copyright 2016, 2013, 2004 by J. L. de Souza Leão. Todos os direitos reservados pelo autor.

Cálculo de Predicados. Matemática Discreta. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. março

IME, UFF 7 de novembro de 2013

Alfabeto da Lógica Proposicional

Lógica Formal. Matemática Discreta. Prof Marcelo Maraschin de Souza

Andamento da apresentação

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Prof. Cesar Augusto Tacla

Lógica Computacional

Lógica predicados. Lógica predicados (continuação)

Lógica Computacional

Lógica Computacional (CC2003)

Lógica Proposicional Sintaxe

Lógica de primeira ordem (Capítulo 8 - Russell) Inteligência Artificial

Cálculo de Predicados

Lógica dos Quantificadores: sintaxe e semântica intuitiva

Aula 2: Linguagem Proposicional

Lógica. Professor Mauro Cesar Scheer

JOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa

Introdução à Lógica de Predicados

Faculdade de Informática PUCRS Lógica para Computação Lista de Exercícios Sintaxe e Semântica da Lógica de Predicados Prof.

Lógica dos Quantificadores: sintaxe

IME, UFF 3 de junho de 2014

Lógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r.

MD Lógica de Proposições Quantificadas Cálculo de Predicados 1

Lógica proposicional

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

A linguagem da Lógica Proposicional (Capítulo 1)

Lógica e prova de resolução Marco Henrique Terra

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Gramáticas e Linguagens Independentes de Contexto

printing problem: dado um programa e um valor arbitrários, o problema de determinar se sim ou não se vai obter como output do programa esse valor;

Cálculo de Predicados 1

RACIOCÍNIO ANALÍTICO COMUNICAÇÃO EFICIENTE DE ARGUMENTOS - LINGUAGEM- Professor Josimar Padilha

Lógica Computacional

Lógica Computacional

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12

Cálculo proposicional

Introdução à Logica Computacional. Aula 1 Ana Cristina Bicharra Garcia Segundas & Quartas 16:00-18:00

Basicamente, um programa PROLOG é constituído por fatos acerca do domínio e regras que são sentenças ou fórmulas.

Inteligência Artificial IA III. PROVA AUTOMÁTICA DE TEOREMAS

Teoria de Conjuntos. Matemática Discreta I. Rodrigo Ribeiro. 6 de janeiro de 2013

Lógica Computacional

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

NHI Lógica Básica (Lógica Clássica de Primeira Ordem)

Lógica. Cálculo Proposicional. Introdução


Lógica de Predicados

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

Transcrição:

Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br

A (ou lógica de 1ª ordem) é uma extensão da lógica proposicional que aumenta sua expressividade, permitindo que se façam afirmações sobre propriedades ou predicados inerentes a conjuntos de elementos individuais; Tipicamente as fórmulas envolvem os quantificadores para todo () e existe (); Uma fórmula típica é: x(homem(x) mortal(x)). Obs.: para representar o mesmo em Lógica Proposicional seria necessário utilizar uma fórmula para cada indivíduo, por exemplo: (homem_joão mortal_joão), (homem_josé mortal_josé), etc. 2

A linguagem (sintaxe) da L PRED é mais complexa que a da Lógica Proposicional; Para a definição de L PRED necessita-se de: 1. Um conjunto de predicados: R i = { r i 1, r i 2,... r i n,...} onde o sobrescrito i indica a aridade do predicado (o seu nº de argumentos); 2. Um conjunto de constantes: C = {c 1,c 2,...}; 3. Um conjunto de funções: F i = { f i 1, f i 2,... f i n,...} onde o sobrescrito i também indica a aridade da função; 4. Um conjunto de variáveis: V = {x 1,x 2,...}. 3

A assinatura de L PRED é a uma tupla do tipo = [R 1,R 2,...R M,C,F 1,F 2,...F N ] onde N e M são números naturais conhecidos. O conjunto dos termos de L PRED é T() definido recursivamente por: 1. Se xv então x T(); 2. Se cc então c T(); 3. Se ff j e se t 1,...t j T() então f(t 1,...t j ) T(). 4

O conjunto das fórmulas (fbf) de L PRED é Fbf() definido recursivamente como sendo o menor conjunto que atenda ao seguinte: 1. Se t 1,...t j T() e se r j R j então r j (t 1,...t j ) Fbf(); 2. Se t 1, t 2 T() então t 1 = t 2 Fbf(); Estas fbf são chamadas de fórmulas atômicas; 3. Se, Fbf() então,,, Fbf(); 4. Se Fbf() e se xv então x() e x() Fbf(). 5

O conjunto das variáveis livres V LIVRES () em uma fórmula é definido por: 1. Se = r j (t 1,...t j ) com r j R j e os t i T() então todas as variáveis em pertencem a V LIVRES (); 2. Se = (t 1 =t 2 ) com os t i T() então todas as variáveis em pertencem a V LIVRES (); 3. Se = então V LIVRES ()= V LIVRES (); 4. Se =,, ou então V LIVRES ()= V LIVRES () V LIVRES (); 5. Se = x() ou x() então V LIVRES ()= V LIVRES () {x}. Exemplo: Se = x (r(x) q(y) z (s(z,y))) então V LIVRES () = { y }. 6

Uma fórmula tal que V LIVRES () = (sem variáveis livres) é denominada uma sentença. Uma subfórmula de uma fórmula é uma subseqüência dos símbolos de que também pertence a Fbf(). Exemplo: se = x (r(x) q(y) z (s(z,y))) então r(x) q(y) z (s(z,y)), r(x) q(y), z (s(z,y)), r(x) e q(y) são subfórmulas de. 7

Exemplos: 8

A semântica da é definida sobre um par A()=[A, v A() ] denominado sistema algébrico da assinatura, tal que: 1. A é um conjunto denominado domínio (ou portador) do sistema algébrico; 2. v A() é uma interpretação, que mapeia os elementos dos conjuntos em em relações sobre A (para os predicados), em funções sobre A (para as funções) e em elementos de A (para as constantes). 9

Desta forma para uma interpretação v A() tem-se: 1. Se r j R j então v A() (r j ) A j = A A... A (j vezes); 2. Se ff j então existe uma função v A() (f j ): A j A; 3. Se c C então v A() (c) A; 4. Para um conjunto de variáveis X V existe ainda uma função : X A denominada interpretação das variáveis X em A. 10

O valor de um termo t T () em um sistema algébrico A() e para uma interpretação de variáveis é definido indutivamente por: 1. Se t = x X então t A() [] = (x); 2. Se t = c C então t A() [] = v A() (c); 3. Se ff j, t 1,..., t j são termos e t=f(t 1,..., t j ) então t A() []= v A() (f j )(t 1 A() [],..., t j A() []). 11

Finalmente é possível se definir quando uma fórmula é verdadeira para um sistema algébrico A() e uma interpretação de variáveis ; Denota-se por A() = []; 1. Se = r j (t 1,...t j ) Fbf() então A() = [] é equivalente a [t 1 A() [],..., t j A() []] v A() (r j ); 2. Se = (t 1 =t 2 ) com t 1, t 2 T() então A() = [] é equivalente a t 1 A() [] = t 2 A() []; 3. Se = e Fbf() então A() = [] se e somente se não for verdade que A() = []; 12

4. Se =, com, Fbf() então A() = [] se e somente se A() = [] e A() = []; 5. Se =, com, Fbf() então A() = [] se e somente se A() = [] ou A() = []; 6. Se =, com, Fbf() então A() = [] se e somente se quando A() = [] necessariamente também ocorre A() = []; 7. Se = x() com Fbf() então A() = [] se e somente se existir pelo menos uma interpretação de variáveis : X A que, restrita às variáveis de, seja tal que A() = []; 8. Se = x() com Fbf() então A() = [] se e somente se para todas as interpretações de variáveis : X A, quando restritas às variáveis de, sejam tais que A() = []. 13

Exemplos 14

Uma teoria em L PRED é um conjunto de sentenças; Um sistema algébrico A() é um modelo para uma teoria se A() = para toda ; Se tiver ao menos um modelo diz-se que é satisfazível; Se não tiver modelos é dita insatisfazível. 15

Substituição de variáveis: Seja uma fórmula, x V LIVRES () uma variável livre em e t T() um termo; Neste caso a variável x pode ser substituída pelo termo t em, gerando uma nova fórmula [x:=t]; Exemplo: se = x(r(x) s(x,y)), então yv LIVRES () e t=f(a,z) [y:=f(a,z)] = x(r(x) s(x,f(a,z))). 16

Intuitivamente uma substituição gera um caso particular de uma fórmula; As substituições só podem ser feitas sobre as variáveis livres de, e de forma a não introduzir restrições na fórmula gerada que já não estivessem presentes na fórmula original; Várias substituições podem ser feitas simultaneamente, desde que não introduzam restrições. Exemplo: Se então = x(r(x) s(x,y) r(z)) y, zv LIVRES () e t 1 =f(a,w), t 2 =b [y:=f(a,w), z:=b]=x(r(x) s(x,f(a,z))r(b))) 17

Sistemas Dedutivos em : 1. Método axiomático: ver item 4.5 pg. 128; 2. Dedução natural: ver item 4.4 pg. 122, e também a ferramenta JAPE; 3. Método dos tableaux analíticos: ver item 5.6 pg. 147. 18

Exemplo do método dos tableaux analíticos: 1. x(r(x) s(x)) - x r(x) x s(x) 2. T x(r(x) s(x)) de 1 3. F x r(x) x s(x) de 1 4. T x r(x) de 3 5. F x s(x) de 3 6. F s(a) de 5 7. T r(a) de 4 8. T r(a) s(a) de 2 9. F r(a) T s(a) de 8 X (7,9) X (6,9) 19

Método da Dedução Natural... 20