Você está na página 1de 40

Cap tulo 3 Lgica de Primeira Ordem o

Lgica para Programao o ca LEIC - Tagus Park 1o Semestre, Ano Lectivo 2007/08 c Ins Lynce and Lu Coheur e sa

Bibliograa

Martins J.P., Lgica para Programao, Cap o ca tulo 3. Ben-Ari M., Mathematical Logic for Computer Science,

Springer-Verlag, 2003, Cap tulos 5 e 7.


Huth M. e Ryan M., Logic in Computer Science, Cambridge

University Press, 2004, Cap tulo 2.

Programa

Apresentao ca Conceitos Bsicos a Lgica Proposicional ou Clculo Proposicional o a Lgica de 1a ordem ou Lgica de Predicados o o Programao em Lgica ca o Prolog

Programa

Apresentao ca Conceitos Bsicos a Lgica Proposicional ou Clculo Proposicional o a Lgica de 1a ordem ou Lgica de Predicados o o Programao em Lgica ca o Prolog

Lgica de 1a ordem programa de festas o

Motivao ca Componentes de uma Lgica o 1. Linguagem (+ representao em lgica) ca o 2. Sistema dedutivo 3. Sistema semntico a

Lgica de 1a ordem programa de festas o

Motivao ca Componentes de uma Lgica o 1. Linguagem (+ representao em lgica) ca o 2. Sistema dedutivo 3. Sistema semntico a

Lgica de Primeira Ordem Motivao o ca

Em lgica clssica existem duas alternativas para a denio o a ca

de uma linguagem
Lgica Proposicional o Lgica de Primeira Ordem o

Como j t a nhamos visto...

Lgica Proposicional baseada em proposies, isto , frases o e co e

declarativas que fazem armaes sobre qualquer coisa. co

Limitaoes da Lgica Proposicional c o

Como representar Todos os alunos tm exactamente um e

nmero em Lgica Proposicional? u o


a Conjuno de s ca mbolos proposicionais: Aluno Joo Nmero 53118 TemNmero Joo 53118 u u a Como referir todos e exactamente um? Como generalizar para todos os alunos e qualquer nmero? u

Ora a Lgica de 1a ordem... o

... permite criar frases com estrutura interna:

Exemplo

Todos os alunos tm exactamente um nmero e u x(aluno(x) y (numero(x, y ) z(numero(x, z) y =

z))))

Lgica de 1a ordem programa de festas o

Motivao ca Componentes de uma Lgica o 1. Linguagem (+ representao em lgica) ca o 2. Sistema dedutivo 3. Sistema semntico a

Linguagem da Lgica de Primeira Ordem (LLPO ) o

Como j se percebeu, necessrio introduzir novos s a e a mbolos,

uma nova denio de fbf e novas regras de formao. ca ca

Alfabeto bsico a

S mbolos de pontuao: , ( ) [ ] ca S mbolos lgicos: , , , , , o O s mbolo l-se no e corresponde ao operador de negao e a ca O s mbolo l-se e e corresponde ao operador de conjuno e ca O s mbolo l-se ou e corresponde ao operador de disjuno e ca O s mbolo l-se implica e corresponde ao operador de e implicao ca O s mbolo l-se para todo e corresponde ao operador de e quanticao universal ca O s mbolo l-se existe e corresponde ao operador de e quanticao existencial ca

Alfabeto bsico (cont.) a

Letras de funo com n argumentos (aridade n), para n 0 e ca

i 1: fi n
Representam funes sobre os elementos da linguagem co fi 0 corresponde a funes de aridade zero que representam co constantes Indice i fornece uma capacidade ilimitada para criar novos nomes Letras de predicado com aridade n, para n 0 e i 1: Pin Representam operadores sobre elementos da linguagem, produzindo valores lgicos o Variveis individuais para i 1: xi a Tm como dom os objectos da conceptualizao e nio ca

Notao ca

Se no for confuso, usamos a, b, c, . . . para representar a

constantes e f , g , h, . . . para representar variveis; a


Se no for confuso, usamos P, Q, R, . . . para representar as a

letras de predicado;
Se no for confuso, usamos x, y , z, . . . para representar as a

variveis. a

Exemplos

Funes co capital(x) = capital de x; {(Portugal,Lisboa),(Frana,Paris),(Espanha,Madrid),. . .} c soma(x, y ) = x + y ; {(1, 1, 2), (1, 2, 3), (2, 1, 3), . . .} Predicados Fronteira(x, y ) = x tem fronteira com y; {(Portugal,Espanha),(Espanha,Frana),(Frana,Blgica),. . .} c c e

Termos

Termos representam objectos; correspondem a sintagmas

nominais em linguagem natural


So denidos recursivamente a Cada letra de funo com aridade zero (letra de constante) ca e um termo Cada varivel um termo a e Se t1 , t2 , . . . , tn so termos, ento fi n (t1 , t2 , . . . , tn ) um termo a a e Nada mais um termo e

Exemplos

capital(Portugal) pai(Augustus De Morgan) pai(pai(pai(Augustus De Morgan))) x capital(x) pai(x)

Conceito Termo cho a

Termo sem variveis chamdo um termo cho (do Ingls a e a e

ground term)

Exemplos

