Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Zdania. Tautologie. Język matematyki. Wszelkie zagadnienia związane z logiką matematyczną...
szaleniec_mat
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 5 paź 2014, o 14:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 2 razy

Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: szaleniec_mat »

Robię zadania z rachunku predykatów, z podręcznika Murawskiego i Świrydowicza "Wstęp do teorii mnogości". Poniżej kilka przykładów, które własnymi siłami rozwiązałem, brak jest jednak w podręczniku odpowiedzi, stąd chcę je skonsultować.

Zapisać w języku r. predykatów zdania:

C(x) - x jest człowiekiem
M(x) - x jest matematykiem

Archimedes jest człowiekiem
a - Archimedes
\(\displaystyle{
C(a)
}\)

Każdy matematyk jest człowiekiem
\(\displaystyle{
\forall x (M(x) \Rightarrow C(x))
}\)

Niektórzy matematycy są ludźmi
\(\displaystyle{
\exists x (M(x) \wedge C(x))
}\)

Żaden matematyk nie jest człowiekiem
\(\displaystyle{
\forall x (M(x) \Rightarrow \neg C(x))
}\)

Niektórzy matematycy nie są ludźmi
\(\displaystyle{
\exists x (M(x) \wedge \neg C(x))
}\)

Tylko ludzie są matematykami
\(\displaystyle{
\forall x (M(x) \Rightarrow C(x))
}\)


Każdy człowiek ma psa, na którego schodzi
P(x) - x jest psem
S(x,y) - x schodzi na y
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y (P(y) \wedge S(x,y)))
}\)


Są rzeczy na niebie i na ziemi, o których nie śniło się filozofom
R(x) - x jest rzeczą
N(x) - x jest na niebie
Z(x) - x jest na ziemi
F(x) - x jest filozofem
Ś(x, y) - x śniło się y
\(\displaystyle{
\exists x (R(x) \wedge N(x) \wedge Z(x) \wedge \forall y (F(y) \Rightarrow \neg Ś(x, y)))
}\)


Jeszcze się taki nie urodził co by wszystkim dogodził
C(x) - x jest człowiekiem
U(x) - x się urodził
D(x, y) - x dogodził y
\(\displaystyle{
\neg \exists x (C(x) \wedge U(x) \wedge \forall y (C(y) \Rightarrow D(x, y))) \\
\Leftrightarrow \forall x (\neg U(x) \vee \neg C(x) \vee \exists y (C(y) \wedge \neg D(x,y))) \\
\Leftrightarrow \forall x ((U(x) \wedge C(x)) \Rightarrow \exists y (C(y) \wedge \neg D(x,y)))
}\)


Każdy ma swoją żabę, co przed nim ucieka, i swojego zająca, którego się boi
C(x) - x jest człowiekiem
Ż(x) - x jest żabą
Z(x) - x jest zającem
B(x, y) - x ma y którego się boi
U(x, y) - x ma y, co przed nim ucieka
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge B(x, z) \wedge U(x, y)))
}\)
krl
Użytkownik
Użytkownik
Posty: 609
Rejestracja: 10 lis 2009, o 22:39
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 135 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: krl »

Wszystkie przykłady są zrobione dobrze z wyjątkiem dwóch, gdzie można się troszkę przyczepić:
"Niektórzy matematycy są ludźmi" i "Niektórzy matematycy nie są ludźmi".
Twoje formalizacje dotyczą liczby pojedynczej: "Pewien matematyk nie jest człowiekiem" i "Pewien matematyk nie jest człowiekiem".
By wyrazić tu liczbę mnogą (tzn. większą od jeden) użyj dwóch zmiennych i symbolu równości (który zazwyczaj uważa się za symbol logiczny).
Podobne zastrzeżenie można by mieć do cytatu z Hamleta.
Jan Kraszewski
Administrator
Administrator
Posty: 34073
Rejestracja: 20 mar 2006, o 21:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 3 razy
Pomógł: 5191 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: Jan Kraszewski »

szaleniec_mat pisze: 29 gru 2020, o 11:35C(x) - x jest człowiekiem
M(x) - x jest matematykiem

Archimedes jest człowiekiem
a - Archimedes
\(\displaystyle{
C(a)
}\)

Każdy matematyk jest człowiekiem
\(\displaystyle{
\forall x (M(x) \Rightarrow C(x))
}\)

Niektórzy matematycy są ludźmi
\(\displaystyle{
\exists x (M(x) \wedge C(x))
}\)

Żaden matematyk nie jest człowiekiem
\(\displaystyle{
\forall x (M(x) \Rightarrow \neg C(x))
}\)

Niektórzy matematycy nie są ludźmi
\(\displaystyle{
\exists x (M(x) \wedge \neg C(x))
}\)

Tylko ludzie są matematykami
\(\displaystyle{
\forall x (M(x) \Rightarrow C(x))
}\)
OK
szaleniec_mat pisze: 29 gru 2020, o 11:35Każdy człowiek ma psa, na którego schodzi
P(x) - x jest psem
S(x,y) - x schodzi na y
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y (P(y) \wedge S(x,y)))
}\)
Brakuje informacji, że \(\displaystyle{ x}\) ma \(\displaystyle{ y}\). Oczywiście to jest kwestia interpretacji, czy "Każdy człowiek ma psa, na którego schodzi" oznacza, że ów człowiek jest właścicielem tego psa, na którego schodzi, czy po prostu, że jest taki pies, na którego on schodzi.
szaleniec_mat pisze: 29 gru 2020, o 11:35Są rzeczy na niebie i na ziemi, o których nie śniło się filozofom
R(x) - x jest rzeczą
N(x) - x jest na niebie
Z(x) - x jest na ziemi
F(x) - x jest filozofem
Ś(x, y) - x śniło się y
\(\displaystyle{
\exists x (R(x) \wedge N(x) \wedge Z(x) \wedge \forall y (F(y) \Rightarrow \neg Ś(x, y)))
}\)
Wydaje się, że sformułowanie "Są rzeczy na niebie i na ziemi" nie znaczy "Są rzeczy, które są na niebie i na ziemi", ale raczej "Są rzeczy, które są na niebie i są rzeczy, które są na ziemi" i wtedy formalizacja jest inna.
szaleniec_mat pisze: 29 gru 2020, o 11:35Jeszcze się taki nie urodził co by wszystkim dogodził
C(x) - x jest człowiekiem
U(x) - x się urodził
D(x, y) - x dogodził y
\(\displaystyle{
\neg \exists x (C(x) \wedge U(x) \wedge \forall y (C(y) \Rightarrow D(x, y))) \\
\Leftrightarrow \forall x (\neg U(x) \vee \neg C(x) \vee \exists y (C(y) \wedge \neg D(x,y))) \\
\Leftrightarrow \forall x ((U(x) \wedge C(x)) \Rightarrow \exists y (C(y) \wedge \neg D(x,y)))
}\)
OK
szaleniec_mat pisze: 29 gru 2020, o 11:35Każdy ma swoją żabę, co przed nim ucieka, i swojego zająca, którego się boi
C(x) - x jest człowiekiem
Ż(x) - x jest żabą
Z(x) - x jest zającem
B(x, y) - x ma y którego się boi
U(x, y) - x ma y, co przed nim ucieka
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge B(x, z) \wedge U(x, y)))
}\)
Bardziej naturalnym wydaje się użycie predykatów
\(\displaystyle{ M(x,y) - x\text{ ma }y}\)
\(\displaystyle{ B(x,y) - x\text{ boi się }y}\)
\(\displaystyle{ U(x,y) - x\text{ ucieka przed }y}\)

JK
a4karo
Użytkownik
Użytkownik
Posty: 22153
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3748 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: a4karo »

Słyszałem że wśród ogrów i krasnali również funkcjonują dwa ostatnie powiedzenia, więc ograniczenie się do ludzi jest błędem.
Jan Kraszewski
Administrator
Administrator
Posty: 34073
Rejestracja: 20 mar 2006, o 21:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 3 razy
Pomógł: 5191 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: Jan Kraszewski »

a4karo pisze: 29 gru 2020, o 19:26 Słyszałem że wśród ogrów i krasnali również funkcjonują dwa ostatnie powiedzenia, więc ograniczenie się do ludzi jest błędem.
Czepiasz się. Byłoby błędem na Uniwersytecie Ogrokrasnoludzkim, ale tu jest racjonalną interpretacją.

JK
szaleniec_mat
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 5 paź 2014, o 14:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 2 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: szaleniec_mat »

krl pisze: 29 gru 2020, o 19:06 Wszystkie przykłady są zrobione dobrze z wyjątkiem dwóch, gdzie można się troszkę przyczepić:
"Niektórzy matematycy są ludźmi" i "Niektórzy matematycy nie są ludźmi".
Twoje formalizacje dotyczą liczby pojedynczej: "Pewien matematyk nie jest człowiekiem" i "Pewien matematyk nie jest człowiekiem".
By wyrazić tu liczbę mnogą (tzn. większą od jeden) użyj dwóch zmiennych i symbolu równości (który zazwyczaj uważa się za symbol logiczny).
Podobne zastrzeżenie można by mieć do cytatu z Hamleta.
Być może jest w tym słuszność. Jednak w podręczniku, prof. Świrydowicz (autor rozdziału) przytacza przykład "Niektórzy ludzie są matematykami" i formalizuje to w analogiczny sposób, dlatego właśnie takie rozwiązanie zaproponowałem.
Jan Kraszewski pisze: 29 gru 2020, o 19:14
szaleniec_mat pisze: 29 gru 2020, o 11:35Każdy człowiek ma psa, na którego schodzi
P(x) - x jest psem
S(x,y) - x schodzi na y
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y (P(y) \wedge S(x,y)))
}\)
Brakuje informacji, że \(\displaystyle{ x}\) ma \(\displaystyle{ y}\). Oczywiście to jest kwestia interpretacji, czy "Każdy człowiek ma psa, na którego schodzi" oznacza, że ów człowiek jest właścicielem tego psa, na którego schodzi, czy po prostu, że jest taki pies, na którego on schodzi.
Dobrze, w tej wersji wprowadzam zatem predykat M(x,y) - x ma y, i mam:
\(\displaystyle{ \forall x (C(x) \Rightarrow \exists y (P(y) \wedge M(x,y) \wedge S(x,y)))}\)
Jan Kraszewski pisze: 29 gru 2020, o 19:14
szaleniec_mat pisze: 29 gru 2020, o 11:35Są rzeczy na niebie i na ziemi, o których nie śniło się filozofom
R(x) - x jest rzeczą
N(x) - x jest na niebie
Z(x) - x jest na ziemi
F(x) - x jest filozofem
Ś(x, y) - x śniło się y
\(\displaystyle{
\exists x (R(x) \wedge N(x) \wedge Z(x) \wedge \forall y (F(y) \Rightarrow \neg Ś(x, y)))
}\)
Wydaje się, że sformułowanie "Są rzeczy na niebie i na ziemi" nie znaczy "Są rzeczy, które są na niebie i na ziemi", ale raczej "Są rzeczy, które są na niebie i są rzeczy, które są na ziemi" i wtedy formalizacja jest inna.
Faktycznie, to ma zdecydowanie więcej sensu. Poprawiam na:
\(\displaystyle{
\exists x \exists z (R(x) \wedge R(z) \wedge N(x) \wedge Z(z) \wedge \forall y (F(y) \Rightarrow \neg Ś(x, y) \wedge \neg Ś(x, z)))
}\)

Jan Kraszewski pisze: 29 gru 2020, o 19:14
szaleniec_mat pisze: 29 gru 2020, o 11:35Każdy ma swoją żabę, co przed nim ucieka, i swojego zająca, którego się boi
C(x) - x jest człowiekiem
Ż(x) - x jest żabą
Z(x) - x jest zającem
B(x, y) - x ma y którego się boi
U(x, y) - x ma y, co przed nim ucieka
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge B(x, z) \wedge U(x, y)))
}\)
Bardziej naturalnym wydaje się użycie predykatów
\(\displaystyle{ M(x,y) - x\text{ ma }y}\)
\(\displaystyle{ B(x,y) - x\text{ boi się }y}\)
\(\displaystyle{ U(x,y) - x\text{ ucieka przed }y}\)
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge M(x, z) \wedge M(x, y) \wedge B(x, z) \wedge U(x, y)))
}\)
Jan Kraszewski
Administrator
Administrator
Posty: 34073
Rejestracja: 20 mar 2006, o 21:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 3 razy
Pomógł: 5191 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: Jan Kraszewski »

szaleniec_mat pisze: 29 gru 2020, o 20:39Dobrze, w tej wersji wprowadzam zatem predykat M(x,y) - x ma y, i mam:
\(\displaystyle{ \forall x (C(x) \Rightarrow \exists y (P(y) \wedge M(x,y) \wedge S(x,y)))}\)
OK.
szaleniec_mat pisze: 29 gru 2020, o 20:39Faktycznie, to ma zdecydowanie więcej sensu. Poprawiam na:
\(\displaystyle{
\exists x \exists z (R(x) \wedge R(z) \wedge N(x) \wedge Z(z) \wedge \forall y (F(y) \Rightarrow \neg Ś(x, y) \wedge \neg Ś(x, z)))
}\)
OK.
szaleniec_mat pisze: 29 gru 2020, o 20:39\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge M(x, z) \wedge M(x, y) \wedge B(x, z) \wedge U(x, y)))
}\)
Źle - to nie Ty uciekasz przed żabą, ale żaba przed Tobą.

Poza tym pozostaje interpretacja zaimka"swój"...

JK
szaleniec_mat
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 5 paź 2014, o 14:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 2 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: szaleniec_mat »

Jan Kraszewski pisze: 29 gru 2020, o 20:57
szaleniec_mat pisze: 29 gru 2020, o 20:39\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge M(x, z) \wedge M(x, y) \wedge B(x, z) \wedge U(x, y)))
}\)
Źle - to nie Ty uciekasz przed żabą, ale żaba przed Tobą.

Poza tym pozostaje interpretacja zaimka"swój"...
Ups, pora robi swoje. Oczywiście należy zmienić na U(y, x).
\(\displaystyle{
\forall x (C(x) \Rightarrow \exists y \exists z (Ż(y) \wedge Z(z) \wedge M(x, z) \wedge M(x, y) \wedge B(x, z) \wedge U(y, x)))
}\)


Co do zaimka, to brakuje mi pomysłu. Mógłbym ewentualnie do predykatu M(x, y) dodać ten zaimek: x ma swój y. Czy taki zabieg byłby poprawny, lub przynajmniej akceptowalny?
Jan Kraszewski
Administrator
Administrator
Posty: 34073
Rejestracja: 20 mar 2006, o 21:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 3 razy
Pomógł: 5191 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: Jan Kraszewski »

szaleniec_mat pisze: 29 gru 2020, o 21:04Co do zaimka, to brakuje mi pomysłu. Mógłbym ewentualnie do predykatu M(x, y) dodać ten zaimek: x ma swój y. Czy taki zabieg byłby poprawny, lub przynajmniej akceptowalny?
Akceptowalny tak. Choć ja wolałbym to w wersji "\(\displaystyle{ x}\) ma \(\displaystyle{ y}\) i nikt inny nie ma tego \(\displaystyle{ y}\)". Ale nie sądzę, by autor zadania miał na myśli tak szczegółowe rozważania na temat znaczenia użytych w zadaniu sformułowań...

JK
szaleniec_mat
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 5 paź 2014, o 14:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 2 razy

Re: Zapisać zdania w języku rachunku predykatów (Murawski, Świrydowicz)

Post autor: szaleniec_mat »

W takim razie nie pozostaje mi nic innego jak podziękować. Dziękuję za pomoc Panie Doktorze.
ODPOWIEDZ