background image

Logiczna analiza tekstu

Większość  współczesnych  środków  informatycznych  obsługujących  Internet  wykorzystuje
lepiej  lub  gorzej  określone  operacje  i  reguły  logicznej  analizy  tekstu.  W  tym  kontekście,
znajomość  przez  nauczycieli  metod  logicznej  analizy  tekstu  wydaje  się  być  dobrze
uzasadniona.  Zapoznanie  się  z  ta  dziedzina  moŜna  rozpocząć  od  ksiąŜki  Witolda
Marciszewskiego  „Metody  analizy  tekstu  naukowego”  (1981  r.).  ChociaŜ  praca  ta  była
przygotowana  dla  wydawnictwa  jako  poradnik,  czy  przewodnik  po  wskazanej  w  tytule
ksiąŜki  dziedzinie wiedzy, przeznaczony dla nauczycieli akademickich i studentów, to takŜe
prezentowała nowatorskie idee oraz wytyczała nowe kierunki badań. Zwłaszcza prekursorskie
było  zaproponowanie,  jako  głównego  celu  logicznej  analizy  tekstu,  badania  logicznego
związku  pomiędzy  tematem  a  rematem,  tj.  pomiędzy  tymi  fragmentami  tekstu,  które
reprezentują  wiedzę  potrzebną  do  wyznaczenia  innej  wiedzy,  a  tymi  fragmentami  tekstu,
które  reprezentują  wiedzę  wyznaczoną  na  podstawie  tematu.  W  tym  ujęciu,  istotą
poprawności  logicznej  jednostki  tekstu  jest  występowanie  logicznego  stosunku  pomiędzy
tematem  i  rematem.  Ten  związek  logiczny  ustala  się  dokonując  formalnego  opisu  relacji
określających  zwartość  tematyczną  tekstów  z  danej  dziedziny  wiedzy,  do  której  naleŜy
analizowany  tekst.  Analizowane  relacje  zwane  są  relacjami  nawiązywania.  Na  podstawie
tych  relacji  wyprowadzane  są  jedne  teksty  z  drugich,  adekwatnie  do  wyznaczania  jednej
wiedzy  przez  drugą.  W  sensie  wyprowadzalności  tekstów,  w  dowolnym  wyprowadzeniu
jedne teksty są następnikami innych, w tym teksty wyprowadzane (rematy)  są następnikami
tekstów (tematów), z którymi pozostają w relacji nawiązywania.  Z tego powodu, do badania
struktury  tematycznej  tekstu  moŜna  zastosować  aparat  pojęciowy  teorii  krat.  Ze  względu  na
znaczenie pojęć tematu i rematu dla analizy tekstu, postuluje się utworzenie teorii, którą autor
omawianej pracy proponuje nazwać logiczną teorią tekstu.

Formalizacja języka dziedzin wiedzy

Omówimy teraz standaryzację procedur logicznej analizy tekstu określoną przez

wymogi programowania logicznego.

W  dowolnym  systemie  reprezentacji  wiedzy  reprezentowana  jest  wiedza  z  pewnej

dziedziny.  Język,  w  którym  wyraŜana  jest  ta  wiedza  nazywamy  językiem  tej  dziedziny
wiedzy
. Istotą programowania logicznego jest

1)

 

taka  formalizacja  tekstu  zadania,  wyraŜonego  w  języku  jakiejś  dziedziny  wiedzy,
która  reprezentuje  wiedzę  logiczną  o  danych  i  faktach,  do  których  odwołuje  się
(nawiązuje) tekst zadania, a więc reprezentacja tego co jest dla tego tekstu i dla danej
dziedziny  wiedzy  tematem,    utoŜsamianym  w  programowaniu  logicznym  z  siecią
semantyczną,

2)

 

formalizacja relacji nawiązywania, ustalających sekwencje operacji prowadzących od
danych  i  faktów  do  innych  danych  i  faktów  lub  do  nowych  danych  (szukanych)  i
ustaleń  (tj.  do  rematu);  w  programowaniu  logicznym  sekwencjom  tych  operacji
odpowiada przestrzeń rozwiązań, a zbiorowi relacji nawiązywania - baza wiedzy,

3)

 

formalizacja wszystkich faktów określonych przez relacje nawiązywania występujące
w tekście zadania; w programowaniu logicznym reprezentacji tych faktów odpowiada
dynamiczna baza danych,

4)

 

formalizacja  zbioru  danych,  niekoniecznie  występujących  w  tekście  zadania,  do
których  trzeba  się  odwołać,  aby  uzyskać  to  co  jest  szukane;  w  programowaniu
logicznym odpowiada temu zewnętrzna baza danych,

background image

5)

 

formalizacja  zapytań,  określających  to  co  szukane  i  co  ma  być  ustalone,  a  więc
reprezentacja tego co jest dla danego tekstu zadania  rematem.

W celu dokonania tak rozumianej formalizacji tekstów języka dziedziny wiedzy wyróŜniamy
w nim:

1)

 

zaimki  nieokreślone:  „ktoś”,  „coś”,  „jakiś”,  itp.,  oznaczające    dowolnie  ustalony
przedmiot,

2)

 

nazwy  indywidualne,  oznaczające  indywidua,  np.  „ten  człowiek”,  „to  dziecko”,
„miasto  Warszawa”,  „to  co  jest  aktualnie  liczone”,  „człowiek,  o  którym  jest  tu
mowa”, „przedmiot, który  mamy na uwadze”, „dowolnie ustalony na  czas  rozwaŜań
przedmiot”,  itp.

3)

 

nazwy proste, które nie są tworzone z innych nazw, np. „dom”, „liczba”

4)

 

funktory  nazwotwórcze  tworzące  z  nazw  (zaimków)  nowe  nazwy  (zaimki),
oznaczające operacje i ich złoŜenia

5)

 

nazwy złoŜone, zbudowane z nazw prostych za pomocą funktorów nazwotwórczych,
np. „wielki, biały stół”

6)

 

zaimki złoŜone: „coś białego”, „jakaś liczba”, itp.

7)

 

dane  –  nazwy  odnoszące  się  bezpośrednio  do  stanów  rzeczy,  np.  „dana  długość”,
„dane  nazwisko”,  „data  urodzenia”  w  wyraŜeniu    „znana  jest  data  urodzenia  Jana
Kowalskiego”,  oraz  wszystkie  nazwy  występujące  w  wyraŜeniach  odwołujących  się
do wiedzy człowieka, itp.

8)

 

Szukane – nazwy odnoszące się pośrednio do stanów rzeczy, np. „szukana długość”,
„szukane nazwisko”, nazwy tego co szukane i wskazywane przez pytania, itp.

9)

 

