Notacja polska

Z Wikipedii, wolnej encyklopedii

Notacja polska, zapis przedrostkowy, notacja Łukasiewicza, notacja prefiksowa, symbolika beznawiasowa – sposób zapisu wyrażeń logicznych (a później arytmetycznych), podający najpierw operator, a potem operandy (argumenty), który został wynaleziony w 1924[1], a pierwszy raz użyty w druku w 1929[2], przez polskiego (stąd nazwa[a]) filozofa i logika Jana Łukasiewicza.

Notacja polska różni się od notacji infiksowej (w których operatory znajdują się pomiędzy argumentami i wymaga stosowania nawiasów) używanych m.in. przez klasyczne dzieło formalizmu logicznego Principia Mathematica Bertranda Russella i A.N. Whiteheada, a także od odwrotnej notacji polskiej, gdzie operatory znajdują za argumentami. Według Jana Woleńskiego, notacja ta pozwala na łatwiejsze przeprowadzanie operacji na formułach o znacznej długości; formuły krótsze wydają się tu jednak mniej intuicyjne niż w notacji nawiasowej, stąd notacja Łukasiewicza jest rzadko spotykana w dydaktyce[5].

Czasami terminem „notacja polska” obejmuje się notację z operatorem na początku, jak i odwrotną, z operatorem na końcu[3].

Notacja ta używana jest w logice znacznie rzadziej niż notacja infiksowa[6]; wśród niepolskojęzycznych naukowców używających jej znajdował się m.in. Arthur Prior[7]. Nazwa „notacja polska” zaczęła pojawiać się w druku w latach 50. XX wieku[8]. Obecnie informatyka jest jedynym polem, gdzie notacja ta jest wciąż popularna, szczególnie jej odwrotna odmiana.

Gdy notacja polska jest używana jako składnia dla wyrażeń matematycznych przez interpretery języków programowania, jest ona łatwo parsowana do drzew składniowych. Może ona definiować jednoznaczne odwzorowanie dla tego samego wyrażenia. Z tego powodu Lisp i pokrewne języki programowania definiują całą swoją składnię w notacji polskiej (a inne używają odwrotnej notacji polskiej).

Notacja w logice[edytuj | edytuj kod]

Operatory logiczne notacji polskiej
N – negacja (Np, 'nieprawda, że p')
C – implikacja (Cpq, 'jeżeli p, to q')
A – alternatywa (Apq, 'p lub q')
D – dysjunkcja (Dpq, 'nieprawda, że (p i q)')
K – koniunkcja (Kpq, 'p i q')
E – równoważność (Epq, 'p wtedy, i tylko wtedy, gdy q')

Przykłady zapisu formuły

  • to w notacji polskiej CCpqCCqrCpr
  • to w notacji polskiej CCNppp
  • to w notacji polskiej CpCNpq

Poniżej przedstawiona jest notacja polska dla współczesnej logiki. Niektóre zastosowane przez Łukasiewicza litery odpowiadają polskim nazwom operacji. Widać też tu operatory dla proponowanej przez Łukasiewicza wersji logiki wielowartościowej. Na podstawie Łukasiewicz 1921 ↓, Łukasiewicz i Tarski 1930 ↓, Łukasiewicz 1939 ↓, Łukasiewicz 1953 ↓ i Łukasiewicz 1957 ↓.

operator notacja
konwencjonalna
notacja
polska
negacja
implikacja
alternatywa
koniunkcja
dysjunkcja
ekwiwalencja
kwantyfikator ogólny
kwantyfikator szczegółowy
prawdziwy
możliwość lub
konieczność lub

Notacja w arytmetyce[edytuj | edytuj kod]

Wyrażenie w notacji polskiej nie wymaga nawiasów, ponieważ przypisanie argumentów do operatorów wynika wprost z ich kolejności w zapisie, o ile z góry znana jest liczba argumentów poszczególnych operatorów.

Na przykład zakładając, że operatory / i + są binarne, zapis w notacji polskiej:

   / 7 + 2 3

interpretuje się jednoznacznie jako równoważny notacji tradycyjnej (zapisowi wrostkowemu):

   7 / (2 + 3)

Notacja polska jest bliska naturalnemu sposobowi wyrażania działań, w którym zazwyczaj najpierw podaje się czynność, a następnie dopełnia wyrażenie wskazaniem rzeczy, do których czynność się odnosi. Działanie z przykładu powyżej naturalnie wypowiadamy po polsku:

„podziel siedem przez sumę dwu i trzech”
/ 7 + 2 3

Stąd zapis przedrostkowy stał się podstawą edukacyjnego języka programowania Logo[potrzebny przypis], a także języka Lisp[9]. Inne języki używają zapisu przyrostkowego (odwrotnej notacji polskiej), np. Forth[10], Tcl[11] i PostScript[12].

