You are on page 1of 10

Programação em Lógica

Premissas e conclusões
w Todos os números racionais podem ser expressos como o quociente de dois números inteiros. w Contudo, pi não pode ser expresso como o quociente de dois números inteiros. w Portanto, pi não é um número racional. w Evidentemente, pi é um número. w Logo, existe pelo menos um número não racional.

Universidade do Vale do Rio dos Sinos Centro de Ciências Exatas e Tecnológicas Bacharelado em Ciência da Computação Profa. Ana Paula Lüdtke Ferreira

Lógica
w Lógica é o estudo dos argumentos w Objetivos na Ciência da Computação
n

Exemplo de argumento
w Se o avião chegar atrasado e não houver táxis no aeroporto, então João chegará atrasado para sua reunião. João não chegou atrasado à reunião, mas seu avião chegou atrasado. Portanto, havia táxis no aeroporto.

n

Desenvolvimento de linguagens de modelagem e especificação com o objetivo de permitir o raciocínio sobre situações e sistemas; Desenvolvimento de argumentos sobre situações específicas, que possam ser validados ou refutados.

Argumentos
w Todos os números racionais podem ser expressos como o quociente de dois números inteiros. Contudo, pi não pode ser expresso como o quociente de dois números inteiros. Portanto, pi não é um número racional. Evidentemente, pi é um número. Logo, existe pelo menos um número não racional.

Outro exemplo de argumento
w Se estiver chovendo e Maria não tiver levado sua sombrinha ela irá se molhar. Maria não se molhou, apesar de estar chovendo. Então Maria levou sua sombrinha com ela.

1

Então q. Se p e não q então r. Então Maria levou sua sombrinha com ela. então João chegará atrasado para sua reunião. Portanto. Todo número natural é resultado da soma de dois números primos. Não r. Maria não se molhou. Portanto.sentença declarativa com um valor verdade atribuído w Sentenças declarativas: n n n n o avião está atrasado --. mas seu avião chegou atrasado.Comparando os dois n O mesmo argumento (Mas sem avião. n Se o avião chegar atrasado e não houver táxis no aeroporto. João não chegou atrasado à reunião. Se p e não q então r. havia táxis no aeroporto. Jane reagiu violentamente às acusações. Então q. chuva.está chovendo há táxis no aeroporto --. n Se o avião chegar atrasado e não houver táxis no aeroporto. p. Maria não se molhou. Comparando de novo n Lógica matemática w Foco na estrutura do argumento. Então q. Não r. João não chegou atrasado à reunião. apesar de estar chovendo. Todos os marcianos gostam de pizza. havia táxis no aeroporto. p. táxis e sombrinhas) Se p e não q então r. Não r. 2 . mas seu avião chegou atrasado.Maria vai se molhar n A soma dos números 3 e 5 é o número 8.Maria levou sua sombrinha João está atrasado --. Se estiver chovendo e Maria não tiver levado sua sombrinha ela irá se molhar. Então Maria levou sua sombrinha com ela. então João chegará atrasado para sua reunião. Se estiver chovendo e Maria não tiver levado sua sombrinha ela irá se molhar. e não no seu significado (que naturalmente tem interesse no domínio da aplicação) w Necessidade de uma linguagem formal capaz de expressar sentenças que possuam uma estrutura lógica. p. apesar de estar chovendo. Estrutura de um argumento w Argumentos diferentes podem possuir a mesma estrutura: n n Proposições w Proposição .