umiejscowienie tekstu -  nazwa będąca identyfikatorem połoŜenia nazwy w tekście,
np.  „w  środku  tekstu”,  „na  wstępie”,  „piąta  z  kolei  dana”,  „druga  z  kolei  szukana”,
„następująca po [nazwa]” , „w cytowanej ksiąŜce”, itp.

10)

 

funktory  zdaniotwórcze:  zwroty  typu  „kaŜde  ...  jest  ...”,    „...biegnie”,  itp.  oraz
spójniki zdaniowe „nieprawda,  Ŝe...”,  „...i...”,  „...lub...”,  „jeŜeli...,  to...”, „...wtedy  i
tylko  wtedy...”,  a  tak
Ŝe  zwroty  kwantyfikujące  „kaŜdy...spełnia  warunek....”,
„pewien... spełnia warunek...”, „ ...identyczne z...”,

11)

 

  fakty  -      wyraŜenia  zdaniowe  łączone  zwrotami  „jest  faktem,  Ŝe  ...”,  „załóŜmy,  Ŝe
...”,  „prawd
ą  jest,  Ŝe  ...”    i  wszystkimi  zwrotami  o  tym  samym  znaczeniu,
wskazującymi na znany stan rzeczy

12)

 

 ustalenia - wyraŜenia łączone zwrotem „jest ustalone, Ŝe ...”, „naleŜy odpowiedzieć
na  pytanie  czy  ...”  i  wszystkimi  zwrotami  o  tym  samym  znaczeniu,  wskazujące
pośrednio na stan rzeczy; ustalenia odpowiadają więc pewnego rodzaju pytaniom

13)

 

funktory  odwołań  –  są  to  wszelkie  znaki,  w  tym  zwroty  odwołujące  się  do  innych
tekstów, czy części danego  tekstu np. do wyraŜeń zdaniowych zawartych w tekście,
np.    rozpoczęcie  wyraŜenia  zdaniowego  z  duŜej  litery  i  zakończenie  go  kropką  jest
odwołaniem  do  wydzielonego  przez  ten  funktor  wyraŜenia  zdaniowego,  funktorami
odwołań  są  takŜe  dla  nazw  zwrot  „...jest...”,  a  dla  wyraŜeń  zdaniowych  zwroty  „....
Stąd  wynika,    Ŝe  ...”,  „...,  a  więc  ...”,  „Zatem  ....”,  itp.  oraz  zwroty  określające
cytowanie lub bycie faktem czy ustaleniem,  

14)

 

odwołania – wyraŜenia tworzone za pomocą funktorów odwołań

15)

 

wyraŜenia  zdaniowe,  które  zbudowane  są  z  wyróŜnionych  nazw  za  pomocą
wyróŜnionych funktorów i te wyraŜenia, które dają się tak przeformułować, aby były
zbudowane z wyróŜnionych nazw i funktorów.

background image

Następnie  budujemy  schematy  (wzory,  diagramy,  tabele,  itp.  )

1

  wyróŜnionych  wyraŜeń

zdaniowych  języka  danej  dziedziny  wiedzy  tak,  aby    kaŜdemu  takiemu  schematowi,
oddzielnie,    odpowiadało  jakieś  wyraŜenie  tego  języka.    W  standardowej  notacji  logiki
pierwszego rzędu formalizację moŜemy dokonać następująco:

1)

 

zmienne: x

1

, x

2

, x

3

, ... , reprezentują zaimki nieokreślone, np. wyraŜenie zdaniowe

„kaŜdego dnia ktoś biegnie jakąś aleją parku jakiegoś miasta”

jest równoznaczne

„kaŜdego dnia człowiek jakiś biegnie aleją parku jakąś miasta jakiegoś.”

a po zamianie zaimków na zmienne

„kaŜdego dnia człowiek x

1

  biegnie aleją parku x

2

  miasta x

3

.”

2)

 

stale: c

1

, c

2

, c

3

, ... , reprezentują nazwy indywidualne, np. wyraŜenie zdaniowe

„jakiś człowiek mieszka w mieście Warszawa”

        

c

1

człowiek x

1

 mieszka w c

1

3)

 

dziedziny deklarowane  (typy zmiennych): D

1

, D

2

, D

3

, ... , reprezentują nazwy proste,

    „kaŜdego dnia człowiek biegnie w mieście”

D

1

      D

2

                           D

3

4)

 

symbole funkcyjne: f

1

1

, f

2

1

, f

3

1

, ... , f

1

k

, f

2

k

, f

3

k

, ... , reprezentują funktory nazwotwórcze

jeden, ..., k-argumentowe, ... , np.

człowiek x

1

 mieszkający w c

1

   f

1

2

(     f

1

1

(  x

1

   )    ,              c

1

)

5)

 

termy: niech t

1

, t

2

, t

3

, ...,  reprezentują dowolne zaimki (proste i złoŜone) – zmienne i stałe

są termami, jeśli t

1

, t

2

, t

3

, ...,t

k

 są termami, a f

n

k

 jest symbolem funkcyjnym, to f

n

k

(t

1

, t

2

, t

3

,

...,t

k

)  jest  termem,  np.  schemat  w  punkcie  4)  jest  termem  powstałym  z  symbolu

funkcyjnego f

1

2

, termu f

1

1

(x

1

) oraz stałej c

1

6)

 

dziedziny: niech H

1

, H

2

, H

3

, ... , reprezentują dowolne nazwy – dziedzinami  są dziedziny

deklarowane  (np.  standardowe)  oraz  jeśli  H

1

,  H

2

,  H

3

,  ...  ,  H

k

  są  dziedzinami,  ,  a  f

n

k

  jest

symbolem  funkcyjnym,  to  f

n

k

(H

1

,  H

2

,  H

3

,  ...,H

k

)  jest  dziedziną  wyznaczoną  przez  ten

symbol,  np.  jeŜeli  dziedzina  D

1

  reprezentuje  nazwę  „człowiek”,  a  dziedzina  D

2

  –  nazwę

                                                          

1

  NaleŜy  zauwaŜyć,  Ŝe  współcześnie  formalizacji  dokonuje  się  takŜe  np.  w  języku  diagramów,  tj.  sieci

semantycznych i przestrzeni rozwiązań, posiadających strukturę grafów skierowanych. Por. R. Kowalski, Logika
w rozwi
ązywaniu zadań, Warszawa 1989, s. 33.

background image

„miasto”,  natomiast  symbol  funkcyjny  f

1

2

  reprezentuje  zwrot  „...  mieszkający  w  ...”,  to

f

1

2

(D

1

,D

2

)  jest  dziedziną  reprezentującą  wyraŜenie  nazwowe  „  człowiek  mieszkający  w

mieście”

7)

 

deklaracja  symbolu  funkcyjnego:  niech  H

1

,  H

2

,  H

3

,  ...    są  dziedzinami  deklarowanymi

oraz  H  jest  dziedziną  róŜną  od  nich,  dalej  niech  f

