Na lógica proposicional existem duas formas normais: a forma normal conjuntiva e a forma normal disjuntiva. Na lógica de predicados existe também uma forma normal chamada de forma normal prenexa. A razão para utilizar uma forma normal prenexa de uma fórmula usualmente é para simplificar métodos de prova, assim como as próprias fórmulas em si. Tal conceito é essencial para desenvolver a hierarquia aritmética e a hierarquia analítica.A prova de Gödel em seu teorema da completude para lógica de primeira ordem pré supõe que todas as fórmulas estão remodeladas em sua forma prenexa.
Uma fórmula na lógica de predicados é dita estar em uma forma normal prenexa se, e só se, cada variável desta fórmula cai no escopo de algum quantificador, e se todos os quantificadores estão juntos precedendo uma sentença livre de quantificadores. Uma fórmula na forma normal prenexa apresenta portanto a seguinte forma:
![{\displaystyle \qquad Q_{1}x_{1}...Q_{n}x_{n}.\alpha }](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/0bed8663f54fb0ecd2e8dcf0bc8edf31d4245096)
onde
é uma fórmula livre de quantificadores, chamada de matriz.
A parte
é chamado de prefixo da fórmula, onde
são variáveis distintas e
ou
para cada
. No caso em que todos os
são quantificadores universais, a fórmula é dita universalmente fechada.
Todas as fórmulas de primeira ordem são logicamente equivalentes a alguma fórmula na forma normal prenexa. Por exemplo, sejam
,
, e
fórmulas sem quantificadores com suas respectivas variáveis livres. Têm-se a fórmula composta:
![{\displaystyle \forall x((\exists y\phi (y))\lor ((\forall z\psi (z))\rightarrow \rho (x)))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/d67a77598b74ed83caaa76cfb040a26d4385b12c)
Podemos dizer que ela é equivalente à seguinte fórmula, que se encontra forma normal prenexa:
![{\displaystyle \forall x\exists y\forall z(\phi (y)\lor (\psi (z)\rightarrow \rho (x)))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/784cca515f31e7010fd655eb70cef4815ec3f8f7)
Podemos também definir a martiz da fórmula no formato prenexa acima como:
Existem várias regras de conversão que podem ser recursivamente aplicadas para converter uma fórmula para sua forma normal prenexa. Tais regras dependem de quais conectivos lógicos aparecem na fórmula.
As regras para conjunção e disjunção dizem que:
é equivalente à
,
é equivalente à
;
e
é equivalente à
,
é equivalente à
.
Estas equivalencias são válidas desde que a variável atrelada ao respectivo quantificador não apareça como uma variável livre de ψ , e se aparecer , deve ser substituída por outra variável livre.
Por exemplo, na linguagem dos anéis:
é equivalente a
,
porém
não é equivalente a ![{\displaystyle \exists x(x^{2}=1\land 0=x)}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/4bf9260d5a4e3e86263e4f95fc36d7f03e43e73a)
Por que para a formula à esquerda é verdade para qualquer anel quando a variável x é igual a 0, enquanto na fórmula a direita não há variáveis livre e é falsa em qualquer anel não trivial.
As regras para negação dizem que:
é equivalente a
, uma vez que, se não há ao menos um x onde ɸ é verdade, então, para todo x, ɸ não é verdade, e
é equivalente a
, uma vez que, se nem para todo x, ɸ é verdadeiro, então para algum x, ɸ é falso.
Há quatro regras para a implicação: duas que removem quantificadores do antecedente, e duas que removem os quantificadores do consequente. Essas regras podem ser encontradas reescrevendo a implicação
como
e aplicando as regras de disjunção acima. Assim como as regras de disjunção, essas regras requerem que a variável quantificada em uma subfórmula não apareça livre na outra.
As regras para remover quantificadores dos antecedentes são:
é equivalente a
,
é equivalente a
.
As regras para remover quantificadores dos consequentes são:
é equivalente a
,
é equivalente a
.
Suponha que
,
, e
são formulas sem quantificadores e não há variáveis livres compartilhadas em duas delas. Considere a formula:
.
Aplicando a regra por recursividade, começando pela formula mais interna, a seguinte sequência de equivalências lógicas pode ser obtida:
,
,
,
.
Esta não é somente a única forma de encontrar a prenexa da formula original. Por exemplo, ao lidar com os consequentes antes dos antecedentes no exemplo acima :
![{\displaystyle \forall z((\phi \lor \exists x\psi )\rightarrow \rho )}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/d0ffeb0a14207196c878ee9dfa7ecc81322e47d7)
,
,
.
Seja
a fórmula:
![{\displaystyle \lnot (\exists x.P(x,y)\rightarrow \exists x.\lnot (P(x,y)\land \exists y.R(y)))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/7018c9f839692dbe4b17afa0302ef18f6c72db01)
Uma seqüência de reduções para transformar a fórmula
numa fórmula na forma normal prenexa é a seguinte:
![{\displaystyle \twoheadrightarrow \lnot (\exists x.P(x,y)\rightarrow \exists x.\lnot (P(x,y)\land \exists y.R(y)))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/7c5d1c2e9d9a9ef1572b6f350f7e5a6a8d52a320)
![{\displaystyle \twoheadrightarrow \lnot (\exists x.P(x,y)\rightarrow \exists x.\lnot \exists y_{1}.(P(x,y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/63305c81baac19d8f9d3442b704a0727dc4d0307)
![{\displaystyle \twoheadrightarrow \lnot (\exists x.P(x,y)\rightarrow \exists x.\forall y_{1}.\lnot (P(x,y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/cb1b6b7ea2d4bd8eb01ee6d236a39bb61d2063a2)
![{\displaystyle \twoheadrightarrow \lnot \forall x_{1}.(P(x_{1},y)\rightarrow \exists x.\forall y_{1}.\lnot (P(x,y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/2e1797b2b59a3bb8806720306b9e099373b32cd1)
![{\displaystyle \twoheadrightarrow \lnot \forall x_{1}.\exists x_{2}.(P(x_{1},y)\rightarrow \forall y_{1}.\lnot (P(x_{2},y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/c37294870e917f75c7f38dd8ab6b50ed764b361b)
![{\displaystyle \twoheadrightarrow \lnot \forall x_{1}.\exists x_{2}.\forall y_{1}.(P(x_{1},y)\rightarrow \lnot (P(x_{2},y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/b3c235481b2a838ccbd7e04b40053a82f52c6cbd)
![{\displaystyle \twoheadrightarrow \exists x_{1}.\lnot \exists x_{2}.\forall y_{1}.(P(x_{1},y)\rightarrow \lnot (P(x_{2},y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/197b0c7688447d488fd23af17dc3788f975c7f6e)
![{\displaystyle \twoheadrightarrow \exists x_{1}.\forall x_{2}.\lnot \forall y_{1}.(P(x_{1},y)\rightarrow \lnot (P(x_{2},y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/7cda487a71ce74abf36045363f0a5b95aa8fef1f)
![{\displaystyle \twoheadrightarrow \exists x_{1}.\forall x_{2}.\exists y_{1}.\lnot (P(x_{1},y)\rightarrow \lnot (P(x_{2},y)\land R(y_{1})))}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/6243e5f436760e6dba7a6cc87c87ff0d2d0defb0)
As regras para conversão em forma normal prenexa nos faz usar pesadamente a lógica clássica. Na lógica intuicionista, não é verdade que toda fórmula é logicamente equivalente a uma forma prenexa. A negação do conectivo é um obstáculo, mas não o único. O operador de implicação também é tradado diferente na lógica intuicionista, onde não é definida usando disjunção e negação.
A interpretação BHK (Brouwer–Heyting–Kolmogorov interpretation) ilustra por que algumas fórmulas não possuem uma forma prenexa intuicionalisticamente equivalente. A seguir, veja uma prova:
![{\displaystyle (\exists x\phi )\rightarrow \exists y\psi \qquad (1)}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/a17a1a79cb4fa09d405e8e8dbc9930e33a84d193)
É uma função que, dado um concreto x e uma prova de φ(x), produz um concreto y and e uma prova de ψ(y). Neste caso, é permitível para o valor de y ser computado a partir do valor x.
![{\displaystyle \exists y(\exists x\phi \rightarrow \psi ),\qquad (2)}](http://178.128.105.246/cars-https-wikimedia.org/api/rest_v1/media/math/render/svg/7bba59851f9b6a39595b22e60e850101cda38a9f)
Agora, produzimos um único valor concreto y e a função que converte qualquer prova de
em uma prova de ψ(y). Cada x satisfatível a φ pode ser usado para construer um y satisfatível a ψ, mas nenhum y pode ser construído sem o conhecimento de tal x, então a formula (1) não é equivalente a fórmula (2).
As regras para conversão em forma prenexa que falham na lógica intuicionista são:
- (1)
,
- (2)
,
- (3)
,
- (4)
,
- (5)
,(x não aparece como uma variável livre de
e (1) e (3); x não aparece como uma variável livre de
em (2) e (4)).