• Nenhum resultado encontrado

Representando a noção de “pai” como predicado: Neste caso escolhemos três predicados: filho, pai e irmão com os seguintes significados e aridades:

No documento 2 Matematica e Raciocinio Logico (páginas 144-150)

QUESTÕES 01 Represente por diagrama de Venn-Euler

1. Representando a noção de “pai” como predicado: Neste caso escolhemos três predicados: filho, pai e irmão com os seguintes significados e aridades:

- filho (x, y): x é filho de y. - pai (x, y): x é pai de y. - irmão (x, y): x é irmão de y.

Uma possível codificação para a sentença dada utilizando estes predicados é:

xy (pai (x, João) Λ filho (y, x) → irmão (y, João))

Dizendo que: “para todo x e todo y, se x é o pai de João e se y é um filho de x então y é um irmão de João”. Representando a noção de “pai” como função, que chamaremos de f: Neste caso, f(x) retorna o pai de x. Note que isto funciona apenas porque o pai de uma dado x é único e está sempre definido, e portanto f é realmente uma função. Uma possível codificação para esta sentença é dada por:

Significando que “para todo x, se x é um filho do pai de João então x é um irmão de João. Esta codificação é menos complexa que a anterior porque envolve apenas um quantificador.

Especificações formais em geral exigem um domínio de conhecimento. Muitas vezes este conhecimento não está explicitado no domínio. Sendo assim, um especificador pode desconsiderar restrições importantes para um modelo ou implementação. Por exemplo, as codificações dadas no exemplo anterior podem parecer corretas, mas e se x for igual a João? Se o domínio de relações de parentes- co não é um conhecimento comum o especificador pode não notar que uma pessoa não pode ser irmão dela mesma.

A abrangência de x (respectivamente, x) em xΦ (respectivamente, xΦ) é Φ. Uma ocorrência de uma variável ligada numa fórmula, é uma ocorrência de uma variável x, dentro do campo de abrangência de um quantificador x ou x. Uma ocorrência de uma variável

livre é uma ocorrência de uma variável x não ligada.

Exemplo: Na fórmula x (p(f(x), y) → q(x)), as duas ocorrências da variável x são ligadas, enquanto a ocorrência da variável y é

livre. Na fórmula x p(f(x), y) → q(x) a primeira ocorrência da variável x é ligada, no entanto a segunda é livre.

Dada uma variável x, um termo t e uma fórmula Φ, definimos Φ [x/t] como sendo a fórmula obtida após substituir cada ocorrên- cia livre de x em Φ por t.

Exemplo: Considere novamente a fórmula x ((p(x) → q(x)) Λ s(x, y)), que chamaremos simplesmente de Φ. Temos que Φ [x/f(x, y)] = Φ. De fato, todas as ocorrências de x em Φ são ligadas, e portanto a substituição [x/f(x, y)] não tem nenhum efeito sobre esta fórmula.

Exemplo: Agora considere a fórmula (x (p(x) Λ q(x))) → (¬p(x) V q(y)) que chamaremos simplesmente de ψ. Neste caso temos

uma ocorrência livre de x e, portanto [x/f(x, y)] é igual a (x (p(x) Λ q(x))) → (¬p(f(x, y)) V q(y)). As substituições podem produzir

efeitos colaterais indesejados: Considere o termo f(x, y) e a fórmula y (p(x, y)). Então (y (p(x, y))) [x/f(x, y)] resulta na fórmula (y (p(f(x,

y), y))) se fizermos uma substituição “ingênua”. Observe que o termo resultante possui uma semântica diferente da esperada porque a