↔} ∪ {(.sintaxe w Alfabeto: n n Avaliação w Uma avaliação booleana é um mapeamento υ do conjunto de fórmulas proposicionais no conjunto de valores verdade {v.s. então ¬x também é uma fórmula da lógica proposicional.exemplo w Suponha uma fórmula contendo três letras proposicionais.↔} Lógica proposicional . υ(¬(p ∧ ¬q)→r)= υ(¬(p ∧ ¬q)) → υ(r)= ¬(υ(p ∧ ¬q)) → υ(r)= ¬(υ(p) ∧ υ(¬q)) → υ(r)= ¬(υ(p) ∧ ¬ υ(q)) → υ(r)= ¬(v ∧ ¬f) → f= ¬(v ∧ v) → f= ¬v → f= f → f = v Lógica proposicional semântica x y T ∨ ← x → y ↔ ∧ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ⊥ ∧ ↔ y → x ← ∨ V V V V V V V V V V F F F F F F F F V F V V V V F F F F V V V V F F F F F V V V F F V V F F V V F F V V F F F F V F V F V F V F V F V F V F V F Formalização de sentenças w w w w w w w w Está chovendo. 3 .. então está nevando. Está chovendo e nevando. Se não está chovendo.→.} ∪ {T. (x∨y). Está chovendo mas não está nevando.→.∨.r.Lógica proposicional . Se x e y são fórmulas da lógica proposicional. A avaliação da fórmula ¬(p ∧ ¬q)→r é a seguinte: n n n n n n n Se x é uma letra proposicional.∧. υ(⊥)=f υ(¬x)= ¬ υ(x) υ(x•y)= υ(x) • υ(y) para •∈{∧. Não é verdade que se não está chovendo então está nevando.f} tal que: n n n n n Conjunto infinitamente contável de letras proposicionais Constantes para representação dos valores verdadeiro e falso Conjunto finito de conectivos lógicos Parênteses w {p. então (x∧y).sintaxe w Gramática: n Avaliação . q e r.)} υ(T)=v. onde υ(p)=v. Está chovendo ou nevando. Não está chovendo. então x é uma fórmula da lógica proposicional.t.⊥} ∪ {¬.. Se x é uma fórmula da lógica proposicional. Não está chovendo nem nevando. p..∨. T ou ⊥.q. υ(q)=f e υ(r)=f. (x→y) e (x↔y) também são fórmulas da lógica proposicional.

Formalização de argumentos w Fazer a disciplina de lógica é uma condição necessária para se formar em Ciência da Computação na UNISINOS. Pois. Conseqüentemente. Se os árbitros a receberem até sexta-feira. se hoje é quinta-feira. ela foi seqüestrada ou ela está correndo algum outro perigo. Hoje não é sábado. Mas a vida não tem significado. Então entender matemática é condição necessária para passar de ano. ela está correndo algum outro perigo. Portanto a vida tem significado. w Ou está chovendo. w Se está nevando e chovendo. se Deus existisse. w Hoje é um fim-de-semana se hoje é sábado ou domingo. eles a analisarão porque se a proposta estiver no correio. eles a receberão até sexta-feira. w Um argumento é dito válido se sua conclusão é conseqüencia lógica de suas premissas. Não fizemos contato pelo rádio. então está nevando. depois de amanhã será sábado. então ela foi seqüestrada. se ela não está em casa. w Um argumento é dito válido se sua conclusão é conseqüencia lógica de suas premissas. então a vida tem significado. Portanto. w Entender matemática é condição necessária para ir bem na prova. w Se não está chovendo. Formalização de argumentos w Se Deus existe. uma vez que hoje é sábado. Mas hoje não é um fim-de-semana. w Hoje é um fim-de-semana somente se hoje é sábado ou domingo. a vida teria significado. então amanhã é sexta-feira. 4 . hoje não é sábado e hoje não é domingo. w Se hoje é quinta-feira. Portanto. Hoje não é domingo. w Se o avião não tivesse caído. w Ou está chovendo e nevando ou está nevando mas não está chovendo. então depois de amanhã será sábado.Formalização de sentenças w Não é verdade que se está nevando então está chovendo. w A proposta de auxílio está no correio. Ir bem na prova é condição suficiente para passar de ano. w Ela não está em casa ou não está atendendo ao telefone. Deus existe. então não é verdade que está nevando e chovendo. ou está nevando e chovendo. Portanto. então não sou formado em Ciência da Computação na UNISINOS. hoje não é um fim-desemana. o avião caiu. eles a analisarão. Portanto. Eu ainda não fiz a disciplina de lógica. E se ela não está atendendo ao telefone. hoje é um fim-de-semana. nós teríamos feito contato pelo rádio. Conseqüência lógica |— w Diz-se que uma fórmula é uma conseqüência lógica de um conjunto de fórmulas se sempre que estas forem verdadeiras aquela também seja verdadeira. w Não é verdade que está chovendo ou nevando. Portanto. Mas. Se amanhã é sextafeira. Formalização de argumentos w Hoje é um fim-de-semana se e somente se hoje é sábado ou domingo. Conseqüência Lógica w Diz-se que uma fórmula é uma conseqüência lógica de um conjunto de fórmulas se sempre que estas forem verdadeiras aquela também seja verdadeira. w Deus não existe. Portanto. w Está chovendo se e somente se não está nevando.

Validade de argumentos w Como se pode verificar a validade de um argumento da lógica proposicional? Estruturas de argumentos Alguns mamíferos são leões. ∴Alguns mamíferos são carnívoros.. Todo L é C. ∴ Alguns mamíferos são carnívoros.r Análise da estrutura Algum M é L. ∴ Algum M é C. L e C? n conjunto de objetos ou classes de atributos Limites da lógica proposicional A lógica proposicional trata das relações lógicas geradas pelos operadores ¬. Enunciados categóricos w Quantificador (todo. ∧. Alguns mamíferos são leões. q |... ∴ Sócrates é mortal. Formalização deste argumento na lógica proposicional: p. Todo L é C. Sócrates é homem.. Mas a validade de alguns argumentos não depende somente desses operadores. Algum M é L. nenhum. w O que significam M. algum. Todos os leões são carnívoros.) w Classe de atributos (termo sujeito) w Elo w Classe de atributos (termo predicado) 5 .. Todos os leões são carnívoros. ∨. Argumento válido? Todos os homens são mortais. ∴ Algum M é C. → e ↔.

6 . Alguns programas não funcionam. 8. 9. 4. 5. w Algum S é P – existe um elemento do conjunto S que também é elemento do conjunto P. Alguns programas funcionam. se x é um elemento de S então x é um elemento de P. Todas os programas funcionam. Nem tudo funciona.Exemplos w Todo A é B n Validade de argumentos w Como verificar se a conclusão é conseqüência lógica das premissas? Todos os homens são mortais. w Não é verdade que alguns programas funcionam. 2. Qualquer coisa funciona. w Todo S é P – qualquer elemento do conjunto S também é um elemento do conjunto P. n qualquer que seja o elemento x. ou seja. o conjunto de todos os programas não tem nenhum elemento em comum com o conjunto das coisas que funcionam. Alguns homens não são altos. sendo que x é um elemento de S e x é um elemento de P. w Algum A é B n w Nenhum A é B n w Algum A não é B n Negação w Alguns programas não funcionam. n Existe um elemento x. Nenhum programa funciona. Lógica de Predicados w Sistema lógico definido a partir dos conceitos de lógica proposicional e de enunciados categóricos. Não existe nenhum programa que funcione. n Formalização de argumentos w Diagramas de Venn O conjunto de todos os programas tem pelo menos um elemento em comum com o conjunto das coisas que não funcionam. Alguma coisa funciona. n Formalização de enunciados 1. 3. 6. Nada funciona. Nenhum homem é mulher. Alguns dos meus colegas me odeiam. 7. Qualquer coisa é um programa que funciona.

Todos os programas são programas. 24. 13. w Exemplos: n n Formalização de enunciados 18. Qualquer pessoa ama a si mesma. 9. Nem todos os pássaros são capazes de voar.quantificador existencial.quantificador universal. Ou qualquer coisa está ligada ou nada está ligado. João e Pedro são mecânicos. 16. Se nada funciona. 15. 20. 12. Maria ama João. 8. João ama a si próprio. ∀x s(x) – para qualquer x. n Formalização de enunciados 1. 17.Quantificação Existencial ∃ w ∃ . Se Maria é psicóloga. representando a totalidade dos elementos de um universo. Sócrates é mortal à mortal(sócrates) João é homem à homem(joão) 7 . Existem enunciados do tipo sujeito-predicado. 22. Todo mundo ama todo mundo. Existe alguém que Maria não ama. João ama todo mundo. 4. ∃x s(x) – existe um elemento x. então não existem programas que funcionem. e x pertence a s ∃x (s(x) ∧ p(x)) ∃x (s(x) ∧ ¬p(x)) w Algum S é P n w Algum S não é P n Quantificação Universal ∀ w ∀ . Existe alguém que ama todo mundo. 21. 25. 5. representando algum dos elementos de um universo. 14. 7. n Formalização de enunciados 11. Todo mundo é amado por alguém. Se faltou luz. 2. então ela não é enfermeira. Faltou luz e todos os computadores estão desligados. x pertence a s ∀x (s(x) → p(x)) ∀x (s(x) → ¬p(x)) w Todo S é P n w Nenhum S é P n Predicados e nomes próprios w Nem todos os enunciados contém quantificadores. Alguém ama alguém. Qualquer coisa ou está ligada ou não está ligada. Somente programas funcionam. então todos os computadores estão desligados. Existe alguém que se ama. 3. 19. Todo mundo ama João. os quais atribuem uma propriedade a uma pessoa ou coisa. 23. Algumas coisas estão ligadas e outras não estão. Existe alguém que tanto João quanto Maria amam. 6. Todo aluno é mais novo do que algum professor.

z)∧(∀y(¬Q(y.z)))) n n n n n n Toda fórmula atômica é uma fórmula. Se φ é uma fórmula. Se φ é uma fórmula e x é uma variável.. então P(t1. φ[w/x] φ[w/y] φ[f(x)/y] φ[g(y. w Dadas uma variável x. F(a) é verdadeiro.t2. então ¬(φ) também é uma fórmula. Se φ e ϕ são fórmulas..tn) é uma fórmula atômica.. um termo t e uma fórmula φ..Sintaxe w Alfabeto: n Sintaxe w Convenção de prioridade dos operadores: n n n n n n n n n n Conjunto infinitamente contável de símbolos predicativos Conjunto infinitamente contável de constantes Conjunto infinitamente contável de variáveis Constantes para representação dos valores verdadeiro e falso Conjunto finito de conectivos lógicos Quantificadores existencial e universal Parênteses e vírgula ¬. ∀x. Qualquer variável é um termo Qualquer constante é um termo Se P é um símbolo predicativo de aridade n e t1. Nada mais é uma fórmula.t2.z)/z] 8 . (φ∨ϕ). w Fórmula atômica n Sintaxe w Fórmulas n n n Substituições w φ ≡ ∃x (P(y. (φ→ϕ) e (φ↔ϕ) também são fórmulas.. ∃x ∧ ∨ →e↔ Sintaxe w Termo n n Substituição w ∀x F(x) à substituindo x por qualquer elemento a..x)∨P(y.. então (φ∧ϕ). define-se φ[t/x] como sendo a fórmula obtida pela substituição em φ de todas as ocorrências livres da variável x pelo termo t.. então (∀x φ) e (∃x φ) também são fórmulas.tn são termos.

ou. parâmetros reais de p e q. programas.. etc. p(x. então a fórmula é falsa. o significado dos predicados envolvidos. Por que? n Avaliação w Se as variáveis podem conter somente um número finito de valores. w ∀x∃y( (p(x) ∨ ¬q(y)) → (q(x) → p(y)) ) n w ∀x φ l e essa fórmula. os valores escolhidos para as variáveis. dependências entre variáveis quantificadas e predicados. como avaliar o seu valor verdade? Avaliação w ∀x∃y( (p(x) ∨ ¬q(y)) → (q(x) → p(y)) ) w Problemas: n n Avaliação w A avaliação de uma fórmula da lógica de predicados requer: n n significado dos quantificadores.y) l l l o valor retornado pelo programa x é menor ou igual ao retornado pelo programa y. n variáveis são locais que podem conter qualquer ou algum valor não especificado previamente: l animais. estruturas de dados.Semântica w (p∨ ¬q) → (q → p) n Avaliação w ∃x φ l como pode ser avaliado o valor verdade dessa fórmula? se para algum valor concreto de x. φ é verdadeira então a fórmula é verdadeira. 9 . ou x é menor ou igual a y. se para todos os valores possíveis de x. ou x é um dos elementos da lista y. então a fórmula é falsa. se para nenhum valor possível de x φ for verdadeira..y) é diferente de ∃y∀x r(x. então não há problema.. plantas.. um universo fixo de valores concretos (as coisas das quais estamos falando). fórmulas matemáticas.y).. precisamos saber o que significam os predicados.. w Mas mesmo assim. φ é verdadeira então esta fórmula é verdadeira. se para algum valor concreto de x φ for falsa. w e depende de (e varia com): n n Avaliação w ∀x∃y r(x.

Modelos w Seja F um conjunto de símbolos de funções e P um conjunto de símbolos predicativos. ε é uma constante. Exemplo w F={+.×. respectivamente. ⋅M é a operação de concatenação de strings e ≤M é o predicado que. retorna o valor de seu argumento adicionado de 1. ≤ e < é 2 e de s e zero é 1. zero} w Aridade de +.×.s}.−. O predicado zero retorna T se seu argumento é o número 0 e F caso contrário.. Outro exemplo w F={ε. e sM. para cada f ∈ F com aridade n.. <. menor ou igual a e estritamente menor a.−M. ≤. +M. w Modelo: n n n o universo de valores concretos A é o conjunto dos números naturais. ⋅ é uma função de dois argumento e o predicado ≤ tem aridade 2. w ∀x ( (x ≤ x ⋅ ε) ∧ (x ⋅ ε ≤ x) ) w ∃y∀x (y ≤ x) w ∀x∃y (y ≤ x) w ∀x∀y∀z ( (x ≤ y) → (x ⋅ z ≤ y ⋅ z) ) w ¬∃x∀y ( (x ≤ y) → (y ≤ x) ) n n um conjunto não vazio A. 10 .⋅} e P={≤}.−. os predicados =M.=. Um modelo M para o par (F.≤M.<M retornam as relações igual a. é verdadeiro se a primeira é prefixo da segunda e falso caso contrário. cada símbolo com uma aridade fixa. P={=. εM é a palavra vazia. um conjunto PM⊆An de n-tuplas sobre A. uma função concreta fM:An → A. chamado de universo de valores concretos. tomando duas constantes.P) consiste no seguinte conjunto de dados: n Algumas fórmulas. sua soma. w Modelo: n n A é o conjunto de todas as strings binárias. e para cada p ∈ P com aridade n.×M tomam valores concretos e retornam. diferença e produto.