Prenex-normaalvorm

Uit testwiki
Naar navigatie springen Naar zoeken springen

Een wiskundige formule uit de predicatenlogica is in de prenex-normaalvorm als ze geschreven is als een reeks kwantoren, gevolgd door een deel zonder kwantoren, de matrix genoemd. Deze normaalvorm schrijft dus voor hoe de kwantoren moeten worden geplaatst.

Iedere formule in de klassieke logica is logisch equivalent met een formule in prenex-normaalvorm. Bijvoorbeeld, als ϕ(y), ψ(z) en ρ(x) kwantorloze formules zijn met vrije variabelen, dan is

x y z (ϕ(ψρ))

in prenex-normaalvorm met matrix ϕ(ψρ), terwijl

x ((y ϕ)((z ψ)ρ))

hiermee logisch equivalent is, maar niet in prenex-normaalvorm.

Conversie

Het is mogelijk een willekeurige formule H naar een logisch equivalente formule in prenex-normaalvorm om te schrijven. Daarvoor moeten we er eerst voor zorgen dat elke variabele in H slechts één keer in een kwantor voorkomt (gebonden wordt), en dat er geen variabelen zijn die zowel gebonden als vrij in H voorkomen. Dit kunnen we altijd doen door gebonden variabelen te hernoemen. Daarna kunnen we stapsgewijs H naar prenex-normaalvorm converteren door steeds subformules waarin een kwantor in een argument van een andere bewerking voorkomt volgens de volgende tabel om te schrijven:

Formule Prenex-normaalvorm
¬xF x¬F
(xF)G x(FG)
(xF)G x(FG)
(xF)G x(FG)
G(xF) x(GF)
G(xF) x(GF)
G(xF) x(GF)
¬xF x¬F
(xF)G x(FG)
(xF)G x(FG)
(xF)G x(FG)
G(xF) x(GF)
G(xF) x(GF)
G(xF) x(GF)

Voorbeeld

Gegeven de formule H=xP(x)x(yR(x,y)Q(x)). We kunnen deze formule as volgt in prenex-normaalvorm omschrijven:

  1. Herbenoemen van variabelen: zP(z)x(yR(x,y)Q(x))
  2. zP(z)xy(R(x,y)Q(x))
  3. zxy(P(z)(R(x,y)Q(x)))