Prenex

Embed Size (px)

Citation preview

  • 8/20/2019 Prenex

    1/3

    Formas Normais Prenex na Lógica de Predicados

     Na lógica proposicional viu-se duas formas normais - a forma normalconjuntiva e a forma norma disjuntiva.

     Na lógica de predicados existe também uma forma normal chamadade “ forma normal prenex”.

    A razão para utilizar uma forma normal prenex de uma fórmula é parasimplificar os métodos de prova, que serão vistos mais adiante.

    Definição: Uma fórmula  F   na lógica de predicados é dita estar emuma forma normal prenex  se e somente se a fórmula F  está na formade: (Q1 x1 ) ... (Qn xn )(M), onde todo (Qi xi), i = 1, ..., n, é (∀xi ) ou(∃xi ) , e M  é uma fórmula que não possui quantificadores.

    (Q1 x1) ... (Qnxn) é chamada de prefixo e  M  é chamada de matriz  dafórmula F .

    Abaixo são mostradas algumas fórmulas na forma normal prenex:i. (∀x) (∀y) (P(x,y) ∧ Q(y))ii. (∀x) (∀y) (~P(x,y) → Q(y)) iii. (∀x) (∀y) (∃z) (Q(x,y) → R(z))

    Dada uma fórmula, será visto agora um método para transformá-la naforma normal prenex. Isto é obtido considerando alguns pares defórmulas equivalentes na lógica de predicados.

    Lembrando que duas fórmulas F e G são equivalentes, representados por F = G, se e somente se os valores de F e G são os mesmos sobtodas as interpretações.

    Os pares básicos de fórmulas equivalentes dados na tabela abaixo

    ainda são válidos para a lógica de predicados.

    (1.1) F↔G = (F→G) ∧ (G→F)(1.2) F→G = ~F ∨ G(1.3) (a) F ∨  G = G ∨  F; (b) F ∧ G = G ∧ F (leis comutativas)(1.4) (a) (F ∨  G) ∨  H = F ∨  (G ∨ H); (b) (F ∧ G) ∧ H = F ∧ (G ∧ H) (leis associativas)(1.5) (a) F ∨  (G ∧  H) = (F ∨  G) ∧ (F

    ∨  H);

    (b) F ∧  (G ∨  H) = (F ∧  G) ∨  (F ∧  H) (leis

    distributivas)

    (1.6) (a) F ∨   = F; (b) F ∧ n = F

    (1.7) (a) F ∨ n  = n; (b) F ∧ 

    =(1.8) (a) F∨ ~F = n; (b) F ∧ ~F =  (1.9) ~(~F) = F(1.10) (a) ~(F ∨ G) = ~F ∧ ~G; (b) ~(F ∧ G) = ~F ∨  ~G (Leis de De Morgan)

    Leis para Formação de Fórmulas Equivalentes

    Existem ainda outros pares de fórmulas equivalentes que contémquantificadores. Serão vistos agora esses pares adicionais de fórmulasequivalentes.

    Seja F uma fórmula contendo uma variável x. Para salientar que avariável x está em F, representa-se F por F[x].

    Seja G uma fórmula que não contém a variável x. Então tem-se os

    seguintes pares de fórmulas equivalentes, onde Q é∀

      ou∃

      . Parasimplificar, chama-se cada par abaixo de “ lei”.

    (2.1a) (Qx) F[x] ∨ G = (Qx) (F[x] ∨  G)(2.1b) (Qx) F[x] ∧ G = (Qx) (F[x] ∧  G) (2.2a) ~((∀x) F[x]) = (∃x) (~F[x]) (2.2b) ~((∃x) F[x]) = (∀x) (~F[x]) 

    As leis (2.1a) e (2.1b) são obviamente verdadeiras, desde que G nãocontenha x e, portanto, possa ser trazido para dentro do escopo doquantificador Q.

    As leis (2.2a) e (2.2b) não são difíceis de provar. As equivalências já

    foram mostradas anteriormente.Supondo que F[x] e H[x] são duas fórmulas contendo x. Existem duasoutras leis:

    (2.3a) (∀x) F[x] ∧ (∀x) H[x] = (∀x) (F[x] ∧ H[x])(2.3b) (∃x) F[x] ∨ (∃x ) H[x] = (∃x) (F[x] ∨ H[x]).

  • 8/20/2019 Prenex

    2/3

    Isto é, o quantificador universal ∀  e o quantificador existencial ∃  podem distribuir-se sobre ∧ e ∨, respectivamente.

    Porém, o quantificador universal ∀ e o quantificador existencial ∃ não podem distribuir-se sobre ∨, e ∧, respectivamente. Isto é,

    (∀x) F[x] ∨ (∀x) H[x] ≠  (∀x) (F[x] ∨ H[x]) e(∃x) F[x] ∧ (∃x ) H[x] ≠  (∃x) (F[x] ∧ H[x]).

    Para este caso, faz-se algo especial. Todas as variáveis dependentes x podem ser renomeadas para z, e a fórmula (∀x) H[x] torna-se (∀z)H[z] ; isto é, (∀x) H[x] = (∀z) H[z].

    Supondo que se escolha a variável z que não aparece em F[x]. Então,

    (∀x) F[x] ∨ (∀x)H[x] = (∀x)F[x] ∨ (∀z) H[z](renomeando todos os x's ocorrentes em (∀x)H[x] para z)

    = (∀x)(∀z)(F[x] ∨ H[z]) (por 2.1a)

    Da mesma forma, pode-se ter

    (∃x) F[x] ∧  (∃x) H[x] = (∃x)F[x] ∧ (∃z) H[z](renomeando todos os x's ocorrentes em (∃x) H[x] para z)

    = (∃x) (∃z) (F[x] ∧ H[z]) (por 2.1b)

    Portanto, para esses dois casos, pode-se trazer todos osquantificadores para a esquerda da fórmula. Em geral, tem-se:

    (2.4a) (Q1x) F[x] ∨ (Q2x) H[x] = (Q1x)(Q2z) (F[x] ∨ H[z])

    (2.4b) (Q3x) F[x] ∧ (Q4x) H[x] = (Q3x)(Q4z) (F[x] ∧ H[z])

    onde Q1 , Q2, Q3 e Q4 são ∀ ou ∃, e z não aparece em F[x].

    É claro que, se Q1 = Q2 = ∃ e Q3 = Q4 = ∀ , então não é necessáriorenomear os x's em Q2x H[x] ou Q4x H[x]. Pode-se usar (2.3)diretamente.

    Usando as leis (1.1) - (1.10) e as leis (2.1) - (2.4), pode-se sempretransformar uma fórmula na forma normal prenex. A seguir apresenta-se um resumo do procedimento de transformação.

    Transformando Fórmulas na Forma Normal Prenex

    Passo 1:   Usar as leis F ↔ G = (F → G) ∧ (G → F) (1.1)F → G = ~ F ∨ G (1.2)

     para eliminar os conetivos lógicos ↔ e →.

    Passo 2:   Repetidamente usar a lei ~ (~F) = F (1.9),as leis de De Morgan ~ (F ∨ G) = ~F ∧ ~G (1.10a),

    ~ (F ∧ G) = ~F ∨ ~G (1.10b),e as leis ~ ((∀x) F[x]) = (∃x) ( ~F[x]) (2.2a),

    ~ ((∃x) F[x]) = (∀x) ( ~F[x]) (2.2b),

     para trazer o sinal de negação para a imediatamente antes dostermos.

    Passo 3:   Renomear as variáveis dependentes se necessário.

    Passo 4:   Usar as leis(Qx) F[x] ∨ G = (Qx) (F[x] ∨  G) (2.1a),(Qx) F[x] ∧ G = (Qx) (F[x] ∧  G) (2.1b),(∀x) F[x] ∧ (∀x) H[x] = (∀x) (F[x] ∧ H[x]) (2.3a),(∃x) F[x] ∨ (∃x ) H[x] = (∃x) (F[x] ∨ H[x]) (2.3b),

    (Q1x) F[x] ∨ (Q2x) H[x] = (Q1x)(Q2z) (F[x] ∨ H[z]) (2.4a),

    (Q3x) F[x] ∧ (Q4x) H[x] = (Q3x)(Q4z) (F[x] ∧ H[z]) (2.4b)

     para mover os quantificadores para a esquerda de toda fórmula paraobter uma forma normal prenex.

    Exemplo 1.1: Transformar a fórmula (∀x) P(x) →  (∃x) Q(x) naforma normal prenex.

  • 8/20/2019 Prenex

    3/3

      (∀x) P(x) → (∃x) Q(x) = ~ ((∀x) P(x)) ∨ (∃x) Q(x) por (1.2)= (∃x) (~P(x)) ∨ (∃x) Q(x) por (2.2a)= (∃x) (~P(x) ∨ Q(x)) por (2.3b)

    Portanto, a forma normal prenex de

    (∀x) P(x)→ (∃x) Q(x) é (∃x) (~P(x) ∨ Q(x)).

    Exemplo 1.2: Obter a forma normal prenex para a fórmula:

    (∀x)(∀y) ((∃z) (P(x,z) ∧ P (y,z))→ (∃u) Q(x,y,u)).

    = (∀x)(∀y) (~((∃z) (P(x,z) ∧ P(y,z))) ∨ (∃u) Q(x,y,u)) por (1.2)= (∀x)(∀y)((∀z) (~P(x,z) ∨ ~P(y,z)) ∨ (∃u) Q(x,y,u)) por

    (2.2b) e (1.10b)= (∀x)(∀y)(∀z)(∃u) (~P(x,z) ∨  ~P(y,z) ∨  Q(x,y,u)), usando

    (2.1a), move-se os quantificadores para a esquerda, obtendo por fim aforma normal prenex da primeira fórmula.