Zobacz też[edytuj | edytuj kod]

Uwagi[edytuj | edytuj kod]

  1. Jak zauważa np. Michael Main, bardziej prawidłowa byłaby nazwa „notacja Łukasiewicza”, ale nazwisko to jest trudne do wymówienia przez obcokrajowców[3][4].

Przypisy[edytuj | edytuj kod]

  1. Jan Łukasiewicz, Uwagi o aksjomacie Nicoda i „dedukcji uogólniającej”, [w:] Księga pamiątkowa Polskiego Towarzystwa Filozoficznego We Lwowie, 12. II. 1904-12. II. 1929, Lwów: Wydawnictwo Polskie Towarzystwo Filozoficzne, s. 366-383, Cytat: Pomysł symboliki beznawiasowej nasunął mi się w r. 1924. W druku użyłem tej symboliki po raz pierwszy w artykule „O znaczeniu i potrzebach logiki matematycznej” (Nauka Polska. Tom X. Warszawa 1929), str. 610, przypisek. (…) (pol.).
  2. Jan Łukasiewicz, O znaczeniu i potrzebach logiki matematycznej, [w:] NAUKA POLSKA. Jej potrzeby, organizacja i rozwój, Warszawa: Wydawnictwo Kasy im. Mianowskiego, 1929, 604-620, przypisek 610-612 [dostęp 2023-09-30] (pol.).
  3. a b Michael Main, Data structures and other objects using Java, wyd. 3, Pearson PLC Addison-Wesley, 2006, s. 334, ISBN 978-0-321-37525-4.
  4. Kennedy 1982 ↓, s. 2.
  5. Woleński 1985 ↓, s. 94.
  6. Xóchitl Martínez Nava, Mhy bib I fail logic? Dyslexia in the teaching of logic, [w:] Patrick Blackburn i inni red., Tools for Teaching Logic: Third International Congress, TICTTL 2011, Salamanca, Spain, June 1–4, 2011, Proceedings, t. 6680, Springer Nature, 1 czerwca 2011 (Lecture Notes in Artificial Intelligence), s. 162–169, DOI10.1007/978-3-642-21350-2_19, ISBN 978-3-64221349-6, Cytat: Polish or prefix notation has come to disuse given the difficulty that using it implies..
  7. Dunning 2018 ↓, s. 237.
  8. Nowik 2010 ↓, s. 238.
  9. LISP [online], www.math-cs.gordon.edu [dostęp 2023-09-30] [zarchiwizowane z adresu 2023-09-30].
  10. Wikibooks: Forth/Arithmetics
  11. RPN in Tcl [online], wiki.tcl-lang.org [dostęp 2023-09-30] [zarchiwizowane z adresu 2023-09-30].
  12. Wikibooks: Programowanie w systemie UNIX/PostScript

Bibliografia[edytuj | edytuj kod]

  • Jan Woleński, Filozoficzna Szkoła Lwowsko-Warszawska, Wydawnictwo Naukowe PWN, 1985, ISBN 978-83-01-23081-4 (pol.).
  • David E. Dunning, The logic of the nation: Nationalism, formal logic, and interwar Poland, „Studia Historiae Scientiarum” (17), 2018, s. 207-251, DOI10.4467/2543702XSHS.18.009.9329 [dostęp 2023-09-30] [zarchiwizowane z adresu 2023-09-29] (ang.).
  • John Kennedy, RPN Perspective, „PPC Calculator Journal”, 9 (5), Mathematics Department, Santa Monica College, Santa Monica, California, USA 1982, s. 26–29 [dostęp 2023-09-30] [zarchiwizowane z adresu 2022-07-01].
  • Jan Łukasiewicz, Elementy logiki matematycznej, wyd. 1, Warszawa: Państwowe Wydawnictwo Naukowe, 1929 (pol.).
  • Jan Łukasiewicz, Alfred Tarski, Untersuchungen über den Aussagenkalküls, „Comptes Rendus des Séances de la Société des Sciences et des Lettres de Varsovie”, 23 (Cl. III), 1930, s. 30–50 (niem.).
  • Jan Łukasiewicz, Der Äquivalenzenkalkül, „Collectanea Logica I”, 1939, s. 145-169 (niem.).
  • Jan Łukasiewicz, A System of Modal Logic, „The Journal of Computing Systems”, 3 (1), 1953, s. 111–149.
  • Jan Łukasiewicz, Aristotle's syllogistic: from the standpoint of modern formal logic, Oxford University Press, 1957 (ang.).

Literatura dodatkowa[edytuj | edytuj kod]