Zadanie z logiki
Ratata: Niech P(X) oznacza, że X jest programistą, K(X) niech oznacza, że X jest programem, a N(X,Y)
niech oznacza, że X napisał Y. Uzywając języka rachunku kwantyfikatorów zapisz zdanie:
Żaden programista nie napisał wszystkich programów
14 sty 22:58
Pytający:
¬∃x (P(x) ∧ (∀y (K(y) ⇒ N(x, y))))
14 sty 23:31
Ratata: A czy może byc ∀x (P(x) → ∃y(K(y) →¬N(X,Y)) ?
14 sty 23:37
Pytający:
Nie może, nawiasy Ci się nie zgadzają.
Ale nawet po poprawce nawiasu to nie to samo. Przykładowo dla 2 programistów i tylko 1 programu
napisanego przez któregoś z nich (znaczy faktycznie istniałby programista, który napisał
wszystkie programy) Twoje zdanie byłoby prawdziwe... wystarczy, że dla każdego programisty
znajdzie się inny programista (a właściwiej nie−program), aby zachodziło ∃y(K(y) →¬N(X,Y)). W
konsekwencji oczywiście P(x) → (...) jest prawdziwe bez względu na x.
Przekształcenie mojego zapisu do postaci zbliżonej Twemu zapisowi:
¬∃x (P(x) ∧ (∀y (K(y) ⇒ N(x, y))))
∀x ¬(P(x) ∧ (∀y (K(y) ⇒ N(x, y))))
∀x (¬P(x) ∨ ¬(∀y (K(y) ⇒ N(x, y))))
∀x (P(x) ⇒ ¬(∀y (K(y) ⇒ N(x, y))))
∀x (P(x) ⇒ (∃y ¬(K(y) ⇒ N(x, y))))
∀x (P(x) ⇒ (∃y ¬(¬K(y) ∨ N(x, y))))
∀x (P(x) ⇒ (∃y (K(y) ∧ ¬N(x, y))))
15 sty 00:20