capital(Portugal) pai(Augustus De Morgan) pai(pai(pai(Augustus De Morgan)))

Frmulas bem formadas (fbfs) o

Se t1 , t2 , . . . , tn so termos, ento Pin (t1 , t2 , . . . , tn ) uma fbf a a e

(atmica) o
Se uma fbf ento () uma fbf e a e Se e so fbfs ento ( ), ( ) e ( ) so fbfs a a a Se uma fbf contendo zero ou mais ocorrncias da varivel e e a

x ento x[] e x[] so fbfs a a


Nada mais uma fbf e

Exemplo

Consideremos P letra de predicado com aridade 2 Q letra de predicado com aridade 1 A e B letras de predicado com aridade 0 f letra de funo com aridade 1 ca g letra de funo com aridade 3 ca a, b, c constantes x varivel a Ento so fbfs a a (P(a, g (a, b, c))) (P(a, b) x [(Q(f (x)))]) (A B) Parntesis redundantes podem ser eliminados e

Quanticadores

Nas expresses x[] e x[] a fbf chamada dom o e nio do

quanticador ( ou )
no tem de conter a varivel x; nesse caso x[] e x[] a a

so equivalentes a a

Conceitos varivel livre e varivel ligada a a

x varivel livre em se no for quanticada; caso contrrio e a a a

varivel ligada e a

Exemplo

x[A(x)] contm a varivel ligada x e a A(x) x[B(x)] contm uma ocorrncia de x livre (em e e

A(x)) e outra ligada (em B(x))

Conceitos fbf fechada (ou ch) a

fbf sem variveis livres diz-se fechada (ou ch) a a

Vamos agora trabalhar a representao em lgica ca o

Lgica de 1a ordem programa de festas o

Motivao ca Componentes de uma Lgica o 1. Linguagem (+ representao em lgica) ca o 2. Sistema dedutivo 3. Sistema semntico a

Sistema dedutivo programa de festas

Sistema de deduo natural ca Conceito de substituio ca Novas regras de inferncia e Resoluo ca Converso para a forma clausal a Conceitos de unicao ca Aplicao da regra de resoluo ca ca Propriedades do sistema dedutivo

Sistema dedutivo programa de festas

Sistema de deduo natural ca Conceito de substituio ca Novas regras de inferncia e Resoluo ca Converso para a forma clausal a Conceitos de unicao ca Aplicao da regra de resoluo ca ca Propriedades do sistema dedutivo

E l vamos ns ao sistema dedutivo da Lgica de 1a a o o ordem, mas antes...

... temos que introduzir um conceito fundamental: o de

substituio. ca

Conceito Substituio ca

Conjunto nito de pares ordenados {t1 /x1 , . . . , tn /xn } xi (1 i n) uma varivel e a ti (1 i n) um termo e Aplicao da substituio s ` fbf ( s) corresponde ` fbf ca ca a a

obtida a partir de substituindo todas as ocorrncias da e varivel livre xi por ti (1 i n) a


P(x, f (a, y )) {a/x, f (a, b)/y } = P(a, f (a, f (a, b))) P(x, f (a, y )) {a/x, f (a, b)/y , c/z} = P(a, f (a, f (a, b))) A(x) x [B(x)] {a/x, f (a, b)/y , c/z} = A(a) x [B(x)]

Substituio duas restries a reter ca co

Nenhuma das variveis pode ser igual ao termo a

correspondente
Sejam x, y , z variveis e f funo de um argumento a ca OK: {f (x)/x, z/y } KO: {x/x, z/y } Numa substituio todas as variveis tm de ser diferentes ca a e Sejam x, y , z variveis e f , g , h funes de um argumento a co OK: {a/x, g (y )/y , f (g (h(b)))/c} KO: {a/x, g (y )/y , b/x, f (g (h(b)))/c}

Substituio: problema ca

x P(x, f (a, y )) {a/x, x/y } = x P(x, f (a, x))) Efeito colateral indesejvel a
Varivel ligada x foi introduzida como argumento de P a Alterao do signicado da fbf: y era varivel livre e o termo ca a que a substitui inclui a varivel x que no livre a a e

Novo conceito: termo livre para uma varivel numa fbf a Nova abordagem: nem todas as substituies de variveis co a

livres fazem sentido

Notao ca

(x1 , . . . , xn ) indica que a fbf tem (pelo menos) x1 , . . . , xn

como variveis livres (pode ter outras alm destas) a e

Conceito termo livre para uma varivel numa fbf a

Um termo sem variveis sempre livre para qualquer varivel a e a Seja uma fbf e t um termo: t livre para xi em se e

nenhuma ocorrncia livre de xi em ocorrer dentro do e dom do quanticador /xj em que xj uma varivel em nio e a t.

Ou seja...

Se ocorrncias de xi foram substitu e das por t ento nenhuma a

ocorrncia de uma varivel em t deixa de ser livre em (t) e a


(x1 , . . . , xn ) {t1 /x1 , . . . , tn /xn } = (t1 , . . . , tn )

Exemplo

O termo g (y , f (b)) E livre para x na fbf P(x, y ) No livre para x na fbf y [P(x, y )] a e

Vamos ento agora ao sistema dedutivo da Lgica de 1a a o ordem, nomeadamente...

... ao sistema de deduo natural. ca