Skip to content

Instantly share code, notes, and snippets.

@lericson
Created October 9, 2014 12:35
Show Gist options
  • Save lericson/0294c23d51af5cee579e to your computer and use it in GitHub Desktop.
Save lericson/0294c23d51af5cee579e to your computer and use it in GitHub Desktop.
Logikanteckningar
det finns ett X så att X är en person och X har ett paraply
person(X), har(X, paraply).
det finns ett X så att om X är en person så har X ett paraply
person(X) -> har(X, paraply).
det finns inte ett X så att X inte har ett paraply
<=> för alla X som är en person så har X ett paraply
not(person(X), not(har(X, paraply)).
Predikatlogik:
\forall x (Person(x) -> Har(x, paraply)).
Allmänt
\forall x (P(x) -> Q(x)) bevisas i Prolog med not(P(X), not(Q(X))) = forall(P, Q).
P(x) -> Q(x) :- ~P(x) v Q(x)
:- ~(P(x) & ~Q(x))
de Morgans lag:
~a | ~b = ~(a & b)
~a & ~b = ~(a | b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment