Iskaz, sud, propozicija, eng. proposition, su sve sinonimi i odnose se na isto. Koristićemo reč iskaz.
Iskaz je rečenica kojom se nešto tvrdi ili poriče. Iskaz ima istinitosnu vrednost kao svoju glavnu osobinu. Istinitosna vrednost može biti tačno ili netačno. Iskaz, dakle, može biti tačan ili netačan, odnosno istinit ili neistinit, i može mu se odrediti/pridružiti logička vrednost.
Za tačan iskaz koristimo oznaku ꓔ a za netačan oznaku ꓕ. U praksi se često koriste i T-true i F-false i cifre 1 i 0, sa istim značenjem.
Logički iskaz obeležavamo slovom: A,B,C… ili p,q,r… Time apstrahujemo iskaze i činimo proces zaključivanja jasnijim, jer izbegavamo probleme koje prirodni jezik ima.
Logički veznik je operacija kojom se povezuju iskazi. Logičke veznike nazivamo i logičke operacije. Osnovni logički veznici su:
|
veznik |
naziv |
oznaka |
još oznaka |
|
|
ne p |
negacija |
¬p |
!p -p p’ ~p |
not(p) |
|
p ili q |
disjunkcija |
∨ |
p + q |
p or q, p || q |
|
p i q |
konjunkcija |
∧ |
p * q |
p and q, p && q |
|
ako p onda q |
implikacija |
→ |
p => q |
|
|
p ako i samo q |
ekvivalencija |
⇔ ≡ |
p <=> q |
p == q |
Zagrade () se koriste za grupisanje operacija. Operacije imaju prioritet. Najviši prioritet ima operacija negacije, što znači da se prvo primenjuje negacija pa ostalo. Zatim konjukcija i disjunkcija pa implikacija i ekvivalencija. Zagradama se naznačava prioritet operacija, ako je drugačiji od ovog pomenutog, standardnog. Zagrade se često koriste i da se složen iskaz lakše pročita. Zagrade ne utiču na vrednost iskaza tako da iskaz uvek može da se stavi u zagrade: p i (p) imaju istu logičku vrednost. Standard je da se spoljne zagrade (okolo celog iskaza) ne pišu, i uopšte, da se zagrade pišu samo tamo gde je potrebno.
Objašnjenje simbola koji se koriste za operacije
∨ liči na simbol za uniju dva skupa, U. Disjunkcija je tačna ako je bar jedan od iskaza tačan, pa je ova operacija na neki način unija tačnosti ta dva iskaza.
∧ liči na simbol za presek dva skupa, ∩. Konjukcija je tačna samo ako su oba iskaza tačni, pa je ova operacija na neki način presek tačnosti da dva iskaza.
Ako logičke vrednosti predstavimo brojevima 1-tačno i 0-netačno onda je disjunkcija isto što i sabiranje: A ili B će biti A+B, pa imamo moguće varijante 0+0,1+0,0+1,1+1. Ako je bar jedan tačan (1) zbir će biti >0, tj. tačan. Slično tome, konjukcija je množenje, jer je iskaz tačan samo ako su oba tačna: 1*1, a ako neki deo nije tačan (0), onda će i proizvod biti 0: 1*0=0. Ovaj zapis tipičan je za projektovanje elektronskih kola. Negacija obrće vrednost, što bi na brojevnoj osi bilo ista udaljenost od nule ali u suprotnom smeru, odnosno promena znaka, pa se otud za negaciju koristi minus.
U ovoj skripti ćemo uglavnom koristiti - + * 0 1 simbole, isključivo iz razloga što su ti simboli na tastaturi, dok je za ubacivanje matematičkih simbola i,ili,ne potreban dodatni utrošak vremena.
https://en.wikipedia.org/wiki/List_of_logic_symbols
Iskaz u prirodnom jeziku
Nije svaka rečenica iskaz. Rečenica Zatvori prozor je imperativna, i ne nosi istinitosnu vrednost. Rečenica Da li je nebo plavo je upitna i ne možemo reći da je to pitanje tačno ili netačno (to možemo reći za odgovor na pitanje, ali to je druga vrsta rečenice…).
Rečenica Ja sam dobar čovek nije iskaz sama po sebi, jer dobar nije jasan kriterijum i treba ga prvo precizno definisati, odnosno stvoriti kontekst u kome ova rečenica može da se odredi kao tačna ili netačna. Isto to važi i za Nebo je plavo, međutim plavo je i u prirodnom jeziku, u opštem kontekstu, jednoznačna odrednica, pa se može bez dodatnih definicija odrediti da li nebo ima atribut boje čija je vrednost plavo.
Definisanje logičkog iskaza
Logički iskaz se definiše na sledeći način:
Neka je Var={p1, …, pn} prebrojiv skup iskaznih slova, neka su logički operatori {¬,∧,∨,→,⇔} i neka su ꓔ i ꓕ logičke konstante.
- Iskazna slova i logičke konstante su logički izrazi
- Neka su A i B dva logička izraza. Tada su ( A), (A B), (A B), (A B), (A B) takođe logički iskazi
- Logički iskazi se dobijaju isključivo primenom pravila 1 i 2
Ovu definiciju možemo predstaviti na nešto formalniji način ovako nekako:
Expression = ꓔ
| ꓕ
| pi, gde pi = Var={p1,p2,…pn}, odnosno Expression
| not Expression
| Expression and Expression
| Expression or Expression
| Expression => Expression
| Expression <=> Expression
Primetite da ovde postoji rekurzija u definiciji. To znači da logički iskaz može da bude sastavljen od drugih logičkih iskaza, koji su sastavljeni od logičkih iskaza i tako dalje, dok ne dođemo do elementarnih iskaza i konstantni true i false. Zato se treći red (iskazno slovo) ne piše jer je iskazno slovo zapravo takođe iskaz, pa iskaz može biti ili logička vrednost ili kombinacija drugih iskaza, koji se na kraju rekurzije razrešavaju u logičke vrednosti.
Vrste iskaza
Razlikujemo proste, složene i uslovne iskaze. Prost iskaz je iskaz koji ne sadrži veznike.
Napolju pada kiša.
Danas je utorak.
Imam dvojku iz programskih paradigmi.
Složen iskaz sadrži veznike i, ili, ne.
Danas je utorak i napolju pada kiša.
Kupio sam majonez i imam salamu.
Uslovni iskaz sadrži implikaciju i ekvivalenciju. Implikacija se čita ako X onda Y, ili ako važi X onda važi i Y. Ekvivalencija se čita ako važi X onda važi Y, i obrnuto.
Za implikaciju su vezane tri dodatne vrste iskaza: konverzija/obrat, inverzija i kontrapozicija.
- p->q implikacija
- q->p konverzija (obrat)
- -p -> -q inverzija
- -q -> -p kontrapozicija
Implikacija i kontrapozicija su logički ekvivalentni, i to se često koristi u dokazivanju. Još malo o tome u odeljku Logička ekvivalentnost iskaznih formula.