variável y do termo f(x, y) não corresponde a variável y quantificada universalmente na fórmula dada. Como resolver este problema? Dados um termo t, uma variável x e uma fórmula Φ, dizemos que t é livre para x em Φ se nenhuma ocorrência livre de x em Φ está no escopo de (y ou y para qualquer variável y que ocorra em t.

Exemplo: Considere a fórmula s(x) Λ y (p(x) → q(y)), que possui duas ocorrências livres de x. A ocorrência de x mais a esquerda

poderia, por exemplo, ser substituída pelo termo f(y, y), no entanto a outra ocorrência não poderia ser substituída por este termo por- que tal substituição acarretaria captura da variável y. Quando precisamos realizar uma substituição de um termo t que não está livre para uma variável x em uma fórmula Φ, o que fazemos é renomear as variáveis ligadas para evitar capturas:

Exemplo: No caso do exemplo anterior, a substituição de x por f(y, y) em s(x) Λ y (p(x) → q(y)) pode ser resolvida renomeando a

variável ligada y da fórmula para algum nome novo, por exemplo : s(x) Λ (p(x) → q()). Agora a substituição pode ser realizada sem provocar captura de variáveis.

O ingrediente novo da lógica de primeira ordem não encontrado na lógica proposicional é a quantificação: dada uma sentença Φ qualquer, as novas construções xΦ e xΦ - leia “para todo x, Φ” e “para algum x, Φ”, respectivamente são introduzidas. xΦ significa que Φ é verdadeiro para todo valor de x e xΦ significa que há pelo menos um x tal que Φ é verdadeiro. Os valores das variáveis são tirados de um universo de discurso pré-determinado. Um refinamento da lógica de primeira ordem permite variáveis de diferentes tipos, para tratar de diferentes classes de objetos.

A lógica de primeira ordem tem poder expressivo suficiente para formalizar praticamente toda a matemática. Uma teoria de primeira ordem consiste em um conjunto de axiomas (geralmente finitos ou recursivamente enumerável) e de sentenças dedutíveis a partir deles. A teoria dos conjuntos de Zermelo-Fraenkel é um exemplo de uma teoria de primeira ordem, e aceita-se geralmente que toda a matemática clássica possa ser formalizada nela. Há outras teorias que são normalmente formalizadas na lógica de primeira ordem de maneira independente (embora elas admitam a implementação na teoria dos conjuntos) tais como a aritmética de Peano. Um cálculo de predicados consiste em:

- regras de formação (definições recursivas para dar origem a fórmulas bem-formadas ou FBFs). - regras de transformação (regras de inferência para derivar teoremas).

Os axiomas considerados aqui são os axiomas lógicos que fazem parte do cálculo de predicados. Além disso, os axiomas não- -lógicos são adicionados em teorias de primeira ordem específicas: estes não são considerados como verdades da lógica, mas como verdades da teoria particular sob consideração. Quando o conjunto dos axiomas é infinito, requer-se que haja um algoritmo que possa decidir para uma fórmula bem-formada dada, se ela é um axioma ou não.

Deve também haver um algoritmo que possa decidir se uma aplicação dada de uma regra de inferência está correta ou não. É importante notar que o cálculo de predicados pode ser formalizado de muitas maneiras equivalentes; não há nada canônico sobre os axiomas e as regras de inferência propostos aqui, mas toda a formalização dará origem aos mesmos teoremas da lógica (e deduzirá os mesmos teoremas a partir de um conjunto qualquer de axiomas não-lógicos).

Alfabeto

O alfabeto de 1ª ordem, Σ, tem a seguinte constituição: Σ = X ΣC ΣF ΣR ΣL ΣP, onde

X = {x, y, z, x1, x2, ..., y1, y2, ..., z1, z2, ...} é um conjunto enumerável de variáveis;

ΣC = {a, b, c, a1, a2, ..., b1, b2, ..., c1, c2, ...} é um conjunto de símbolos chamados de constantes; ΣF = {F1, F2, ...} é um conjunto de símbolos ditos sinais funcionais;

ΣR = {R1, R2, ...} é um conjunto de símbolos ditos sinais relacionais ou predicativos; ΣL = {¬, Λ, V, →, ↔, , } é o conjunto de símbolos ditos sinais lógicos;

ΣP = {(,),,} é o conjunto de símbolos de pontuação.

As constantes, sinais funcionais e sinais predicativos constituem a coleção de sinais ditos símbolos não lógicos. Há diversas variações menores listadas abaixo:

O conjunto de símbolos primitivos (operadores e quantificadores) varia frequentemente. Alguns símbolos primitivos podem ser omitidos, substituindo-os com abreviaturas adequadas; por exemplo (p ↔ q) é uma abreviatura para (p → q) ∧ (q → p). No sentido contrário, é possível incluir outros operadores como símbolos primitivos, como as constantes de verdade ⊤ para “verdadeiro” e o ⊥ para “falso” (estes são operadores do aridade 0). O número mínimo dos símbolos primitivos necessários é um, mas se nós nos res- tringirmos aos operadores listados acima, seria necessário três; por exemplo, o ¬, o ∧, e o ∀ bastariam.

Alguns livros mais velhos usam a notação Φ ⊃ ψ para Φ → ψ, ~Φ para ¬Φ, Φ & ψ para Φ ∧ ψ, e uma riqueza de notações para os quantificadores; por exemplo, ∀xΦ pode ser escrito como (x)Φ. A igualdade é às vezes considerada como parte da lógica de primeira ordem; Neste caso, o símbolo da igualdade será incluído no alfabeto, e comportar-se-á sintaticamente como um predicado binário. Assim a LPO será chamada de lógica de primeira ordem com igualdade. As constantes são na verdade funções de aridade 0, assim seria possível e conveniente omitir constantes e usar as funções que tenham qualquer aridade. Mas é comum usar o termo “função” somente para funções de aridade 1. Na definição acima, as relações devem ter pelo menos aridade 1. É possível permitir relações de aridade 0; estas seriam consideradas variáveis proposicionais.

Há muitas convenções diferentes sobre onde pôr parênteses; por exemplo, se pode escrever ∀x ou (∀x). Às vezes se usa dois pontos ou ponto final ao invés dos parênteses para criar fórmulas não ambíguas. Uma convenção interessante, mas incomum, é a “notação polonesa”, onde se omite todos os parênteses, e escreve-se o ∧, ∨, e assim por diante na frente de seus argumentos. A notação polonesa é compacta e elegante, mas rara e de leitura complexa.

Uma observação técnica é que se houver um símbolo de função de aridade 2 que representa um par ordenado (ou símbolos de predicados de aridade 2 que representam as relações de projeção de um par ordenado) então se pode dispensar inteiramente as fun- ções ou predicados de aridade > 2. Naturalmente o par ou as projeções necessitam satisfazer aos axiomas naturais.

Os conjuntos das constantes, das funções, e das relações compõem a assinatura e são geralmente considerados para dar forma a uma linguagem, enquanto as variáveis, os operadores lógicos, e os quantificadores são geralmente considerados para pertencer à lógi- ca. Uma estrutura dá o significado semântico de cada símbolo da assinatura. Por exemplo, a linguagem da teoria dos grupos consiste de uma constante (elemento da identidade), de uma função de aridade 1 (inverso), de uma função de aridade 2 (produto), e de uma relação de aridade 2 (igualdade), que seria omitida pelos autores que incluem a igualdade na lógica subjacente.

Regras de Formação

As regras de formação definem os termos, fórmulas, e as variáveis livres como segue. O conjunto dos termos é definido recursi- vamente pelas seguintes regras:

- Qualquer variável é um termo (cuja única variável livre é ela mesma).

- Toda expressão f (t1,…, tn) de n ≥ 1 argumentos (onde cada argumento ti é um termo e f é um símbolo de função de aridade n) é um termo. Suas variáveis livres são as variáveis livres de cada um dos termos ti.

- Cláusula de fechamento: Nada mais é um termo.

O conjunto das fórmulas bem-formadas (chamadas geralmente FBFs ou apenas fórmulas) é definido recursivamente pelas se- guintes regras:

- Predicados simples e complexos: se P for uma relação de aridade n ≥ 1 e os ai são os termos então P (a1, ..., an) é bem formada.

Suas variáveis livres são as variáveis livres de quaisquer termos ai. Se a igualdade for considerada parte da lógica, então (a1 = a2) é

bem formada. Tais fórmulas são ditas atômicas.

- Cláusula indutiva I: Se Φ for uma FBF, então ¬Φ é uma FBF. Suas variáveis livres são as variáveis livres de Φ.

- Cláusula indutiva II: Se Φ e ψ são FBFs, então (ψ ∧ Φ), (ψ V Φ), (ψ → Φ), (ψ ↔ Φ) são FBFs. Suas variáveis livres são as variáveis livres de Φ e de ψ.

- Cláusula indutiva III: Se Φ for uma FBF e x for um variável, então ∀xΦ e xΦ são FBFs, cujas variáveis livres são as variáveis livres de Φ com exceção de x. Ocorrências de x são ditas ligadas ou mudas (por oposição a livre) em ∀xΦ e xΦ.

- Cláusula de fechamento: Nada mais é uma FBF.

Na prática, se P for uma relação de aridade 2, nós escrevemos frequentemente “a P b” em vez de “P a b”; por exemplo, nós escrevemos 1 < 2 em vez de < (1 2). Similarmente se f for uma função de aridade 2, nós escrevemos às vezes “a f b” em vez de “f

(a b)”; por exemplo, nós escrevemos 1 + 2 em vez de + (1 2). É também comum omitir alguns parênteses se isto não conduzir à am-

biguidade. Às vezes é útil dizer que “P(x) vale para exatamente um x”, o que costuma ser denotado por ∃!xP(x). Isto também pode ser expresso por ∃x (P (x) ∀y (P (y) → (x = y))). Exemplos:

A linguagem dos grupos abelianos ordenados tem uma constante 0, uma função unária −, uma função binária +, e uma relação binária ≤. Assim:

- [0, x, y são termos atômicos];

- [+ (x, y), + (x, + (y, − (z))) são termos, escritos geralmente como x + y, x + (y + (−z))];

- [= (+ (x, y), 0), ≤ (+ (x, + (y, − (z))), + (x, y)) são fórmulas atômicas, escritas geralmente como x + y = 0, x + y - z ≤ x + y,]; - [(∀x ∃y ≤ (+ (x, y), z)) ∧ (∃x = (+ (x, y), 0)) é uma fórmula, escrita geralmente como (∀x ∃y (x + y ≤ z)) ∧ (∃x (x + y = 0))]. Substituição: Se t é um termo e Φ(x) é uma fórmula que contém possivelmente x como uma variável livre, então Φ(t) se definido como o resultado da substituição de todas as instâncias livres de x por t, desde que nenhuma variável livre de t se torne ligada neste processo. Se alguma variável livre de t se tornar ligada, então para substituir t por x é primeiramente necessário mudar os nomes das variáveis ligadas de Φ para algo diferente das variáveis livres de t. Para ver porque esta condição é necessária, considere a fórmula Φ(x) dada por ∀y y ≤ x (“x é máximal”). Se t for um termo sem y como variável livre, então Φ(t) diz apenas que t é maximal. Entre- tanto se t é y, a fórmula Φ(y) é ∀y y ≤ y que não diz que y é máximal. O problema de que a variável livre y de t (=y) se transformou em ligada quando nós substituímos y por x em Φ(x). Assim, para construir Φ(y) nós devemos primeiramente mudar a variável ligada

y de Φ para qualquer outra coisa, por exemplo a variável z, de modo que o Φ(y) seja então ∀z z ≤ y. Esquecer desta condição é uma

causa notória de erros.

Igualdade: Há diversas convenções diferentes para se usar a igualdade (ou a identidade) na lógica de primeira ordem. Esta seção resume as principais. Todas as convenções resultam mais ou menos no mesmo com mais ou menos a mesma quantidade de trabalho, e diferem principalmente na terminologia. A convenção mais comum para a igualdade é incluir o símbolo da igualdade como um símbolo lógico primitivo, e adicionar os axiomas da igualdade aos axiomas da lógica de primeira ordem. Os axiomas de igualdade são

x = x

x = y → F(…, x, …) = F(…, y, …) para qualquer função F

x = y → (R(…, x, …) → R(…, y, …)) para qualquer relação R (incluindo a própria igualdade)

A próxima convenção mais comum é incluir o símbolo da igualdade como uma das relações de uma teoria, e adicionar os axio- mas da igualdade aos axiomas da teoria. Na prática isto é quase idêntico à da convenção precedente, exceto no exemplo incomum de teorias com nenhuma noção de igualdade. Os axiomas são os mesmos, e a única diferença é se eles serão chamados de axiomas lógicos ou de axiomas de teoria. Nas teorias sem funções e com um número finito de relações, é possível definir a igualdade em termos de relações, definindo os dois termos s e t como iguais se qualquer relação continuar inalterada ao se substituir s por t em qualquer argumento. Por exemplo, em teoria dos conjuntos com uma relação ∈, nós definiríamos s = t como uma abreviatura para

x (s ∈ x ↔ t ∈ x) ∧ ∀x (x ∈ s ↔ x ∈ t). Esta definição de igualdade satisfaz automaticamente os axiomas da igualdade. Em

algumas teorias é possível dar definições de igualdade ad hoc. Por exemplo, em uma teoria de ordens parciais com uma relação ≤ nós poderíamos definir s = t como uma abreviatura para s ≤ t ∧ t ≤ s.

Regras de Inferência

A regra de inferência modus ponens é a única necessária para a lógica proposicional de acordo com a formalização proposta aqui. Ela diz que se Φ e Φ → ψ são ambos demonstrados, então pode-se deduzir ψ. A regra de inferência chamada Generalização Universal é característica da lógica de primeira ordem:

Se ╞ Φ, então ╞ ∀xΦ

onde se supõe que Φ é um teorema já demonstrado da lógica de primeira ordem. Observe que a Generalização é análoga à regra da necessitação da lógica modal, que é:

Se ╞ P, então ╞ ∀xP

Limitações: Apesar da Lógica de Primeira Ordem ser suficiente para formalizar uma grande parte da matemática, e também ser comumente usada em Ciência da Computação e outras áreas, ela tem as suas limitações. Suas limitações incluem limitações em sua expressividade e limitações com relação aos fragmentos das línguas naturais que pode descrever.

Expressividade: O teorema de Löwenheim–Skolem mostra que se uma teoria de primeira ordem tem um modelo infinito, então a teoria também tem modelos de todas as cardinalidades infinitas. Em particular, nenhuma teoria de primeira ordem com um modelo in- finito pode ser categórica. Assim, não há uma teoria de primeira ordem cujo único modelo tem o conjunto dos números naturais como domínio, ou cujo único modelo tem o conjunto dos números reais como domínio. Várias extensões da Lógica de Primeira-Ordem, incluindo a Lógica de Ordem Superior e a Lógica Infinitária, são mais expressivas no sentido de que elas admitem axiomatizações categóricas dos números naturais ou reais. Essa expressividade tem um custo em relação às propriedades meta-lógicas; de acordo com o Teorema de Lindström, qualquer lógica que seja mais forte que a lógica de primeira ordem falhará em validar o teorema da compaccidade ou em validar o teorema de Löwenheim–Skolem.

Formalizando as Línguas Naturais

A lógica de primeira ordem é capaz de formalizar vários quantificadores na lingua natural, como “todas as pessoas que moram em Paris, moram na França”. Mas existem várias características que não podem ser expressas na lógica de primeira ordem. “Qual- quer sistema lógico que é apropriado para analisar línguas naturais, precisa de uma estrutura muito mais rica que a lógica de primeira ordem” (Gamut 1991).

Tipo Exemplo Comentário

Quantificadores sobre as proprie- dades

Se Rafael for satisfeito consigo mesmo, então ele tem pelo menos uma coisa em comum com Roberta

Requer quantificadores sobre os predicados, os quais não podem ser implementados com a lógica de primeira ordem (unicamente ordenada): Zj→ ∃X(Xj∧Xp)

Quantificadores sobre as proprie- dades

Papai Noel tem todos os atributos de um sadista

Requer quantificadores sobre os predicados, os quais não podem ser implementados com a lógica de primeira ordem (unicamente ordenada): ∀X(∀x(Sx → Xx)→Xs)

Predicado adver-

bial Luiz está andando rápido

Não pode ser analisado como Wj ∧ Qj; predicados adverbiais não são a mesma coisa que predicados de segunda ordem, como cores

Adjetivo Relativo Jumbo é um elefante pequeno Não podem ser analisados como Sj ∧ Ej; predicados adje-tivados não são a mesma coisa que predicados de segunda ordem, como cores

Modificador do predicado adver-

bial Anderson está andando muito rápido - Modificador do

adjetivo relativo Roberta é extremamente pequena

Uma expressão como “extremamente” , quando usado com um adjetivo relativo “pequena”, resulta em um novo adjetivo relativo: “extremamente pequena”

Axiomas e Regras

Os cinco axiomas lógicos mais as duas regras de inferência seguintes caracterizam a lógica de primeira ordem: Axiomas:

Regras de Inferência Modus Ponens:

Generalização Universal:

Estes axiomas são na realidade esquemas de axiomas. Cada letra grega pode ser uniformemente substituída, em cada um dos axiomas acima, por uma FBF qualquer, e uma expressão do tipo α [t:= x] denota o resultado da substituição de x por t na fórmula α.

Cálculo de Predicados

O cálculo de predicado é uma extensão da lógica proposicional que define quais sentenças da lógica de primeira ordem são demonstráveis. É um sistema formal usado para descrever as teorias matemáticas. Se o cálculo proposicional for definido por um conjunto adequado de axiomas e a única regra de inferência modus ponens (isto pode ser feito de muitas maneiras diferentes, então o cálculo de predicados pode ser definido adicionando-se alguns axiomas e uma regra de inferência “generalização universal”. Mais precisamente, como axiomas para o cálculo de predicado, teremos:

- Os axiomas circunstanciais do cálculo proposicional (A1, A2 e A3); - Os axiomas dos quantificadores (A4 e A5);

- Os axiomas para a igualdade propostos em seção anterior, se a igualdade for considerada como um conceito lógico.

Uma sentença será definida como demonstrável na lógica de primeira ordem se puder ser obtida começando com os axiomas do cálculo de predicados e aplicando-se repetidamente as regras de inferência “modus ponens” e “generalização universal”. Se nós tivermos uma teoria T (um conjunto de sentenças, às vezes chamadas axiomas) então uma sentença Φ se define como demonstrável na teoria T se a ∧ b ∧ ...→ Φ é demonstrável na lógica de primeira ordem (relação de consequência formal), para algum conjunto finito de axiomas a, b, ... da teoria T. Um problema aparente com esta definição de “demonstrabilidade” é que ela parece um tanto

ad hoc: nós tomamos uma coleção aparentemente aleatória de axiomas e de regras de inferência, e não é óbvio que não tenhamos

acidentalmente deixado de fora algum axioma ou regra fundamental.

O teorema da completude de Gödel nos assegura de que este não é realmente um problema: o teorema diz que toda sentença ver- dadeira em todos os modelos é demonstrável na lógica de primeira ordem. Em particular, toda definição razoável de “demonstrável” na lógica de primeira ordem deve ser equivalente à definição acima (embora seja possível que os comprimentos das derivações difira bastante para diferentes definições de demonstrabilidade).

Há muitas maneiras diferentes (mas equivalentes) de definir provabilidade. A definição acima é um exemplo típico do cálculo no estilo de Hilbert, que tem muitos axiomas diferentes, mas poucas regras de inferência. As definições de demonstrabilidade para a lógica de primeira ordem nos estilos de Gentzen (dedução natural e cálculo de sequentes) são baseadas em poucos ou nenhum axio- mas, mas muitas regras de inferência.

Algumas Equivalências

Algumas Regras de Inferência

(se c for uma variável, então não deve ser quantificada em P(x)). (x não deve aparecer livre em P(c)).

QUESTÕES

No documento 2 Matematica e Raciocinio Logico (páginas 144-150)