Skolemizarea

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

În logica matematică , skolemizarea este aplicarea algoritmului lui Albert Thoralf Skolem care transformă o propoziție în formă normală într-o propoziție universală. Propoziția în cauză, după aplicarea algoritmului lui Skolem, pierde echivalența semantică cu propoziția inițială. Cu toate acestea, este interesant de observat că satisfacția rămâne neschimbată.

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ă de preness . Cuantificatorii (∀, ∃) trebuie grupați la începutul propoziției. ∀x 1 ∃x 2 ∀x 3 (...)
  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 ∀ mergem direct la punctul următor.
    Dacă Q 1 este ∃ atunci ∃x 1 este anulat și fiecare apariție a x 1 în α este înlocuită cu aceeași constantă 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. Revizuiesc Q n
    • Dacă Q n este a ∀ începem din 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, totuși, înlocuind la fiecare apariție a variabilei x n un functor care revizuiește toate variabilele anterior folosit de cuantificatori ∀.
        După cum puteți vedea, până când apar cuantificatori de tip ∀, variabilele x n sunt înlocuite cu constante 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ță, cuantificatorul ∃ a fost eliminat, iar variabila y a fost înlocuită cu funcționorul g (x).
    Alegerea variabilei x nu este aleatorie, deoarece x 1 în acest caz este doar 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)

Devine ∀y∀z∃u∀t∃v (α 1 ) (α 1 este propoziția noastră după aplicarea substituției)

  • 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).

Devine ∀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 (∃), îl șterg și îl înlocuiesc în α 2 pentru toate aparițiile v un funcționar care revizuiește toate variabilele utilizate de cuantificatoarele ∀ utilizate 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ă