n

k

  jest  symbolem  funkcyjnym,  wtedy

wyraŜenie H = f

n

k

(H

1

, H

2

, H

3

, ...,H

k

) nazywamy deklaracją symbolu funkcyjnego f

n

k

 ,

8)

 

deklaracja dziedzin: niech D

1

, D

2

, ..., D

k

 są dziedzinami standardowymi, a H

1

, H

2

, ..., H

n

pewnymi  ustalonymi  dziedzinami,  w  których  nie  występują  wymienione  dziedziny
standardowe,  wtedy  wyraŜenie  D

1

,  D

2

,  ...,  D

k

    =  H

1

;  H

2

;  ...;  H

n

    nazywamy  deklaracją

dziedzin D

1

, D

2

, ..., D

k

  i czytamy: dziedziny D

1

, D

2

, ..., D

k

 utoŜsamiamy z dziedzinami H

1

lub  H

2

 lub  ... lub  H

n

 ,

9)

 

deklaracja 

zewnętrznej 

dynamicznej 

bazy 

danych: 

deklaracja 

dziedzin

reprezentujących nazwy zewnętrznych w stosunku do tekstu zadania, zbiorów danych

10)

 

deklaracja miejsca danych w zewnętrznej bazie danych: deklaracja dziedziny miejsca
danej lub szukanej

11)

 

predykaty:  P

1

1

,  P

2

1

,  P

3

1

,  ...  ,  P

1

k

,  P

2

k

,  P

3

k

,  ...  ,  reprezentują  funktory  zdaniotwórcze,

tworzące z nazw albo zaimków wyraŜenia zdaniowe, jedno, ..., k-argumentowe, ..., np.

człowiek x

1

 mieszka w c

1

   P

1

2

(     f

1

1

(  x

1

   )    ,              c

1

)

12)

 

stałe  logiczne: 

¬

,  ⇒, 

=

,  reprezentują  odpowiednio  wymienione  spójniki

zdaniowe i  zwroty kwantyfikujące oraz identyczność.

13)

 

Znaki  techniczne:  nawiasy  i  przecinki  –  reprezentują  obszar  wiązania  przez  funktory
składników tekstu, np. jeśli w napisie „A 

  B 

  C”  nie umieścimy nawiasów (. ), to nie

wiadomo  czy  napis  ten  jest  schematem  jakiegokolwiek  zdania,  gdyŜ  nie  reprezentuje
wiedzy  o  tym,  które  ze  zdań  jest  tu  połączone  spójnikiem  „lub”,  a  które  spójnikiem  „i”,
chyba,  Ŝe  wcześniej  ustalimy  kolejność  łączenia  przez  spójniki  logiczne  (tzw.  siłę
wiązania);  napis  „(P

1

1

(c

1

      P

1

1

(x

1

)) 

  P

2

1

(c

2

)”    jest  schematem    jakiegoś  wyraŜenia

zdaniowego,

14)

 

 deklaracje predykatów: niech H

1

, H

2

, H

3

, ... , H

k

 są deklarowanymi dziedzinami, , a P

n

k

jest predykatem, to P

n

k

(H

1

, H

2

, H

3

, ...,H

k

) deklaracją predykatu,

15)

 

  formuły  atomowe:  niech  t

1

,  t

2

,  t

3

,  ...,t

k

  ,  t

n

  są  termami,  a  P

n

k

  jest  predykatem,  wtedy

P

n

k

(t

1

, t

2

, t

3

, ...,t

k

) jest formułą atomową,

16)

 

  formuły:  deklaracje  dziedzin,  deklaracje  predykatów,  formuły  atomowe  są  formułami,
niech A, i B są  formułami oraz t i h termami, wtedy formułami są 

¬

 (A), ( A) 

 (B) , (A)

 (B), (A) ⇒ (B), 

x

k

 (A), 

x

k

 (A) , t 

=

 h,

17)

 

  deklaracja  wewnętrznej  bazy  danych:  deklaracja  predykatów,  których  dziedziny  są
dziedzinami danych lub szukanych

18)

 

 formuły faktów -  formuły będące schematami faktów,

19)

 

 formuły ustaleń – formuły będące schematami ustaleń

20)

 

 formuły reguł -  formuły będące schematami odwołań

Uwaga.  RozróŜnienie:  wewnętrzna,    zewnętrzna  baza  danych  nie  jest  natury  czysto
technicznej,  lecz  związane  jest  ze  strukturą  wielu  tekstów  wyraŜonych  w  jakimś  języku

background image

wiedzy.  I  tak,  wiązanie  przez  predykaty  danych  z  szukanymi  określone  jest  powiązaniami
wewnątrz  tekstu,  natomiast  określenie  termów  jako  naleŜących  do  dziedziny  danych  lub
szukanych oraz ustalenie ich miejsca moŜe jedynie odbyć się na zewnątrz tekstu.

Formuły  poprawnie  zbudowane  nie  zawierające  dziedzin  nazywamy  formułami

rachunku kwantyfikatorów, a zbiory deklaracji związane z tymi formułami - środowiskiem
okre
śloności tych formuł  (environ).  Na formalizację analizy tekstu języka danej dziedziny
wiedzy  składają  się  więc  (w  nawiasach    podano  nazwy  tych  składników  w  języku  Turbo
Prolog):
1. Środowisko

E1.

Deklaracja dziedzin (DOMAINS), w tym zewnętrznej bazy danych

E2.

Deklaracja dynamicznej bazy danych (DATABASE)

E3.

Deklaracja predykatów (PREDICATES)

1.

 

Lista  ustaleń  (GOAL):    lista    (koniunkcja)  formuł  atomowych  w  których  występują
zmienne reprezentujące to co szukane

2.

 

Lista formuł  (CLAUSES)

F1.

Formuły faktów

F2.

Formuły reguł

W    formalizacji  tekstów  języka  danej  dziedziny  wiedzy  wykorzystuje  się  takŜe

następujące zasady schematyzacji:

Schemat 1.

Dowolna część wyraŜenia języka, która odnosi się do tej samej wiedzy ma ten

sam schemat.
Schemat 2.

KaŜda  schematyzacja  wyraŜenia  zdaniowego  poprzedzona  jest  deklaracjami

dziedzin i predykatów reprezentujących odpowiednio nazwy i funktory zdaniotwórcze wiąŜące
te nazwy w danym wyra
Ŝeniu zdaniowym. Przykład

 

x

2

x

3

      x

4

P

1

3

                                                P

1

3

JeŜeli jakaś osoba poŜyczy coś drugiej osobie, a ta poŜyczy to trzeciej, to trzecia osoba moŜe

to zwrócić pierwszej

P

2

3

x

1

Dziedziny:
D

1

 – osoba,

D

2

 – przedmioty poŜyczane/zwaracane,

Predykaty:
P

1

3

 - .... poŜyczy ..., ...,

P

2

3

 - .... zwróci ..., ...,

Deklaracje:
P

1

3

 (D

1

, D

2

, D

1

) – deklaracja reprezentuje wiedzę o tym, Ŝe osoba poŜycza przedmiot, osobie,

P

2

3

 (D

1

, D

2

, D

1

) - deklaracja reprezentuje wiedzę o tym, Ŝe osoba zwraca przedmiot, osobie,

Schemat przykładowego wyraŜenia zdaniowego ma postać

background image

P

1

3

 (D

1

, D

2

, D

1

 P

2

3

 (D

1

, D

2

, D

1

 ((P

1

3

 (x

1

, x

2

, x

3

 P

1

3

 (x

3

, x

2

, x

4

)) ⇒ P

2

3

 (x

4

, x

2

, x

1

))

     Środowisko 

Formuła

Schemat 3

Schematyzując  wyraŜenie,  te  same  nazwy  i  zaimki  nie  poprzedzone

bezpośrednio  zwrotami  kwantyfikującymi  oznaczamy  za  pomocą  tych  samych  symboli
zmiennych, a je
Ŝeli  poprzedzone  są  bezpośrednio  wyraŜeniami  kwantyfikującymi,  oznaczamy
je ró
Ŝnymi wcześniej nie występującymi zmiennymi.
Schemat 4

JeŜeli  w  prostym  wyraŜeniu  zdaniowym  (nie  zawierającym  spójników

zdaniowych)  nazwy  poprzedzone  są  bezpośrednio  zwrotami  kwantyfikującymi,  to  zwroty
kwantyfikuj
ące  wraz  z  nazwami  zastępujemy  róŜnymi,  wcześniej  nie  występującymi
zmiennymi,  a  stosowne  znaki  kwantyfikatorów  wraz  z  odpowiadaj
ącymi  im  zmiennymi
wypisujemy na pocz
ątku formuły zgodnie z porządkiem wykonywanej schematyzacji. Np.

KaŜdy matematyk jest uczniem pewnego matematyka

    x

1

 P

1

2

              

                   x

2

P

1

2

(D

1

, D

1

 

x

1

x

2

 P

1

2

(x

1

, x

2

)

Gdzie D

1

 jest dziedziną reprezentującą matematyków.

Schemat 5

We  wszystkich  schematach,  w  których  występują  kwantyfikatory,    kaŜdy

kwantyfikator  musi  wiązać  inną  zmienna,  np.  formuła   

x

1

  P

1

1

(x

1

   

  x

1

  P

1

1

(x

1

)  nie moŜe

być poprawnym schematem, ale formuła 

x

1

 P

1

1

(x

1

  

 x

2

 P

1

1

(x

2

moŜe nim być.

Uwaga.  W  formalizacji  stosowanej  zazwyczaj  w  logice  formalnej  dziedziny  zapisuje  się  w
postaci jednoargumentowych predykatów, np. zamiast P

1

2

(D

1

, D

2

 

x

1

x

2

 P

1

2

(x

1

, x

2

) moŜna

napisać: 

x

1

 (D

1

(x

1

) ⇒  

x

2

 (D

2

(x

2

 P12(x

1

, x

2

))), a w notacji teoriomnogościowej :

x

1

D

1

x

2

D

2

 P

1

2

(x

1

, x

2

).

MoŜna  takŜe  zmienne  odnoszące  się  do  róŜnych  dziedzin  oznaczać  w  róŜny  sposób,

np. w notacji teoriomnogościowej zbiory oznacza się duŜymi literami a ich elementy małymi.
ZłoŜoność uzyskanych napisów w tych schematyzacjach jest jednak znacznie większa  niŜ  w
proponowanej  wyŜej  metodzie,  dlatego  teŜ  ta  metoda  schematyzacji  przyjęła  się  w
programowaniu logicznym. 

Nie  wchodząc  w  szczegóły  programowania  logicznego  w  języku  Turbo  Prolog,

zauwaŜmy  na  zakończenie  tej  części  rozwaŜań,  Ŝe  program  komputerowy  napisany  w  tym
języku  reprezentuje  wiedzę  o  logicznej  analizie  zadania  jako  jednostki  tekstu,  analizie
ustalającej  logiczny  związek  pomiędzy  tym  co  jest  tematem  zadania  i  tym  co  jest  rematem
zdania, czy upraszczając: pomiędzy tym co jest dane, a tym co jest szukane. To spostrzeŜenie
jest silną motywacją do poczynienia pewnych uogólnień.

background image

1.7  Reprezentowanie  wiedzy  o  wartościach  logicznych  zdań  –  tabele
prawdziwo
ściowe

Dotąd  rozwaŜaliśmy  schematy  zdań  będące  reprezentacjami  wiedzy  o  tym,  w  jaki

sposób  zdania  złoŜone  są  zbudowane  ze  zdań  prostych.  Nie  interesowało  nas,  czy  zdanie
reprezentuje wiedzę o pewnym stanie rzeczy, czy teŜ nie, tzn., czy zdanie to jest prawdziwe
w pewnej dziedzinie wiedzy  (ma wartość logiczną prawdy), czy nie (ma wartość logiczną
fałszu). Nie była teŜ brana pod uwagę wiedza o tym, jaka jest zaleŜność pomiędzy wartością
logiczną  zdania  złoŜonego  utworzonego  przy  pomocy  spójników  ze  zdań  prostych  a
wartościami logicznymi tych zdań.

Aby  móc  reprezentować  tego  rodzaju  wiedzę,  wartości  prawdy  i  fałszu  oznaczymy,

odpowiednio, symbolami 1 i 0.

W  reprezentacji  standardowej,  będącej  wynikiem  formalizacji,  wiedza  o  zasadach

określania wartości logicznej  zdań  złoŜonych  jest  zazwyczaj  przedstawiana  za  pomocą  tabel
prawdziwościowych  ,  budowanych  dla  schematów  tych  zdań.  Tabele  prawdziwościowe  dla
formuł  są  wzorami,  według  których  określamy  wartość  logiczną  zdania  złoŜonego  w
zaleŜności od wartości zdań składowych:

A

B

¬

A

 B

 B

A ⇒ B

 B

0

0

1

0

0

1

1

0

1

1

1

0

1

0

1

0

0

1

0

0

0

1

1

0

1

1

1

1

Tab. 1

Formuły,  które  są  schematami  tylko  zadań  prawdziwych  nazywamy  tautologiami,  a

takie, które są schematami tylko zdań fałszywych nazywamy kontrtautologiami.

To  czy  formuła  jest  tautologią  czy  nie  moŜemy  sprawdzić  korzystając  z  tabel

prawdziwościowych. Np. kaŜda formuła postaci (A 

 (B 

 C)) ⇒ (

¬

C ⇒ A) jest tautologią,

gdyŜ  na  podstawie  tabel  prawdziwościowych  moŜna  wykazać,  Ŝe  przy  dowolnych
wartościach logicznych składowych A, B, C formuła reprezentuje zadanie prawdziwe (Tab. 2)
ZauwaŜmy,  Ŝe  na  podstawie  tabel  prawdziwościowych  dla  spójników  zdaniowych
dysponujemy następującą wiedzą:

 

formuła 

¬

A jest tautologią, gdy dowolne zdanie o schemacie A jest fałszywe, co oznacza,

Ŝ

e A jest kontrtautologią,

 

formuła A 

 B jest tautologią,  gdy w dowolnym zdaniu o schemacie A 

 B co najmniej

jedno ze zdań o schematach A, B jest prawdziwe, w szczególności, gdy jedna z formuł A
lub B jest tautologią,

 

formuła A 

 B jest tautologią, gdy w dowolnym zdaniu o schemacie A 

 B  oba  zdania

schematach A, B są prawdziwe, w szczególności, gdy obie formuły A i B są tautologiami,

 

formuła  A  ⇒  B  jest  tautologią,  gdy  w  dowolnym  zdaniu  o  schemacie  A  ⇒  B,  jeŜeli
zdanie  o  schemacie  A  jest  prawdziwe,  to  zdanie  o  schemacie  B  jest  prawdziwe,  w
szczególności, jeŜeli formuła A jest tautologią, to B jest teŜ tautologią,

 

formuła A 

 B jest tautologią, gdy w dowolnym zdaniu o schemacie A 

 B oba zdania

o schematach A, B mają tę samą wartość logiczną, w szczególności, gdy obie formuły A i
B są tautologiami lub kontrtautologiami,

background image

A

B

C

 C

¬

C

 (B 

 C

¬

 A

(A 

 (B 

 C)) 

 (

¬

 A)

0

0

0

0

1

0

0

1

1

0

0

0

1

0

1

1

0

1

0

1

1

0

0

1

1

1

0

1

1

1

1

1

0

0

1

1

0

0

1

1

1

0

1

1

0

1

1

1

0

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

Tab. 2

RozwaŜmy  teraz  formuły  poprzedzone  kwantyfikatorami.  Niech  A(x)  jest  dowolną
formułą, w której x jest jedyną zmienną wolną. Oznaczmy zbiór wszystkich zdań, których
schematem jest ta formuła przez P, gdy wszystkie zdnia tego zbioru są prawdziwe, przez
F, gdy są fałszywe, a przez T, gdy  niektóre zdania tego zbioru są prawdziwe, a niektóre
fałszywe.  Wiedzę  o  wartościach  logicznych  zdań,  których  schematem  jest  formuła

xA(x) lub formuła 

xA(x) reprezentuje tabela

A(x)

xA(x)

xA(x)

P

1

1

F

0

0

T

0

1

Tab. 3

Wiedzę reprezentowaną przez powyŜszą tabelę moŜemy teŜ sformułować następująco:

 

jeŜeli  formuła 

xA(x)  jest  schematem  zdania  prawdziwego,  to  formuła  A(x)  jest

schematem zdań wśród których kaŜde zdanie jest prawdzie, np. zdanie o schemacie A(c),
gdzie wybór termu c nie zaleŜy od formuły A(x), a jedynie od dziedziny argumentu x, jest
więc dowolny,

 

jeŜeli  formuła 

xA(x)  jest  schematem  zdania  prawdziwego,  to  formuła  A(x)  jest

schematem  zdań  wśród  których  co  najmniej  jedno  zdanie  jest  prawdzie,  np.  zdanie  o
schemacie A(c), gdzie wybór termu c zaleŜy od formuły A(x) i od dziedziny argumentu x,
a więc moŜe być dokonany tylko raz podczas formalizacji tekstu,

 

jeŜeli  formuła 

¬∀

xA(x)  jest  schematem  zdania  prawdziwego,  to  formuła 

¬

A(x)  jest

schematem  zdań  wśród  których  co  najmniej  jedno  zdanie  jest  prawdzie,  np.  zdanie  o
schemacie 

¬

A(c), gdzie wybór termu c zaleŜy od formuły A(x) i od dziedziny argumentu

x, a więc moŜe być dokonany tylko raz podczas formalizacji tekstu,

 

jeŜeli  formuła 

¬∃

xA(x)  jest  schematem  zdania  prawdziwego,  to  formuła 

¬

A(x)  jest

schematem  zdań  wśród  których  kaŜde  zdanie  jest  prawdzie,  np.  zdanie  o  schemacie

¬

A(c),    gdzie  wybór  termu  c  nie  zaleŜy  od  formuły  A(x),  a  jedynie  od  dziedziny

argumentu x, jest więc dowolny,

Wykorzystując  powyŜszą  wiedzę,  sprawdzanie  czy  schemat  danego  zdania  jest  tautologią
moŜna dokonywać na dwa sposoby:
1.

 

zbadać,  czy  wartość  logiczna  prawdziwego  zdania  złoŜonego  o  danym  schemacie  nie
zaleŜy od wartości logicznej zdań składowych – jest sprawdzanie wprost,

background image

2.

 

zbadać, czy załoŜenie, Ŝe zdanie złoŜone o danym schemacie ma wartość logiczną fałszu,
moŜe prowadzić do sytuacji, w której zdanie przyjmuje dwie róŜne wartości logiczne czy
teŜ,  w  której  pewne  zdanie  i  jego  negacja  są  jednocześnie  prawdziwe  lub  jednocześnie
fałszywe, tzn. zachodzi sprzeczność – jest to sprawdzanie nie wprost.

ZauwaŜmy,  Ŝe  sprawdzanie  tautologiczności  bazuje  na  wnioskowaniu,  a  opisane  zasady
sprawdzania moŜna precyzyjniej przedstawić w postaci następujących schematów:

(NN)

 

A

A

¬¬

      (K)     

     

A

B

A

(NK)      

B

A

B

A

¬

¬

¬

|

)

(

(A)

 

    

B

A

B

A

|

(NA)      

A

B

A

¬

¬

)

(

(C)

 

        

B

A

B

A

|

¬

(NC)       

B

A

B

A

¬

¬

)

(

(EX)

  

)

(

)

(

c

A

x

xA

(NEX)        

)

(

)

(

x

A

x

xA

¬

¬∃

(ALL)

  

)

(

)

(

c

A

x

xA

(NALL)       

)

(

)

(

c

A

Ax

x

¬

¬∀

Gdzie znak „|” oznacza rozgałęzienie wywodu, a ograniczenia nałoŜone na  term  są  takie

jak poprzednio.

Logicy w XX w. wykazali, Ŝe zaprezentowana tu wiedza o formalizacji tekstów języków

dziedzin  wiedzy  jest  wystarczająca  do    sprawdzenia  nie  wprost  czy  dowolna  formuła  jest
tautologią,  jest  to  tzw. 

metoda  tabel  analitycznych.  Metoda  ta  jest  takŜe  skuteczna  do

badania  poprawności  rozumowań  prezentowanych  w  tekstach  wyraŜających  wiedzę  z
dowolnych  dziedzin  oraz  do  określenia  szerokiej  klasy  formuł  (tzw. 

klauzul  hornowskich),

dla  których  moŜliwa  jest  automatyzacja    rozumowań  przez  komputery.    Tak  rozumiana
automatyzacja jest przedmiotem programowania logicznego.

1.8 Elementy logicznej teorii tekstu

Podsumowując  rozwaŜania  dotyczące  formalizacji  naszkicujemy,  podając  listę

stosownych definicji, aparat pojęciowy umoŜliwiający sformułowanie logicznej teorii tekstu.
Przez  wiedzę  będziemy  rozumieć,  jak  poprzednio,  informację  przetwarzaną  przez  umysł
człowieka,  a  przez  reprezentację  wiedzy,  przedstawianie  (kodowanie)  wiedzy  za  pomocą
róŜnorakich  środków  w  ramach  systemów  komunikacji  międzyludzkiej.  Reprezentacje
wiedzy  są  więc  tekstami.  Zrelatywizowanie  reprezentacji  wiedzy  do  dziedzin  wiedzy
prowadzi  do  wyodrębnienia   

tekstowych  dziedzin  wiedzy,  a  wyraŜanie  tych  tekstów  w

jakimś  języku,  do  wyodrębnienia 

języka  dziedziny  wiedzy.  Gdy  wszystkie  równokształtne

background image

teksty reprezentują tę samą wiedzę ( w szczególności są pusto spełnione), a równokształtność
jest  kongruencją  w  tekstowej  dziedzinie  wiedzy,  to  tekstową  dziedzinę  wiedzy  nazywamy
systemem reprezentacji wiedzy.

Definicja 1
Strukturę  relacyjną  < 

U,  U

0

ε

R>  nazywamy  tekstową  dziedziną  wiedzy,  gdy  U  jest

niepustym  zbiorem  wszystkich  tekstów  reprezentujących  wiedzę  z  pewnej  dziedziny, 

U

0

  –

wyróŜnionym  niepustym  podzbiorem  zbioru 

U  zwanym    bazą  tekstową, 

ε

  jest  relacją

częściowego  porządku określoną na zbiorze 

zwaną relacją zawierania się tekstów, a R jest

ustalonym zbiorem relacji określonych w 

U zwanych relacjami nawiązywania tekstów.

Definicja 2
Niech 

TDW = < UU

0

ε

R> jest tekstową dziedziną wiedzy.

(a)

 

Dwa teksty  

α

,

β∈

U są  równokształtne,  gdy  struktury  relacyjne  powstałe  przez  obcięcie

systemu 

TDW odpowiednio do zbiorów {t

:  t 

ε

 

α

}, {t

:  t 

ε

 

β

} wszystkich tekstów

zawartych  w tekstach 

α

,

β

 są izomorficzne oraz części  tekstu 

α

 pozostają w tych samych

relacjach   w systemie 

TDW co ich obrazy izomorficzne zawarte w tekście 

β

.

(b)

 

Tekst 

α

 jest

 wyprowadzalny ze zbioru tekstów X

U, co zapisujemy X |- 

α

, gdy istnieje

taki  tekst 

β

, zwany 

wyprowadzeniem  tekstu 

α

  ze  zbiory  X,  i  istnieje    taki  ciąg  tekstów

α

1

α

2

, ..., 

α

n

 

 

U, Ŝe spełnione są warunki

(1)

 

teksty  

α

1

α

2

, ..., 

α

n

 zawarte są w tekście 

β

,

(2)

 

α

n

 =  

α

,

(3)

 

dla dowolnych i

n:  bądź 

α

i

 

 X, bądź istnieją takie i

1

, i

2

, ..., i

k

 < i oraz istnieje taka

relacja  r 

 

R, Ŝe  <

α

i1

α

i2

, ..., 

α

ik

,, 

α

i

 r

(4)

 

β

 jest najmniejszym tekstem w <

U

ε

 > spełniającym warunki (1)-(3).

(c)

 

Ramą zbioru tekstów X

nazywamy zbiór Fr(X) = {

α∈

U : X |- 

α

 }

(d)

 

Poprawnie zbudowanymi nazywamy teksty naleŜące do zbioru Fr(U

0

).

(e)

 

Dla dowolnych tekstów 

α

β

 

U,

α

 

 

β

  wttw istnieje taki zbiór X tekstów, Ŝe 

β

 

 X i X |- 

α

, napis „

α

 

 

β

” czytamy:  

α

nawiązuje do 

β

, lub  

α

  

jest następnikiem 

β

,

(f)

 

Dla dowolnego tekstu 

α∈

U, zbiór Ex(

α

) = {t

:  t 

ε

 

α

} nazywamy 

budową tekstu 

α

.

(g)

 

Tekst 

β

 jest 

rematem tekstu 

α

  wttw 

β

 

 

Fr(U

0

), 

α

  

 

β

β

 

 

Ex(

α

) oraz nie istnieje taki

tekst   t

 

Ex(

α

), Ŝe t

≥β

.

(h)

 

Tekst t jest 

tematem tekstu 

α

  wttw t 

 

Fr(U

0

), 

α

  

 t, t 

 

Ex(

α

) oraz kaŜdy następnik t

naleŜący do 

Ex(

α

) jest rematem 

α

.

(i)

 

Dowolny  tekst    nazywamy 

jednostką  tekstu,    gdy  posiada  w  swojej  budowie  rematy  i

tematy  oraz  gdy  ze  zbioru  wszystkich  tematów  tego  tekstu  wyprowadzalny  jest  kaŜdy  z
rematów.

ZauwaŜmy,  Ŝe  dowolne  wyprowadzenie  tekstu  poprawnie  zbudowanego  jest  jednostką

tekstu. WaŜne jest takŜe stwierdzenie, Ŝe dla dowolnej tekstowej dziedziny wiedzy

 TDW, w

której  wszystkie  równokształtne  teksty  reprezentują  tę  samą  wiedzę,  eŜeli  relacja  „~”
równokształtności  tekstów  jest  kongruencją  w 

TDW,  to  struktura  ilorazowa  TDW/~  jest

takŜe  tekstową  dziedziną  wiedzy.  Uzasadnione  jest  więc  sformułowanie  następującej
definicji:

background image

Definicja 3
Niech w tekstowej dziedzinie  wiedzy

  TDW  wszystkie  równokształtne  teksty  reprezentują  tę

sama  wiedzę,  a  relacja  „~”  równokształtności  tekstów  jest  kongruencją  w 

TDW.  Wtedy

strukturę  ilorazową 

TDW/~  nazywamy  systemem  reprezentacji  wiedzy,  relacje

nawiązywania  nazywamy 

relacjami  konkatenacji,  a  o  wyprowadzeniu  danego  tekstu

mówimy,    Ŝe  jest 

konkatenacją  pewnego  ciągu  tekstów  określonego  przez  definicję

wyprowadzenia tekstu. Tekstami są 

typy tekstów równokształtnych.

Przyjmijmy  dalej,  Ŝe 

wiedza  logiczna  odnosi  się  do  przetwarzania  informacji  we

wszechświecie  określającej  ogólną  budowę,  cechy,  przyporządkowania  obiektów
odnoszących się do danej dziedziny wiedzy  oraz relacje pomiędzy tymi obiektami .

Definicja 4
Język,  w  którym  przedstawiamy  schematycznie,  za  pomocą  schematów,  tj.  formuł,  wzorów,
planów, diagramów itp., wiedzę logiczną nazywamy 

językiem sformalizowanym. Język ten

jest  określony  przez  cztery  zbiory  symboli  <  Al.,  Tr,  Fm,  W>,  Al  jest 

alfabetem,  Tr  –

zbiorem 

termów,  Fm  –  zbiorem  formuł,  a  W  jest  rodziną  zbiorów  formuł  takich,  Ŝe  do

kaŜdego z tych zbiorów naleŜą formuły reprezentujące wiedzę o tej samej 

wartości logicznej.

Alfabet składa się z ze 

stałych  i  zmiennych indywiduowych, będących zarazem termami,

symboli funkcyjnych – wiąŜących stałe i zmienne w termy, predykatów – wiąŜących stałe i
zmienne  w  formuły, 

spójników  –  wiąŜących  formuły  w  inne  formuły,  kwantyfikatorów  –

wiąŜących  zmienne  i  formuły  w  inne  formuły  oraz  symboli  pomocniczych  (np.  nawiasów,
ramek, kropek, linii, strzałek itd.).

Przykładem  języka  sformalizowanego  jest  język  będący  wynikiem  formalizacji

(schematyzacji) języka dowolnej dziedziny wiedzy.

Definicja 5
Systemem  reprezentacji  wiedzy  logicznej
  nazywamy  system  reprezentacji  wiedzy,  w
którym zbiorem tekstów bazowych jest zbiór wszystkich symboli języka sformalizowanego, a
zbiór relacji konkatenacji pozwala
1)

 

wyróŜnić wszystkie 

składniki języka sformalizowanego,

2)

 

wyprowadzić 

formuły poprawnie zbudowane,

3)

 

tworzyć 

teksty  wywodów  prowadzących  od  formuł  o  określonej  wartości  logicznej  do

formuł  o  określonej  wartości  logicznej  (niezmienniczość  wartości  logicznych  względem
wywodów).

Systemy iteracyjne

P

atrząc z poziomu informatyki zauwaŜamy, Ŝe korzystanie ze środków informatycznych, czy

systemów  multimedialnych,  algorytmiczny  charakter  ich  uŜycia  uświadamiane  są  jako
wielokrotnie powtarzalne i odtwarzalne działania jednakowych dla wszystkich, uniwersalnych
mechanizmów-organizacji  wiedzy,  czy  teŜ  jako  swoiste  systemy    interaktywnych  procesów
psychofizycznych określających komunikację człowieka z człowiekiem, człowieka z maszyną
i  człowieka  z  przyrodą.  W  tym  sensie  środki  informatyczne  (systemy  multimedialne)  są
pewnymi  systemami  iteracji.  Ma  to  kardynalne  znaczenia  dla  prawidłowego  kształtowania
pojęć  informatycznych,  wskazuje  bowiem  na  to,  Ŝe

  kaŜde  zadanie  informatyczne

background image

wykonywane  jest  w  określonym  systemie  iteracji.  Powrócimy  do  tego  aspektu  edukacji
informatycznej w dalszych rozdziałach

Definicja
Dowolną dziedzinę tekstową wiedzy

 nazywamy systemem iteracyjnym, gdy kaŜdy tekst w tej

dziedzinie  jest  wyprowadzalny  z  tekstów  wzorcowych  (elementarnych)

.  Procedurą  jest

dowolna dziedzina tekstowa wiedzy ograniczona do wszystkich tekstów zawartych w pewnym
tek
ście. JeŜeli tekst jest wyprowadzeniem tekstu T to mówimy Ŝ

procedura jest niezawodna

dla T, w przeciwnym wypadku, Ŝe jest zawodna.

Definicja
Zbiorem procedur w danym systemie iteracji  jest najmniejszy zbiór do którego naleŜą:
1.

 

Procedury relacyjne (wyprowadzenia z uŜyciem relacji nie będącymi operacjami),

2.

 

Procedury operacyjne (wyprowadzenia z uŜyciem operacji),

3.

 

Ciągi procedur,

4.

 

Układy trzech procedur, postaci 

jeŜeli (procedura relacyjna wyprowadzenia 

α

, procedura

pierwsza,  procedura  druga),  reprezentujące  wykonanie  procedury  pierwszej,  gdy
procedura relacyjna wyprowadzenia 

α

  nie zawodzi, a drugiej, gdy zawodzi.

5.

 

Układy  dwóch  procedur  zwane 

procedurami  iteracyjnymi,  postaci  powtarzaj(procedura

relacyjna,  dana  procedura),  określające  osiągalność  kaŜdego  stanu  wyprowadzonego
przez  kolejne  stosowanie  tej  samej  procedury  wyprowadzenia  –  dopóki  procedura
relacyjna nie zawodzi wykonywana jest dana procedura.

Nazwa  „procedura  iteracyjna”  jest    uzasadniona  tym,  Ŝe    procedura  ta  jest  wtedy
wykonywana, gdy spełniony jest warunek wyprowadzalności (rys.)

Rys. 1.5  Schemat blokowy procedury iteracyjnej

Programowanie operacyjne a programowanie logiczne

MoŜna wyróŜnić trzy konkurencyjne a zarazem współzaleŜne sposoby formalnej reprezentacji
procedur:
1)

 

reprezentacja ikoniczna – schematy blokowe, grafy, diagramy, drzewa, itp.

Czy
procedura
niezawodzi?

Procedura

tak

nie

background image

2)

 

reprezentacja symboliczna – języki programowania: strukturalne, logiczne, obiektowe,
wizualne.

3)

 

reprezentacja enaktywna  -  tabele decyzyjne, arkusze kalkulacyjne, bazy danych,
symulacje.

Pierwszy sposób reprezentacji  jest  zarazem  pierwszym  etapem  formułowania  algorytmu:

precyzyjnym  zobrazowaniem  algorytmu.  Drugi  sposób,  to  opis  algorytmu  w  jakimś  języku
sformalizowanym,  a  trzeci  sposób  to  symulacja  działania  algorytmu.  Przez 

problem

informatyczny  rozumie  się  przejście  od  reprezentacji  ikonicznej  do  reprezentacji
symbolicznej. Rozwiązanie tego problemu umoŜliwia określenie reguł, których zastosowanie
pozwala dokonać symulacji realizacji algorytmu.

Sformalizowany  język  (zdefiniujemy  go  dalej),  w  którym  wyraŜamy  procedury

realizowane w pewnym systemie iteracji nazywamy 

językiem programowania, a wyraŜenia

odpowiadające  procedurom 

programami.  Są  dwa  typy  języków  programowania:  pierwszy

tworzy  się  na  bazie  reprezentacji  procedur  operacyjnych,  a  drugie  na  bazie  procedur
relacyjnych.

Programy reprezentujące procedury operacyjne określamy następująco:
S jest zbiorem programów realizowanych w systemie rzeczywistości Re wtedy i tylko

wtedy, gdy jest najmniejszym spośród zbiorów 

S’ spełniającym następujące warunki:

(i)

 

podzbiorem 

S’ jest zbiór wszystkich podstawień termu t za zmienną indywiduową x,

postaci 

x:= t

2

,

(ii)

 

jeśli 

α

 jest formułą logiczną spełnioną w danym systemie rzeczywistości 

Re oraz K,M,

K

1

, K

2

, ..., K

n

,, dla dowolnych n>0, naleŜą  do 

S’, to  wyraŜenia:

begin K

1

; K

2

,; ..., K

n

 

end        (odpowiada ciągowi procedur),

if 

α

 

then K else M                   (odpowiada procedurze typu jeŜeli...),

while 

α

 

do K                            (odpowiada procedurze iteracyjnej),

naleŜą do 

S’.

Programy  określone  na  bazie  procedur  relacyjnych  są  deklaracjami  procedur

relacyjnych,  tj.  formułami  określonymi  przez  preneksyjne  postacie  normalne  koniunkcyjno-
alternatywne formuł logicznych (wszystkie kwantyfikatory występują na zewnątrz formuły o
postaci normalnej). Wykorzystuje się tu metodę znaną w logice pierwszego rzędu, wyciągania
kwantyfikatorów przed formułę, sprowadzenia formuły do postaci kanonicznej koniunkcyjno
alternatywnej,  a  następnie  rozszerzenia  języka  o  symbole  funkcyjne  pozwalające  usunąć
kwantyfikatory  egzystencjalne.  Deklaracje  procedur  moŜna  wyrazić  za  pomocą  ciągów
zbiorów  deklaracji  tych  relacji  lub  negacji  ich  deklaracji,  zwanych 

klauzulami,  a

programowanie  w  języku  klauzul  (np.  język  PROLOG)

3

  nazywamy 

programowaniem

logicznym.  Zdefiniujemy  teraz  bardziej  precyzyjnie  składnię    języka  klauzul.  Najbardziej
dogodnym zapisem  klauzul jest zapis postaci

B

1

, B

2

, ..., B

m   

:-   A

1

, A

2

, ..., A

n

Gdzie znak „:-„ czytamy: 

jeśli, przy czym B

1

, B

2

, ..., B

m

, A

1

, A

2

, ..., A

są formułami

atomowymi, n ≥ 0 i m ≥ 0. Formuły atomowe A

1

, A

2

, ..., A

stanowią koniunkcję 

warunków

klauzuli,  a  B

1

,  B

2

,  ...,  B

m

–  alternatywę 

konkluzji.  Spośród  klauzul  wyróŜnia  się  klauzule

hornowskie postaci

B

   

:-   A

1

, A

2

, ..., A

n

                                                          

2

 Symbol  „:=” jest niekiedy w podręcznikach nazywany symbolem przypisania. Niestety jest to myląca nazwa,

sugerująca  uczniowi  jakoby  przypisanie    było  czymś  innym  niŜ  podstawienie.  Tym  bardziej,  Ŝe  operację
podstawienia zna on świetnie z lekcji matematyki.

3

 R. Kowalski, Logika w rozwiązywaniu zadań, WNT, Warszawa 1989.

background image

Jeśli klauzula zawiera zmienne x

1

, ..., x

k

, naleŜy ja interpretować jako stwierdzenie, Ŝe

dla wszystkich x

1

, ..., x

k

 :  B

1

 lub ... lub B

m

    jeśli    A

1

 i ... i A

n

.

Jeśli  n  =  0,  klauzulę  naleŜy  interpretować  jako  bezwarunkowe  stwierdzenie,  Ŝe  dla

wszystkich x

1

, ..., x

k

 :   B

1

 lub ... lub B

m

 .

Jeśli  m  =  0,  klauzulę  naleŜy  interpretować  jako  stwierdzenie,  Ŝe  dla  wszystkich

x

1

, ..., x

k

  nieprawda, Ŝe zachodzi A

1

 i ... i A

n

.

Jeśli m = n = 0, klauzulę zapisuje się w postaci   (klauzula pusta) i interpretuje jako

zdanie zawsze fałszywe.

Atom  (lub  formuła  atomowa)  to  wyraŜenie  postaci:    R  (t

1

,  ...,  t

m

),  przy  czym  R  jest

m-argumentowym symbolem relacyjnym,  t

1

, ..., t

m

  są termami oraz  m ≥ l.

Atom  naleŜy  interpretować  jako  stwierdzenie,  Ŝe  relacja  o  nazwie  R  zachodzi  między
indywiduami o nazwach t

1

, ..., t

m

.

Term  jest  zmienną,  stałą  lub  wyraŜeniem  postaci  f  (t

1

,  ...,  t

m

),  przy  czym  f    jest

m - argumentowym symbolem funkcyjnym, t

1

, ..., t

m

  są termami oraz m ≥ l. .

Zbiory  symboli  relacyjnych,  symboli  funkcyjnych,  stałych  i  zmiennych  mogą  być

dowolnymi zbiorami wzajemnie rozłącznymi. Przyjmiemy konwencję, w której małe litery
u, v, w, x, y, z oznaczają zmienne. Znaczenie innego rodzaju symboli moŜna rozpoznać po ich
pozycji w klauzuli.

Symbol  implikacji  w  języku  klauzul  jest  skierowany  w  kierunku  odwrotnym  niŜ  w

klasycznym języku logiki. Przyzwyczajenie kaŜe pisać raczej:  A :- B  (jeśli A to B), a nie
B  :-  A      (B  jeśli  A).  JednakŜe  róŜnica  jest  nieistotna.  Notację:    B  :-  A    stosuje  się  w  celu
wyeksponowania konkluzji klauzuli.