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