Skolemizarea

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În logica matematică , spune Skolem în formă normală , aplicarea algoritmului Thoralf Skolem care transformă o propoziție în formă normală într-o afirmație universală. Propoziția în cauză, după aplicarea algoritmului lui Skolem, pierde echivalența semantică cu propoziția inițială. Este interesant, totuși, să vedem că rămâne neschimbată satisfacția .

O propoziție α ∈ L (limbă) este o propoziție universală dacă:

  1. α este o afirmație (Nu există variabile libere)
  2. α este în formă normală și singurii cuantificatori, dacă există, sunt de tip ∀.

Exemplu de propoziții universale.

  • A (b) ∧ C (a)
  • ∀x∀y (A (y) ∧ ⌉C (x))

NB Algoritmul Skolem nu menține echivalența semantică. Propoziția rezultată din aplicarea algoritmului Skolem este satisfăcătoare dacă propoziția normală de pornire este satisfăcătoare.

Algoritmul lui Skolem

  1. Transformarea în formă normală prenex . Cuantificatorii (∀, ∃) trebuie grupați la începutul propoziției. ∀x ∃x 1 2 3 ∀x (...)
  2. Determinați variabilele libere și legate. Nu trebuie să existe variabile libere în propoziție, dacă există, trebuie efectuată o înlocuire.
  3. Dacă Q 1 (primul cuantificator) este ∀ se trece direct la pasul următor.
    Dacă Q 1 este ∃ atunci ștergeți ∃x 1 și înlocuiește fiecare apariție a x 1 α o constantă în sine care nu apare deja în α. Exemplu: ∃x∀y (A (a, x) ∧ B (b, x, y)) devine ∀y (A (a, c) ∧ B (b, c, y))
    După cum puteți vedea cu ușurință, am eliminat cuantificatorul ∃ și am înlocuit variabila x cu constanta c.
    Alegerea constantei c nu este întâmplătoare, deoarece „a” și „b” erau deja utilizate.
  4. Voi examina Q n
    • Dacă Q este un n ∀ începe de la acest punct cu Q n + 1.
    • Dacă Q n este atunci ∃ cazurile pot fi următoarele:
      • Dacă cuantificatorul Q n-1 a fost de tip ∃ sau ∃x n-1 ∃x n atunci punctul anterior se repetă cu ∃x n, înlocuind, totuși, pentru fiecare apariție a variabilei x n un functor care revizuiește toate variabilele utilizate anterior de cuantificatori ∀.
        După cum se poate vedea până când apar cuantificatori ∀ tip de înlocuire a variabilelor x n ale constantelor simple.
      • Dacă cuantizatorul Q n-1 este de tip or sau n-1 ∀x ∃x ∃x n n se șterge și înlocuiește fiecare apariție a lui x n în α cu un funcțional f () care ia în considerare variabilele utilizate de cuantificatori ∀ care o precedă. Dacă ar fi ∀y∀z∃u (α) ar trebui mai întâi să șterg ∃u apoi să înlocuiesc în propoziția α variabila u cu functorul f (y, z) (functorul nu trebuie să existe deja).
    Exemplu: ∀x∃y (A (x, f (x), y) ∧ C (y)) devine ∀x (A (x, f (x), g (x)) ∧ C (g (x)) )
    După cum puteți vedea cu ușurință, am eliminat cuantificatorul ∃ și am înlocuit variabila y cu functorul g (x).
    Alegerea variabilei aleatoare x nu se vede că x 1 în acest caz este exact x.

Exemplu practic

∃x∀y∀z∃u∀t∃v (α)

  • Șterg ∃x și în interiorul lui α înlocuiesc x cu constante (care nu au fost deja utilizate)

Deveniți ∀y∀z∃u∀t∃v (α 1)1 este propoziția noastră după aplicarea înlocuirii)

  • Omit cele două cuantificatoare ∀ și șterg ∃u amintind să înlocuiesc fiecare apariție a lui u în α 1 cu un functor (care nu a fost deja utilizat) care revizuiește variabilele utilizate anterior de cuantificatorii ∀. În cazul nostru va fi h (z, y).

Deveniți ∀y∀z∀t∃v (α 2)2 este propoziția noastră după aplicarea substituției u -> h (z, y))

  • Rămâne doar un ultim cuantificator existențial (∃), ștergerea și înlocuirea în α 2 a tuturor aparițiilor unui functor v care analizează toate variabilele utilizate de cuantificatorul ∀ utilizat anterior. Înlocuirea va fi v -> i (y, z, t).

Algoritmul se va termina atunci când cuantificatoarele sunt toate de tipul ∀.

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică