🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.matematyka
2 messages
2 total messages Started by Wlodzimierz Holsztynski Sun, 19 Jul 2009 07:02
Rachunek zdań 3 - syntaks zdań (form zdaniowych)
#9848
Author: Wlodzimierz Holsztynski
Date: Sun, 19 Jul 2009 07:02
166 lines
5604 bytes
Będę formalnie mówił o zdaniach, bo tak prościej.
W kontekście potocznym lepiej mówić o czymś
takim jak:

    ((a \/ b) <=> (b \/ a))

jako o formie zdaniowej. Zdaniem jest raczej coś takiego:

    ((kot zżarł mysz) <=> (mysz została zjedzona przez kota))

czyli coś konkretnego. mimo to będę używał terminu
"zdanie" formalnie, jak poniżej.

UWAGA
======
Mógłbym w teorii nie mieć odstępów. Wtedy powyższe
zdanie (formalne) wyglądałoby tak:

    ((a\/b)<=>(b\/a))

Ddla większej czytelności (z powodów psychologicznych)
jednak odstępy będę używał). Natomiast w metateorii
odstępy są konieczne, zwłaszcza, że mam zwyczaj
unikania przecinków (na ogół przecinki tylko oko
kłują i zaśmiecają ekran i papier, jakby mucha po sobie
nie sprzątneła).

**********

(i) Każda zmienna jest zdaniem. (To jedyne zdania,
które nie zaczynają się i nie kończą nawiasem).

(ii) Jeżeli  A  jest zdaniem to  (~ A)  jest zdaniem.

(iii) Jeżeli  A B  są zdaniami, to zdaniami są:

    (A <=> B)    (A \/ B)    (A /\ B)

(iv) Wszystkie zdania otrzymane są poprzez
skonczone iteracje (i) (ii) (iii).

*****

PRZYKŁADY ZDAŃ

    a    x''''

    (~ b)

   (x \/ y)

   ((~ x) /\ (~ (~ y)))

*****
Nawiasy w zdaniach spełniają nastepujące
meta-twierdzenie o zbalansowanych
nawiasach:

    Czytajmy zdanie od lewej do prawej.
    Na początku, przed czytaniem, nastawiamy
    licznik nawiasowy na 0. Po przejściu
    przez nawias lewy  (  dodajemy 1, a po
    przejściu przez prawy  )  odejmujemy 1
    (czynimy tak nawias po nawiasie). Wtedy
    po przeczytaniu całego zdania licznik
    znowu będzie pokazywał 0. Natomiast
    w dowolnym miejscu ściśle pośrednim
    licznik zawsze będzie (ścisle) dodatni.

To meta-twierdzenie nie wyczerpuje wszystkich
własności nawiasów w zdaniach, ale tak
czyni jeżeli zdania wypatroszyć ze wszystkiego
co nie jest nawiasem.

Na przykład napisy (strings)

    (a)        ani    ((x /\ y))

nie są (formalnie) zdaniami - bo mają
ekstra pary nawiasów, co nigdy nie powstanie
poprzez skończoną iterację (i) (ii) (iii). Jednak
same schematy nawiasowe:

    ( )        oraz        (  (  )  )

 są w porządku - można je wypełnić zdaniami:

    (~ a)        oraz        ((x /\ y) \/ z)

Widziimy, że ten sam schemat nawiasów może
powstać z wypatroszenia zdania, jak i napisu
podobnego na oko do zdania, ale który zdaniem
nie jest.

***

Super ważnym dla teorii jest, że
przy odrobinie cierpliwości (:-)
można mechanicznie sprawdzić
czy dany napis jest zdaniem czy też nie.
Po prostu można napisać program
komputerowy, który to sprawdzi
(choćby mu to zajęło zilion lat :-).

Najpierw program sprawdza, czy napis
jest zmienną. Jak tak, to jest to zdanie.
Jak nie to program sprawdza, czy napis jest
postaci:

    (~ zmienna)

Jeżeli tak, to napis jest zdaniem. Jeżeli nie,
to program sprawdza, czy nawiasy są
zbalansowane jak w twierdzeniu o nawiasach.

Jeżeli nie, to napis NIE jest zdaniem. Jeżeli
natomiast nawiasy są zbalansowane, to
program znajduje pierwszy nawias, po którym
licznik pokazuje 2 - to musi być nawias lewy (,
oczywiscie. Następnie znajduje pierwszy nawias,
różny od tego na samym początku, po którym
wartość licznika jest 1 - ten nawias musi być
po wspomnianym (, więc algorytm nie musiał
się cofać, mógł kontynuować w prawo. Ten
nowy nawias musi oczywiście być prawym ).

Teraz algorytm zrobi dwie rzeczy:

(1) sprawdzi czy napis pomiędzy znalezionymi
napisami, łącznie z nimi:

    ( X )

jest zdaniem;

(2)  Czy napis otrzymany z danego przez
zastąpienie podnapisu  ( X )  przez zmienną
(na przykład przez  a  - nie ma znaczenia
przez którą) jest zdaniem.

Jeżeli odpowiedź na oba te pytania jest TAK,
to nasz wyjściowy napis jest zdaniem.

Oczywiście mamy iterację, ale skończoną,
bo napisy w pytaniach (1) (2)  są krótsze
od napisu wyjściowego.

***

Widzimy, że jak na razie teoria jest
sensowna - jej syntaks daje się
sprawdzić komputerem.

***

Będę kontynuował w podobnie
wyliczalnym stylu.

Pozdrawiam,

    Włodek

PS. Piszę szybko, więc mogą przytrafić się
nie tylko literówki, ale nawet przejęzyczenia.
Zresztą literówki potrafią być złośliwe.
Więc proszę ślicznie poprawiać, pytać, itd.
Re: Rachunek zdań 3 - syntaks zdań (form zdaniowych)
#9849
Author: Wlodzimierz Holsztynski (Wlod)
Date: Sun, 19 Jul 2009 07:22
104 lines
4156 bytes
On Jul 19, 12:02 am, Wlodzimierz Holsztynski <sennaj...@gmail.com>
wrote:

Popatrzmy, jak algorytm poradzi sobie
z napisem

        ((x))
>
> Najpierw program sprawdza, czy napis
> jest zmienną. Jak tak, to jest to zdanie.

Napis zaczyna się od nawiasu, więc nie jest
zmnieną (zmienne nie mają nawiasów; mają
tylko jedną angielską małą literę i ewentualnie
apostrofy). Więc na razie nasz napis nie został
sklasyfikowany jako zdanie.

> Jak nie to program sprawdza, czy napis jest
> postaci:
>
>     (~ zmienna)
>
> Jeżeli tak, to napis jest zdaniem.

Nasz napis nie ma znaku przeczenia  ~
na drugim miejscu, po pierwszym lewym
nawiasie, więc ta możliwość odpada.
Na razie nasz napis nie został
sklasyfikowany jako zdanie.

> Jeżeli nie,
> to program sprawdza, czy nawiasy są
> zbalansowane jak w twierdzeniu o nawiasach.
> Jeżeli nie, to napis NIE jest zdaniem. Jeżeli
> natomiast nawiasy są zbalansowane,

Są. Jedziemy dalej (nasz napis nie został
jeszcze odrzucony).

> to
> program znajduje pierwszy nawias, po którym
> licznik pokazuje 2 - to musi być nawias lewy (,
> oczywiscie. Następnie znajduje pierwszy nawias,
> różny od tego na samym początku, po którym
> wartość licznika jest 1 - ten nawias musi być
> po wspomnianym (, więc algorytm nie musiał
> się cofać, mógł kontynuować w prawo. Ten
> nowy nawias musi oczywiście być prawym ).

Zapomniałem w cytowanym poscie dodać, że jeżeli
takich dwóch nawiasów nie ma, to napis NIE jest
zdaniem.

Ale w naszym wypadku mamy takie dwa nawiasy;
to te wewnetrzne w napisie  (( x )),  bezpośrednio
otaczające  x.


> Teraz algorytm zrobi dwie rzeczy:
>
> (1) sprawdzi czy napis pomiędzy znalezionymi
> napisami, łącznie z nimi:
>
>     ( X )
>
> jest zdaniem;

Ten napis, to:

        ( x )

Teraz algorytm zaczyna śpiewkę od nowa.
Ten obecny, krótszy, napis nie jest
zmienną, ani nie jest typu  (~ zmienna),
ani nie ma pary nawiasu po którym
licznik ma wartość 2.  Zatem napis  ( x )
NIE jest zdaniem.

> (2)  Czy napis otrzymany z danego przez
> zastąpienie podnapisu  ( X )  przez zmienną
> (na przykład przez  a  - nie ma znaczenia
> przez którą) jest zdaniem.
>
> Jeżeli odpowiedź na oba te pytania jest TAK,
> to nasz wyjściowy napis jest zdaniem.

Zapomniałem dodać, że w przeciwnym przypadku,
gdy odpowiedź na jedno z pytań jest NIE, to napis
nie jest zdaniem.

Zatem nasz napis wyjściowy:  (( x ))
nie jesrt zdaniem.

> PS. Piszę szybko, więc mogą przytrafić się
> nie tylko literówki, ale nawet przejęzyczenia.
> Zresztą literówki potrafią być złośliwe.
> Więc proszę ślicznie poprawiać, pytać, itd.

No właśnie. Spieszę się, jestem wybitnie
omylny, ale właśnie algorytm już dopowiedziałem.

Pozdrawiam,

    Włodek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads