Definice syntaxe a sémantiky Predikátové logiky: Porovnání verzí

m
Řádek 9: Řádek 9:
 
<br />
 
<br />
  
==== '''Proměnné''' ====
+
===='''Proměnné'''====
  
==== Proměnných je neomezeně mnoho. Označují se malými písmenky x,y,z,x<sub>1</sub>,y<sub>1</sub>....Jedná se o klasické chápání proměnných z nižší matematiky. ====
+
====Proměnných je neomezeně mnoho. Označují se malými písmenky x,y,z,x<sub>1</sub>,y<sub>1</sub>....Jedná se o klasické chápání proměnných z nižší matematiky.====
  
=== <u>'''Symboly pro relace-''' funkční a predikátové</u> ===
+
===<u>'''Symboly pro relace-''' funkční a predikátové</u>===
 
Každý symbol pro relace má přiřazenu aritu (četnost, čili počet operandů). Hodnota arity představuje počet operandů (tj. kolika operandů se funkční operace, vlastnost nebo vztah týká). Operátory s jedním operandem nazýváme unární, operátory se dvěma operandy binární, se třemi ternární, atd.
 
Každý symbol pro relace má přiřazenu aritu (četnost, čili počet operandů). Hodnota arity představuje počet operandů (tj. kolika operandů se funkční operace, vlastnost nebo vztah týká). Operátory s jedním operandem nazýváme unární, operátory se dvěma operandy binární, se třemi ternární, atd.
  
Řádek 33: Řádek 33:
 
vztah "být větší než"
 
vztah "být větší než"
  
==== '''Termy''' ====
+
===='''Termy'''====
 
Je výraz jazyka prvního řádu, který má svůj význam- popisuje individua. Jedná se o proměnné, konstanty a výsledky funkcí (operací).
 
Je výraz jazyka prvního řádu, který má svůj význam- popisuje individua. Jedná se o proměnné, konstanty a výsledky funkcí (operací).
  
Řádek 46: Řádek 46:
 
<br />
 
<br />
  
==== '''Atomické formule''' ====
+
===='''Atomické formule'''====
 
Atomická formule je predikátový symbol P aplikovaný na tolik termů, kolik je jeho arita. Jinými slovy, je-li arita predikátového symbolu  
 
Atomická formule je predikátový symbol P aplikovaný na tolik termů, kolik je jeho arita. Jinými slovy, je-li arita predikátového symbolu  
  
 
P číslo n a t1, t2,...,tn je n-tice termů, pakP(t1,t2,...,tn) je atomická formule.<ref>[http://math.feld.cvut.cz/demlova/teaching/dml/pred03.pdf]</ref>
 
P číslo n a t1, t2,...,tn je n-tice termů, pakP(t1,t2,...,tn) je atomická formule.<ref>[http://math.feld.cvut.cz/demlova/teaching/dml/pred03.pdf]</ref>
  
==== '''Formule''' ====
+
===='''Formule'''====
 
Jsou tvrzení o individuích a jsou definovány induktivně těmito pravidly:
 
Jsou tvrzení o individuích a jsou definovány induktivně těmito pravidly:
  
* Každá atomická formule je formule
+
*Každá atomická formule je formule
* Jsou-li P a Q formule, pak také (¬P),(P∧Q),(P∨Q),(P⇒Q),(P⇔Q) jsou opět formule.
+
*Jsou-li P a Q formule, pak také (¬P),(P∧Q),(P∨Q),(P⇒Q),(P⇔Q) jsou opět formule.
* Je-li x proměnná a P formule, pak ( ∃x)P a (∀x)P jsou formule
+
*Je-li x proměnná a P formule, pak ( ∃x)P a (∀x)P jsou formule
* Konečná posloupnost symbolů jazyka predikátové logiky je formule. Nic, co nevzniklo pomocí konečně mnoha použití bodů 1 až 3, není formule.
+
*Konečná posloupnost symbolů jazyka predikátové logiky je formule. Nic, co nevzniklo pomocí konečně mnoha použití bodů 1 až 3, není formule.
  
 
Díky induktivnímu definování,  lze tvořit libovolně složité formule tak, že opakovaně aplikujeme uvedená pravidla.
 
Díky induktivnímu definování,  lze tvořit libovolně složité formule tak, že opakovaně aplikujeme uvedená pravidla.
Řádek 66: Řádek 66:
 
Například:
 
Například:
  
* formule  x+y= z je otevřená ale ne uzavřená
+
*formule  x+y= z je otevřená ale ne uzavřená
* formule (∀x) ( ∃y) (x+y=xy) je uzavřená ale ne otevřená
+
*formule (∀x) ( ∃y) (x+y=xy) je uzavřená ale ne otevřená
* formule (∀x) (x<y) není ani otevřená ani uzavřená
+
*formule (∀x) (x<y) není ani otevřená ani uzavřená
* formule  0+0= 0 je otevřená i uzavřená<ref>[https://cs.wikipedia.org/wiki/Formule_(logika)#Atomick%C3%A1_formule]</ref>
+
*formule  0+0= 0 je otevřená i uzavřená<ref>[https://cs.wikipedia.org/wiki/Formule_(logika)#Atomick%C3%A1_formule]</ref>
  
 
<br />
 
<br />
  
== Sémantika predikátové logiky ==
+
==Sémantika predikátové logiky==
  
  
Sémantika nebo-li význam formulí  a jejich pravdivost je dána interpretací. Pokud například chceme vědět jestli je daná formule pravdivá nebo ne, musíme vědět co formule znamená/jak je interpretována.   
+
Sémantika nebo-li význam formulí  a jejich pravdivost je dána interpretací. Pokud například chceme vědět jestli je daná formule pravdivá nebo ne, musíme vědět co formule znamená/jak je interpretována
 +
 
 +
Interpretace formule spočívá v ustanovení "o čem mluvíme". Důležité je tedy stanovení '''universa''' (tedy o jaké předmětné oblasti mluvíme) s jeho prvky- '''individui'''.   
  
 
Interpretační pravidla jsou v predikátové logice poněkud složitější; zatímco ve výrokové logice je potřeba interpretovat jen logické spojky a výrokové proměnné, v predikátové logice musíme interpretovat - specifikovat význam pro:
 
Interpretační pravidla jsou v predikátové logice poněkud složitější; zatímco ve výrokové logice je potřeba interpretovat jen logické spojky a výrokové proměnné, v predikátové logice musíme interpretovat - specifikovat význam pro:
  
* logické spojky          
+
*logické spojky     ¬,⇒, ⇔,∧,∨
* individuální proměnné x, y,
+
*individuální proměnné x, y... (Individuálním proměnným je přiřazena neprázdná množina "n" individuí jako jejich definiční obor hodnot. Všechny individuální proměnné mají tutéž interpretaci.)
* predikátové proměnné - symboly P  <sup>1</sup>(x), Q  <sup>2</sup>(x, y),
+
*predikátové proměnné - symboly P  <sup>1</sup>(x), Q  <sup>2</sup>(x, y)... (Predikátové proměnné jsou interpretovány tak, že je jim přiřazena, jako obor hodnot, jistá neprázdná třída logických funkcí)
* kvantifikátory  ∀ ,   ∃.
+
*kvantifikátory  ∀ ,   ∃
 +
 
 +
 
 +
<u>Interpretační pravidla</u>- sémantických interpretačních pravidel, které dávají návod, jak správně interpretovat a vypočíst hodnotu.
 +
 
 +
# Individuálním proměnným je přiřazena neprázdná množina "n" individuí jako jejich definiční obor hodnot. Všechny individuální proměnné mají tutéž interpretaci.
 +
# Individuální proměnná x má hodnotu, kterou po jejím udělení,  zapíšeme ve tvaru a  →v
 +
# Jestliže A má hodnotu 1, pak ¬A má hodnotu 0 a obráceně. Dále platí následující interpretace zbývajících logických spojek:
 +
 
 +
{| class="wikitable"
 +
|+
 +
|''A''
 +
|''B''
 +
|''A∧B''
 +
|''A∨B''
 +
|''A⇒B''
 +
|''A⇔B''
 +
|-
 +
|0
 +
|0
 +
|0
 +
|0
 +
|1
 +
|1
 +
|-
 +
|1
 +
|0
 +
|0
 +
|1
 +
|0
 +
|0
 +
|-
 +
|0
 +
|1
 +
|0
 +
|1
 +
|1
 +
|0
 +
|-
 +
|1
 +
|1
 +
|1
 +
|1
 +
|1
 +
|1
 +
|}
 +
4.  Jestliže výraz A neobsahuje žádný volný výskyt proměnné , potom výrazy (∀ ) A , ( ) A mají pro dané udělení hodnot tutéž hodnotu, kterou má pro toto udělení výraz A sám.
  
 +
5. Nechť x  je individuální proměnná a A libovolný výraz. Kvantifikátor ( ∀x ) A má pro dané udělení hodnot volným proměnným výrazu A hodnotu pravda, právě když (pro toto udělení hodnot) má výraz A hodnotu pravda pro všechny hodnoty proměnné x .
  
Interpretace formule spočívá v ustanovení "o čem mluvíme". Důležité je tedy stanovení '''universa''' (tedy o jaké předmětné oblasti mluvíme) s jeho prvky- '''individui'''.  
+
6. Nechť x je individuální proměnná a A libovolný výraz. Kvantifikátor (∃x) A má pro dané udělení hodnot volným proměnným výrazu A hodnotu pravda, právě když (pro toto udělení hodnot) má výraz A hodnotu pravda aspoň pro některou hodnotu proměnné x.
  
 +
7. Jestliže výraz A neobsahuje žádný volný výskyt proměnné x , potom výrazy (∀x) A , (∃x) A mají pro dané udělení hodnot tutéž hodnotu, kterou má pro toto udělení výraz A sám.
  
*
 
  
Výrok Praha je krásné  město.
 
Stanovíme si, že s vlastností "být krásným městem" spojíme predikát "K" a jako symbol pro Prahu určíme "p", větu pak formálně zapíšeme takto: ''K(p)''
 
  
Martin má rád Jitku
+
<br /><references />
Obdobně jako v předchozím příkladu označíme Martina symbolem "m" a Jitku "j". Binární predikát (tedy vlastnost) označíme symbolem "R" . Celou větu pak zapíšeme jako R(m,j)
 
<references />
 

Verze z 10. 5. 2020, 11:15

Predikátová logika

Výroková logika se zabývala pravdivostí jednoduchých tvrzení, která byla spojena logickými operátory (spojkami). Predikátová logika toto trochu rozšiřuje, neboť zkoumá vlastnosti a vztahy prvků daných množin. Jinými slovy si všímá i struktury vět samotných a obsahuje predikáty a kvantifikátory. Rozlišuje individua, o kterých se něco predikuje (tvrdí) a predikát je chápán jako vlastnost nebo vztah.

[1]


Syntax predikátové logiky

Syntax nebo-li jazyk predikátové logiky se skládá z proměnných, konstant, relačních a funkčních symbolů, predikátů, kvantifikátorů, termů, atomických formulí a predikátových formulí.


Proměnné

Proměnných je neomezeně mnoho. Označují se malými písmenky x,y,z,x1,y1....Jedná se o klasické chápání proměnných z nižší matematiky.

Symboly pro relace- funkční a predikátové

Každý symbol pro relace má přiřazenu aritu (četnost, čili počet operandů). Hodnota arity představuje počet operandů (tj. kolika operandů se funkční operace, vlastnost nebo vztah týká). Operátory s jedním operandem nazýváme unární, operátory se dvěma operandy binární, se třemi ternární, atd.

Symboly pro relace lze rozdělit na:

funkční (operace)

Vyjadřují operace s objekty daného oboru. Operace mohou být sčítání, násobení aj. Funkční operace mají svojí "aritu", která je nezáporná. Hodnota arity představuje počet operandů (tj. kolika operandů se funkční operace týká). Operátory s jedním operandem nazýváme unární, operátory se dvěma operandy binární, se třemi ternární, atd.

predikátové (vztahy a vlastnosti)

Predikáty se označují predikátovými symboly a vypovídají o vlastnostech a vztazích mezi předměty určeného universa.Stejně jako funkční symboly, mají svoji aritu. Arita predikátových symbolů je vždy menší nebo rovna jedné. Unární predikáty popisují vlastnost, predikáty vyšší arity pak popisují vztahy (ve vztahu je vždy zapotřebí minimálně 2).


Příklady predikátů:

vlastnost "být kladným číslem"

vztah "být větší než"

Termy

Je výraz jazyka prvního řádu, který má svůj význam- popisuje individua. Jedná se o proměnné, konstanty a výsledky funkcí (operací).


Termy v predikátové logice definujeme:

  • Každá proměnná je term
  • Každá konstanta je term
  • Je-li F funkční symbol četnosti n a jsou-li t1... tn termy, pak také F(t1... tn) je term
  • Každý term vznikne konečný počtem aplikací předchozích pravidel (tedy nic jiného není term)[4]


Atomické formule

Atomická formule je predikátový symbol P aplikovaný na tolik termů, kolik je jeho arita. Jinými slovy, je-li arita predikátového symbolu

P číslo n a t1, t2,...,tn je n-tice termů, pakP(t1,t2,...,tn) je atomická formule.[2]

Formule

Jsou tvrzení o individuích a jsou definovány induktivně těmito pravidly:

  • Každá atomická formule je formule
  • Jsou-li P a Q formule, pak také (¬P),(P∧Q),(P∨Q),(P⇒Q),(P⇔Q) jsou opět formule.
  • Je-li x proměnná a P formule, pak ( ∃x)P a (∀x)P jsou formule
  • Konečná posloupnost symbolů jazyka predikátové logiky je formule. Nic, co nevzniklo pomocí konečně mnoha použití bodů 1 až 3, není formule.

Díky induktivnímu definování, lze tvořit libovolně složité formule tak, že opakovaně aplikujeme uvedená pravidla.


Formule může být otevřená a uzavřená. Pokud je formule otevřená, tak neobsahuje žádný kvantifikátor. Uzavřená je v případě, je-li každá proměnná, která v ní je obsazená kvantifikována (je na ní aplikován kvantifikátor ∃ nebo ∀). Uzavřená formule se také označuje jako sentence, výrok.

Například:

  • formule  x+y= z je otevřená ale ne uzavřená
  • formule (∀x) ( ∃y) (x+y=xy) je uzavřená ale ne otevřená
  • formule (∀x) (x<y) není ani otevřená ani uzavřená
  • formule  0+0= 0 je otevřená i uzavřená[3]


Sémantika predikátové logiky

Sémantika nebo-li význam formulí a jejich pravdivost je dána interpretací. Pokud například chceme vědět jestli je daná formule pravdivá nebo ne, musíme vědět co formule znamená/jak je interpretována.

Interpretace formule spočívá v ustanovení "o čem mluvíme". Důležité je tedy stanovení universa (tedy o jaké předmětné oblasti mluvíme) s jeho prvky- individui.

Interpretační pravidla jsou v predikátové logice poněkud složitější; zatímco ve výrokové logice je potřeba interpretovat jen logické spojky a výrokové proměnné, v predikátové logice musíme interpretovat - specifikovat význam pro:

  • logické spojky     ¬,⇒, ⇔,∧,∨
  • individuální proměnné x, y... (Individuálním proměnným je přiřazena neprázdná množina "n" individuí jako jejich definiční obor hodnot. Všechny individuální proměnné mají tutéž interpretaci.)
  • predikátové proměnné - symboly P  1(x), Q  2(x, y)... (Predikátové proměnné jsou interpretovány tak, že je jim přiřazena, jako obor hodnot, jistá neprázdná třída logických funkcí)
  • kvantifikátory  ∀ ,   ∃


Interpretační pravidla- sémantických interpretačních pravidel, které dávají návod, jak správně interpretovat a vypočíst hodnotu.

  1. Individuálním proměnným je přiřazena neprázdná množina "n" individuí jako jejich definiční obor hodnot. Všechny individuální proměnné mají tutéž interpretaci.
  2. Individuální proměnná x má hodnotu, kterou po jejím udělení, zapíšeme ve tvaru a  →v
  3. Jestliže A má hodnotu 1, pak ¬A má hodnotu 0 a obráceně. Dále platí následující interpretace zbývajících logických spojek:
A B A∧B A∨B A⇒B A⇔B
0 0 0 0 1 1
1 0 0 1 0 0
0 1 0 1 1 0
1 1 1 1 1 1

4. Jestliže výraz A neobsahuje žádný volný výskyt proměnné , potom výrazy (∀ ) A , ( ) A mají pro dané udělení hodnot tutéž hodnotu, kterou má pro toto udělení výraz A sám.

5. Nechť x  je individuální proměnná a A libovolný výraz. Kvantifikátor ( ∀x ) A má pro dané udělení hodnot volným proměnným výrazu A hodnotu pravda, právě když (pro toto udělení hodnot) má výraz A hodnotu pravda pro všechny hodnoty proměnné x .

6. Nechť x je individuální proměnná a A libovolný výraz. Kvantifikátor (∃x) A má pro dané udělení hodnot volným proměnným výrazu A hodnotu pravda, právě když (pro toto udělení hodnot) má výraz A hodnotu pravda aspoň pro některou hodnotu proměnné x.

7. Jestliže výraz A neobsahuje žádný volný výskyt proměnné x , potom výrazy (∀x) A , (∃x) A mají pro dané udělení hodnot tutéž hodnotu, kterou má pro toto udělení výraz A sám.