Wie schreibe ich es in Skolemform? (Prolog)

Andrei

Übersetzen Sie die folgende Formel in eine Hornformel in Skolem-Form:

∀w¬∀x∃z (H (w) ∧ (¬G (x, x) ∨¬H (z)))

es ist vom deutschen ins englische übersetzt, wie man es in hornform und dann in skolemform schreibt, ich habe im internet nichts gefunden ... bitte hilf mir

lambda.xy.x

Ich werde immer die Version der Skolemisierung verwenden, bei der die Erfüllbarkeit erhalten bleibt, dh die, bei der diejenigen ersetzt werden, die zu existenziellen Quantifizierern werden, wenn sie an den Kopf der Formel verschoben werden.

Um das Leben ein bisschen einfacher zu machen, lassen Sie uns die Negationen auf die Atome übertragen. Wir können auch sehen, dass w nicht in ¬G (x, x) ∨¬H (z) vorkommt und dass x, z nicht in H (w) vorkommt, was es uns ermöglicht, die Quantifizierer ein wenig im Inneren zu verteilen.

Dann erhalten wir die Formel ∀w¬H (w) ∨x∃z (G (x, x) ∧H (z)).

  • Wenn wir die Formel widerlegen wollen:

Wir skolemisieren ∃x und löschen ∀w, ∀z und erhalten:

¬H (w) ∨ (G (c, c) ∧H (z))

Nach der CNF-Transformation haben wir:

(¬H (w) ∨ G (c, c)) ∧ (¬H (w) ∨ H (z))

Beide Klauseln haben genau ein positives Literal, es handelt sich also um Hornklauseln. Übersetzt in die Prolog-Syntax erhalten wir:

g(c,c) :- h(W).
h(Z) :- h(W).
  • Wenn wir die Formel beweisen wollen:

Wir müssen negieren, bevor wir skolemisieren, was zu Folgendem führt:

∃w H (w) ∧x∀z (¬G (x, x) ∨H (z))

Nach der Skolemisierung von ∃w und ∃z, dem Löschen der ∀x- und CNF-Transformation erhalten wir:

H (c) ∧ (¬G (x, x) ∨ ¬H (f (x)))

Das könnte als Tatsache h(c)und Abfrage interpretiert werden?- g(X,X), h(f(X)).

Um ehrlich zu sein, machen beide Varianten wenig Sinn - die erste wird für keine Eingabe beendet und in der zweiten Version schlägt die Abfrage fehl, da sie g/2nicht definiert ist.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  2. 2

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  3. 3

    TypeAhead.js zeigt keine Ausgangsschienen an?

  4. 4

    Deklarieren einer nicht initialisierten Variablen in der Klassendefinition in Python

  5. 5

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  6. 6

    spring-data-jpa: ORA-01795: Die maximale Anzahl von Ausdrücken in einer Liste beträgt 1000

  7. 7

    Warum funktioniert Phantomjs nicht mit dieser Site?

  8. 8

    Interpolieren Sie mit Python die 2D-Matrix entlang der Spalten

  9. 9

    numpy: Berechnen Sie die Ableitung der Softmax-Funktion

  10. 10

    Wie vermeide ich, dass die gesamte App neu geladen wird, wenn Nav.Link von React-Bootstrap verwendet wird?

  11. 11

    MongoDB eingebettetes Dokument unterscheiden und filtern

  12. 12

    Aktualisieren des Werts im Json-Objekt in Python

  13. 13

    Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

  14. 14

    Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist

  15. 15

    Wie verwende ich Format-Table ohne Abschneiden von Werten?

  16. 16

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  17. 17

    Überprüfen Sie, ob der ausgewählte Wert 'YES' ist, wenn ja, aktivieren Sie ein Steuerelement mit Javascript

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Holen Sie sich verwandte Pillen Inhalt mit angeklickten img in Angular

  20. 20

    Eclipse Oxygen - Projekte verschwinden

  21. 21

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

heißlabel

Archiv