-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathds.tex
3084 lines (2502 loc) · 173 KB
/
ds.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\documentclass[11pt]{book}
\usepackage[slovene]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[dvipsnames]{xcolor}
\usepackage{titlesec}
% \usepackage{amssymb}
\usepackage{pstricks,pst-plot,pst-math}
\usepackage{pstricks-add}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{color}
\usepackage{fouriernc}
\usepackage{microtype}
\usepackage{MnSymbol}
\usepackage{tikz-cd}
\usetikzlibrary{backgrounds}
\usepackage{wrapfig}
\usepackage{geometry}
\geometry{
a4paper,
left=45mm,
right=45mm,
top=20mm,
bottom=20mm
}
\usepackage{comment}
\usepackage{amsthm}
\usepackage{changepage} % for the adjustwidth environment
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=cyan,
filecolor=magenta,
urlcolor=cyan
}
\usepackage[backgroundcolor=svetlosiva,linecolor=siva,textsize=footnotesize]{todonotes}
\pagestyle{plain}
\usepackage{enumitem}
\setlist[description]{leftmargin=\parindent,labelindent=\parindent, font=\normalfont\itshape\textbullet\space}
\def\NN{\mathbf{N}}
\def\ZZ{\mathbf{Z}}
\def\QQ{\mathbf{Q}}
\def\RR{\mathbf{R}}
\def\CC{\mathbf{C}}
\def\conclass{\mathcal{C}}
\def\11{\mathbf{1}}
\def\FF{\mathbf{F}}
\def\Fcal{\mathcal{F}}
\def\EE{\mathbf{E}}
\def\PP{\mathbf{P}}
\def\HH{\mathbf{H}}
\def\GG{\mathcal{G}}
\def\youngsym{\sigma_{\lambda}}
\DeclareMathOperator\image{im}
\DeclareMathOperator\pr{pr}
\DeclareMathOperator\sgn{sgn}
\DeclareMathOperator\Res{Res}
\DeclareMathOperator\Ind{Ind}
\DeclareMathOperator\Rep{Rep}
\DeclareMathOperator\mult{mult}
\DeclareMathOperator\Izotip{Izotip}
\DeclareMathOperator\MK{MK}
\DeclareMathOperator\tr{tr}
\DeclareMathOperator\Irr{Irr}
\DeclareMathOperator\SU{SU}
\DeclareMathOperator\characteristic{char}
\DeclareMathOperator\kk{k}
\DeclareMathOperator\cl{cl}
\def\GAP{\texttt{GAP}}
\DeclareMathOperator\inv{inv}
\DeclareMathOperator\Eigenvalues{Spec}
\DeclareMathOperator\Eigenspace{ES}
\DeclareMathOperator\fun{fun}
\DeclareMathOperator\HS{HS}
\DeclareMathOperator\St{St}
\DeclareMathOperator\Realpart{Re}
\DeclareMathOperator\DNO{DNO}
\DeclareMathOperator\KNO{KNO}
\DeclareMathOperator\Aut{Aut}
\DeclareMathOperator\GL{GL}
\DeclareMathOperator\glfrak{\mathfrak{gl}}
\DeclareMathOperator\slfrak{\mathfrak{sl}}
\DeclareMathOperator\U{U}
\DeclareMathOperator\SL{SL}
\DeclareMathOperator\PSL{PSL}
\DeclareMathOperator\SO{SO}
\DeclareMathOperator\Gal{Gal}
\DeclareMathOperator\Sym{Sym}
\DeclareMathOperator\Homeo{Homeo}
\DeclareMathOperator\Cay{Cay}
\DeclareMathOperator\Isom{Isom}
\DeclareMathOperator\id{id}
\DeclareMathOperator\supp{supp}
\DeclareMathOperator\End{End}
\DeclareMathOperator\Mat{Mat}
\DeclareMathOperator\Cone{Cone}
\DeclareMathOperator\diam{diam}
\DeclareMathOperator\Ad{Ad}
\DeclareMathOperator\imaginary{Im}
\def\definicija{\color{rdeca}\bf\em}
\def\vprasanje{\color{oranzna}}
\def\literatura{\color{modra}}
\def\vaje{{\literatura ($\to$ vaje)}}
\def\kljuka{$\checkmark$}
% good numbering
\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheoremstyle{zgled}
{}{}%
{\color{zelena}}
{}%
{\color{zelena}\bfseries}%
{\color{zelena}.}%
{ }{}
\theoremstyle{zgled}
\newtheorem*{zgled}{Zgled}
\newtheoremstyle{odprtproblem}
{}{}%
{\color{oranzna}}
{}%
{\color{oranzna}\bfseries}%
{\color{oranzna}.}%
{ }{}
\theoremstyle{odprtproblem}
% \newtheorem*{odprtproblem}{Odprt problem}
% good numbering
\newtheorem{odprtproblem}[theorem]{Odprt problem}
\newtheoremstyle{domacanaloga}
{}{}%
{\color{vijolicna}}
{}%
{\color{vijolicna}\bfseries}%
{\color{vijolicna}.}%
{ }{}
\theoremstyle{domacanaloga}
% \newtheorem*{domacanaloga}{Domača naloga}
% good numbering
\newtheorem{domacanaloga}[theorem]{Domača naloga}
\newenvironment{dokaz}
{\color{siva}\begin{proof}}
{\end{proof}}
\newtheoremstyle{izrek}
{}{}% above, below
{\color{black}\itshape}
{}% indent
{\color{black}\bfseries}%
{\color{black}.}%
{ }{}
\theoremstyle{izrek}
% \newtheorem*{izrek}{Izrek}
% good numbering
\newtheorem{izrek}[theorem]{Izrek}
% \newtheorem*{trditev}{Trditev}
% \newtheorem*{pomoznatrditev}{Pomožna trditev}
% good numbering
\newtheorem{trditev}[theorem]{Trditev}
\newtheorem{pomoznatrditev}[theorem]{Pomožna trditev}
% \newtheorem*{lema}{Lema}
% good numbering
\newtheorem{lema}[theorem]{Lema}
% \newtheorem*{posledica}{Posledica}
% good numbering
\newtheorem{posledica}[theorem]{Posledica}
\newenvironment{povzetek}
{
\smallskip
\begin{center}
\color{svetlosiva}
\begin{tabular}{|p{0.7\textwidth}}
}
{
\end{tabular}
\end{center}
\smallskip
}
\definecolor{rdeca}{rgb}{0.62, 0.16, 0.10}
\definecolor{zelena}{rgb}{0.15, 0.4, 0.20}
\definecolor{oranzna}{rgb}{0.72, 0.38, 0.082}
\definecolor{rjava}{rgb}{0.7490196078431373, 0.3686274509803922, 0.1843137254901961}
\definecolor{modra}{rgb}{0.2784313725490196, 0.5411764705882353, 0.8392156862745098}
\definecolor{vijolicna}{rgb}{0.48627450980392156, 0.2980392156862745, 0.792156862745098}
\definecolor{siva}{rgb}{0.7, 0.7, 0.7}
\definecolor{svetlosiva}{rgb}{0.7, 0.7, 0.7}
\titleformat{\section}
{\color{rdeca}\LARGE\bf}{\thesection}{1em}{}
\renewcommand{\thesubsection}{}
\titleformat{\subsection}
{\Large\bf}{}{1em}{}
\title{\bf Diskretne strukture}
\author{Urban Jezernik}
% za generiranje html dokumenta s stilom mystyle.css uporabi:
% pandoc ds.tex --toc --toc-depth=2 --metadata date="`date -u "+%d. %m. %Y"`" --template template.html -c mystyle.css -s --mathjax -o index.html
\begin{document}
\baselineskip=14pt
\maketitle
\setcounter{tocdepth}{1}
\tableofcontents
\newpage
\subsection*{Kratek opis predmeta}
Pri predmetu se bomo najprej naučili, kaj točno so \emph{izjave} in kako jih matematično \emph{formalizirati}. Eden pomembnih ciljev tega je eksakten opis \emph{sklepanja}, ki ga uporabljamo počez matematike. Te koncepte bomo najprej razvili v osnovnem \emph{izjavnem računu}, nato pa ga bomo še posplošili do \emph{predikatnega računa}, s katerim bomo podrobneje raziskali matematične izjave.
\begin{zgled}
Nepridipravi so razbili vhodna vrata FMF. Glavni osumljenci so študenti Ana, Bor in Cveto. Ko jih vprašamo, kdo je kriv, odgovorijo z naslednjimi izjavami:
\begin{itemize}
\item Ana: ``Bor je kriv, Cveto pa ne.''
\item Bor: ``Če je kriva Ana, je kriv tudi Cveto.''
\item Cveto: ``Jaz nisem kriv, toda vsaj eden od drugih dveh je kriv.''
\end{itemize}
Pri predmetu se bomo naučili, kako lahko na \emph{sistematičen način} odkrijemo, kdo je lagal, če krivi lažejo, nedolžni pa govorijo resnico.
\end{zgled}
Za tem bomo pri predmetu spoznali nekaj osnovnih diskretnih struktur, po katerih se ta predmet imenuje. Najprej bomo raziskali \emph{relacije}, s katerimi opisujemo odnose med elementi dane množice. Pomemben poseben primer teh so \emph{urejenosti}, ki posplošujejo običajne ureditve števil po velikosti. Najbolj podrobno si bomo ogledali \emph{grafe}, s katerimi lahko abstraktno predstavimo mnogo pomembnih primerov relacij.
\begin{zgled}
Graf je diskretna struktura, pri kateri dano množico \emph{vozlišč} povežemo s \emph{povezavami}. Z grafi lahko opišemo veliko različnih vrst omrežij, na primer internetno omrežje, omrežje prijateljskih povezav na Facebooku, omrežja veriženja blokov (kriptovalute) \dots
Konkreten graf na spodnji sliki se imenuje {\definicija Petersenov graf}. Ta graf bomo tekom predmeta večkrat srečali. Na koncu predmeta bomo znali \emph{dokazati}, da se tega grafa ne da narisati v ravnini, brez da bi se vsaj dve povezavi sekali.
\begin{figure}[h]
\centering
\includegraphics[width=0.5\linewidth]{img/opis-petersen.png}
\caption{Petersenov graf}
\end{figure}
\end{zgled}
\newpage
\subsection*{Literatura}
\begin{itemize}
\item {\literatura G. Fijavž, \href{http://matematika.fri.uni-lj.si/ds/ds.pdf}{\emph{Diskretne strukture}}, elektronska knjiga, 2015.}
\item {\literatura M. Juvan in P. Potočnik, \href{http://www.dmfa-zaloznistvo.si/ipmr/1662.htm}{\emph{Teorija grafov in kombinatorika}}, DMFA-založništvo, Ljubljana 2000.}
\item {\literatura N. Prijatelj, \emph{Osnove matematične logike I}, DMFA-založništvo, Ljubljana, 1992.}
\end{itemize}
\todo{Dodaj literaturo za vaje.}
\chapter{Izjavni račun}
V tem poglavju si bomo pogledali, kako \emph{formaliziramo} preproste izjave in kako \emph{dokazujemo} njihovo veljavnost oziroma neveljavnost.
\section{Izjave in izjavni vezniki}
{\definicija Izjava} je poved, ki je bodisi resnična bodisi lažna.
\begin{zgled} \leavevmode
\begin{itemize}
\item Ena in ena je tri. \emph{Lažna izjava.}
\item Ena in ena je dve. \emph{Resnična izjava.}
\item Koliko je ena in ena? \emph{Ni izjava.}
\item Pojdimo na kavo! \emph{Ni izjava.}
\end{itemize}
\end{zgled}
Izjave lahko razdelimo na dve skupini \emph{po vsebini}, in sicer:
\begin{itemize}
\item {\definicija resnične izjave}, ki imajo resničnostno vrednost $1$ ali $\top$ ali \texttt{true},
\item {\definicija lažne izjave}, ki imajo resničnostno vrednost $0$ ali $\bot$ ali \texttt{false}.
\end{itemize}
Po \emph{zgradbi} oziroma \emph{obliki} pa izjave razdelimo na:
\begin{itemize}
\item {\definicija osnovne}, ki ne vsebujejo izjavnih veznikov,
\item {\definicija sestavljene}, ki vsebujejo izjavne veznike.
\end{itemize}
\begin{zgled} \leavevmode
\begin{itemize}
\item Vreme je lepo. \emph{Osnovna izjava.}
\item Špela gre v hribe. \emph{Osnovna izjava.}
\item Vreme je lepo \emph{in} Špela gre v hribe. \emph{Sestavljena izjava.}
\item \emph{Če} je vreme lepo, \emph{potem} gre Špela v hribe. \emph{Sestavljena izjava.}
\item Špela \emph{ne} gre v hribe. \emph{Sestavljena izjava.}
\end{itemize}
\end{zgled}
Naj bo $n \in \NN_0$. {\definicija Izjavni veznik reda $n$} (ali {\definicija $n$-mestni izjavni veznik}) je funkcija, ki vsaki urejeni $n$-terici ničel in enic priredi vrednost $0$ ali $1$.
\begin{zgled} \leavevmode
\begin{itemize}
\item Primer izjavnega veznika reda $1$ je {\definicija negacija}. Simbol za ta veznik je $\lnot$. Če je $p$ izjava, njeno negacijo označimo kot $\lnot p$ in preberemo kot \emph{ne $p$} ali kot \emph{ni res, da velja $p$}. Negacija $1$-terici $0$ priredi vrednost $1$, $1$-terici $1$ pa priredi vrednost $0$.
\begin{table}[h]
\centering
\begin{tabular}{c|c}
$p$ & $\lnot p$ \\ \hline
0 & 1 \\
1 & 0
\end{tabular}
\caption{Resničnostna tabela negacije}
\end{table}
\item Oglejmo si nekaj pomembnih dvomestnih izjavnih veznikov. Njihovi predpisi so zbrani v tabeli.
\begin{itemize}
\item {\definicija Konjunkcija} izjav $p$ in $q$ ima simbol $p \land q$, kar preberemo kot \emph{$p$ in $q$}.
\item {\definicija Disjunkcija} izjav $p$ in $q$ ima simbol $p \lor q$, kar preberemo kot \emph{$p$ ali $q$}.
\item {\definicija Implikacija} izjav $p$ in $q$ ima simbol $p \Rightarrow q$, kar preberemo kot \emph{če $p$, potem $q$} ali kot \emph{iz $p$ sledi $q$} ali kot \emph{$p$ je zadosten pogoj za $q$} ali \emph{kot $q$ je potreben pogoj za $p$}.
\item {\definicija Ekvivalenca} izjav $p$ in $q$ ima simbol $p \Leftrightarrow q$, kar preberemo kot \emph{$p$ natanko tedaj, ko $q$} ali kot \emph{$p$, če in samo če $q$} ali kot \emph{$p$ je ekvivalentno $q$}.
\end{itemize}
\begin{table}[h]
\centering
\begin{tabular}{cc|cccc}
$p$ & $q$ & $p \land q$ & $p \lor q$ & $p \Rightarrow q$ & $p \Leftrightarrow q$ \\ \hline
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 0 & 1 & 0 & 0 \\
0 & 1 & 0 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 1 & 1
\end{tabular}
\caption{Resničnostna tabela nekaterih pomembnih dvomestnih izjavnih veznikov}
\end{table}
\item Izjavni veznik reda $0$ je funkcija iz množice urejenih $0$-teric ničel in enic. Obstaja natanko ena taka $0$-terica, in sicer \emph{prazna $0$-terica}. Izjavni veznik reda $0$ je torej natanko določen s sliko te $0$-terice, za kar imamo dve možnosti, $0$ ali $1$.
\begin{itemize}
\item Izjavni veznik reda $0$, ki ima vselej resničnostno vrednost $0$, imenujemo {\definicija 0} in preberemo kot \emph{lažna izjava}.
\item Izjavni veznik reda $0$, ki ima vselej resničnostno vrednost $1$, imenujemo {\definicija 1} in preberemo kot \emph{resnična izjava}.
\end{itemize}
Izjavnima veznikoma reda $0$ pravimo tudi {\definicija izjavni konstanti}.
\end{itemize}
\end{zgled}
Glede na zgornjo obravnavamo izjavnih veznikov redov $0$, $1$ in $2$ se lahko vprašamo, koliko je vseh $n$-mestnih izjavnih veznikov za poljuben $n \in \NN_0$. Vsak tak veznik je enolično določen s svojo resničnostno tabelo, v kateri zabeležimo vrednosti veznika v {\definicija izjavnih spremenljivkah} $p_1, p_2, \dots, p_n$, kjer vsak $p_i$ zavzema vrednosti $0$ ali $1$.
\begin{table}[h]
\centering
\begin{tabular}{cccc|c}
$p_1$ & $p_1$ & $\cdots$ & $p_n$ & veznik($p_1$, $p_2$, \dots, $p_n$) \\ \hline
1 & 1 & $\cdots$ & 1 & 0 ali 1 \emph{(dve možnosti)} \\
1 & 1 & $\cdots$ & 0 & 0 ali 1 \emph{(dve možnosti)} \\
$\vdots$ & $\vdots$ & & $\vdots$ & $\vdots$ \\
0 & 0 & $\cdots$ & 0 & 0 ali 1 \emph{(dve možnosti)} \\
\end{tabular}
\caption{Resničnostna tabela $n$-mestnega izjavnega veznika}
\end{table}
Število vseh $n$-mestnih izjavnih veznikov torej izračunamo tako, da preštejemo število vseh možnih resničnostnih tabel. Število vrstic tabele je enako $2^n$, število vseh tabel pa je zato enako $2^{2^n}$.
\begin{table}[h]
\centering
\begin{tabular}{c|cc}
$n$ & $2^n$ & $2^{2^n}$ \\ \hline
0 & 1 & 2 \\
1 & 2 & 4 \\
2 & 4 & 16 \\
3 & 8 & 256 \\
4 & 16 & 65536 \\
5 & 32 & $\sim 4 \cdot 10^9$ \\
6 & 64 & $\sim 2 \cdot 10^{19}$
\end{tabular}
\caption{Hitra rast števila $n$-mestnih izjavnih veznikov}
\end{table}
\section{Izjavni izrazi}
{\definicija Izjavni izraz} definiramo induktivno na naslednji način:
\begin{itemize}
\item \emph{Osnovni izraz 1:} Vsaka \emph{izjavna konstanta} (torej $0$ ali $1$) je izjavni izraz.
\item \emph{Osnovni izraz 2:} Vsaka \emph{izjavna spremenljivka} $p_1, p_2, \dots$ je izjavni izraz.
\item \emph{Sestavljeni izraz:} Če je $f$ \emph{izjavni veznik} reda $n$ in so $A_1, A_2, \dots, A_n$ izjavni izrazi, potem je $(f(A_1,A_2,\dots,A_n))$ izjavni izraz.
\end{itemize}
Izjavni izrazi so torej izjave, ki jih dobimo iz $0,1$ in izjavnih spremenljivk z (večkratno) uporabo izjavnih veznikov.
\begin{zgled}
Naj bodo $p,q,r$ izjavne spremenljivke. Tvorimo lahko izjavne izraze $(p \Rightarrow q)$, $(\lnot r)$, $((p \Rightarrow q) \land (\lnot r))$, \dots
\end{zgled}
Pri pisanju bolj zakompliciranih izjavnih izrazov se prične pojavljati mnogo oklepajev. V izogib pisanju prevelikega števila teh oklepajev uporabljamo naslednji {\definicija dogovor o prednostnem vrstnem redu veznikov}:
\begin{itemize}
\item $\lnot$ ima prednost pred dvomestnimi vezniki,
\item veznik iz $(\land, \lor, \Rightarrow, \Leftrightarrow)$ ima prednost pred vezniki desno od sebe,
\item če isti veznik nastopi večkrat zapored, ima levi nastop prednost pred desnim,
\item zunanji oklepaj spuščamo.
\end{itemize}
\begin{zgled} \leavevmode
\begin{itemize}
\item Izjavni izraz $(p \Rightarrow (q \land r))$ pišemo krajše kot $p \Rightarrow q \land r$.
\item Izraz $p \Rightarrow q \Rightarrow r \Rightarrow s$ je okrajšava za izjavni izraz $(((p \Rightarrow q) \Rightarrow r) \Rightarrow s)$.
\item Izraz $p \lor \lnot q \Leftrightarrow r \Rightarrow q$ je okrajšava za izjavni izraz $(( p \lor (\lnot q)) \Leftrightarrow (r \Rightarrow p))$.
\end{itemize}
\end{zgled}
Izjavni izrazi vsebujejo izjavne spremenljivke, zato določajo neko resničnostno tabelo in s tem tudi nek izjavni veznik.
\begin{zgled}
Naj bodo $p,q,r$ izjavne spremenljivke in naj bo $f(p,q,r) = (p \Rightarrow q) \land \lnot r$ izjavni izraz. Izračunamo lahko resničnostno tabelo tega izraza in na ta način lahko na $f$ gledamo kot na izjavni veznik reda $3$.
\begin{table}[h]
\centering
\begin{tabular}{ccc|c}
$p$ & $q$ & $r$ & $(p \Rightarrow q) \land \lnot r$ \\ \hline
1 & 1 & 1 & 0 \\
1 & 1 & 0 & 1 \\
1 & 0 & 1 & 0 \\
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 0 \\
0 & 1 & 0 & 1 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{tabular}
\caption{Resničnostna tabela izjavnega izraza $(p \Rightarrow q) \land \lnot r$}
\end{table}
\end{zgled}
\section{Tavtologije in enakovredni izrazi}
Če je izjavni izraz \emph{resničen} pri vseh naborih svojih izjavnih spremenljivk, mu rečemo {\definicija tavtologija}. Če je \emph{lažen} pri vseh naborih, mu rečemo {\definicija protislovje}. Če ni niti tavtologija niti protislovje, je {\definicija kontingenten}.
\begin{zgled} \leavevmode
\begin{itemize}
\item Izjavna izraza $1$ in $p \lor \lnot p$ sta tavtologiji.
\item Izjavna izraza $0$, $p \land \lnot p$ sta protislovji.
\item Izračunajmo resničnostne tabele izjavnih izrazov $p \Rightarrow q \Leftrightarrow \lnot p \lor q$, $p \land \lnot (q \Rightarrow p)$ in $p \land (\lnot q \lor p)$.
\begin{table}[h]
\centering
\begin{tabular}{cc|ccc}
$p$ & $q$ & $p \Rightarrow q \Leftrightarrow \lnot p \lor q$ & $p \land \lnot (q \Rightarrow p)$ & $p \land (\lnot q \lor p)$ \\ \hline
1 & 1 & 1 & 0 & 1 \\
1 & 0 & 1 & 0 & 1 \\
0 & 1 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
\end{tabular}
\caption{Resničnostne tabele treh izjavnih izrazov}
\end{table}
Vidimo, da je prvi izraz tavtologija, drugi protislovje, tretji pa kontingenten.
\begin{domacanaloga}
Prepričaj se, da je resničnostna tabela izjavnega izraza $p \land (\lnot q \lor p)$ enaka resničnosti tabeli izjavnega izraza $p$. Sklepaj, da je izjava $p \land (\lnot q \lor p) \Leftrightarrow p$ tavtologija. Na podoben način se prepričaj, da je izraz $p \Rightarrow q \Leftrightarrow \lnot q \Rightarrow \lnot p$ tavtologija.
\end{domacanaloga}
\end{itemize}
\end{zgled}
Naj bosta $A$ in $B$ izjavna izraza. Kadar je $A \Leftrightarrow B$ tavtologija, tedaj rečemo, da sta izraza $A$ in $B$ {\definicija enakovredna}. Z drugimi besedami, izraza $A$ in $B$ sta enakovrednosta, kadar imata enaka stolpca v resničnostni tabeli. V tem primeru uporabimo oznako $A \sim B$.
\begin{zgled}
Velja $p \Rightarrow q \sim \lnot p \lor q \sim \lnot q \Rightarrow \lnot p$ in $p \land (\lnot q \lor p) \sim p$.
\end{zgled}
Enakovrednemu paru izjavnih izrazov $A \sim B$ rečemo {\definicija zakon izjavnega računa}. V vsakem izjavnem izrazu lahko poljuben izraz zamenjamo z enakovrednim in s tem poenostavimo izjavni izraz.
\begin{zgled}
Velja
\[
p \land (\lnot q \lor p) \Rightarrow (\lnot q \Rightarrow \lnot p) \sim
p \Rightarrow (p \Rightarrow q).
\]
\end{zgled}
Navedimo nekaj uporabnih zakonov izjavnega računa, ki veljajo za vse izjavne izraze $A,B,C$.
\begin{itemize}
\item $\lnot 0 \sim 1$, $\lnot 1 \sim 0$
\item $A \land 0 \sim 0$, $A \land 1 \sim A$, $A \lor 0 \sim A$, $A \lor 1 \sim 1$
\item $A \land A \sim A$, $A \lor A \sim A$ ({\definicija idempotentnost})
\item $A \land B \sim B \land A$, $A \lor B \sim B \lor A$ ({\definicija komutativnost})
\item $A \land (B \land C) \sim (A \land B) \land C$, $A \lor (B \lor C) \sim (A \lor B) \lor C$ ({\definicija asociativnost})
\item $A \land (A \lor B) \sim A$, $A \lor (A \land B) \sim A$ ({\definicija absorpcija})
\item $A \land (B \lor C) \sim (A \land B) \lor (A \land C)$, $A \lor (B \land C) \sim (A \lor B) \land (A \lor C)$ ({\definicija distributivnost})
\item $\lnot \lnot A \sim A$ ({\definicija dvojna negacija})
\item $\lnot (A \land B) \sim \lnot A \lor \lnot B$, $\lnot (A \lor B) \sim \lnot A \land \lnot B$ ({\definicija De Morganova zakona})
\item $A \Rightarrow B \sim \lnot B \Rightarrow \lnot A$ ({\definicija kontrapozicija}), $A \Rightarrow B \sim \lnot A \lor B$
\item $A \Leftrightarrow B \sim (A \Rightarrow B) \land (B \Rightarrow A)$
\end{itemize}
\begin{zgled}
Izjavni izraz iz zadnjega zgleda lahko z naštetimi zakoni poenostavimo do
\[
p \Rightarrow (p \Rightarrow q) \sim
\lnot p \lor (\lnot p \lor q) \sim
(\lnot p \lor \lnot p) \lor q \sim
\lnot p \lor q \sim
p \Rightarrow q.
\]
\end{zgled}
\section{DNO in KNO}
Do sedaj smo govorili o tem, kako za dan izjavni izraz določimo njegovo resničnostno tabelo. V tem razdelku si bomo zastavili obratno nalogo. Recimo, da je dana resničnostna tabela nekega kontingentnega izjavnega izraza $A$. Pokazali bomo, da lahko zgolj z uporabo izjavnih veznikov $\lnot$, $\land$, $\lor$ sestavimo izjavni izraz $D$, tako da bo $A \sim D$. Za začetek si oglejmo, kako to naredimo na enem konkretnem primeru.
\begin{zgled}
Naj bo izjavni izraz $A$ dan z resničnostno tabelo $T$.
\begin{table}[h]
\centering
\begin{tabular}{ccc|c}
$p$ & $q$ & $r$ & $A$ \\ \hline
1 & 1 & 1 & 0 \\
1 & 1 & 0 & 1 \\
1 & 0 & 1 & 0 \\
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 0 \\
0 & 1 & 0 & 1 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{tabular}
\caption{Resničnostna tabela $T$ izjavnega izraza $A$}
\end{table}
Iskani izjavni izraz $D$ mora biti resničen natanko v 2., 6. in 8. vrstici tabele $T$. To je res natanko tedaj, ko velja $p \land q \land \lnot r$ ali $\lnot p \land q \land \lnot r$ ali $\lnot p \land \lnot q \land \lnot r$. Torej lahko vzamemo preprosto
\[
D = (p \land q \land \lnot r) \lor (\lnot p \land q \land \lnot r) \lor (\lnot p \land \lnot q \land \lnot r)
\]
in res velja $D \sim A$. Dobljeni izjavni izraz $D$ lahko še nekoliko poenostavimo.
\begin{domacanaloga}
Z uporabo zakonov izjavnega računa se prepričaj, da velja $D \sim \lnot (p \Rightarrow q \Rightarrow r)$.
\end{domacanaloga}
\end{zgled}
Naj bo zdaj $A$ poljuben kontingenten izjavni izraz in $T$ njegova resničnostna tabela. {\definicija Disjunktivna normalna oblika} izraza $A$ je disjunkcija \emph{osnovnih konjunkcij} tistih vrstic, kjer je $A$ resničen. Pri tem je osnovna konjunkcija neke vrstice konjunkcija tistih izjavnih spremenljivk, ki so v tej vrstici resnične, in negacij tistih izjavnih spremenljivk, ki so v tej vrstici lažne. Disjunktivno normalno obliko izraza $A$ krajše pišemo kot $\DNO(A)$.
\begin{zgled}
V zadnjem zgledu je $\DNO(A) = D$.
\end{zgled}
Disjunktivna normalna oblika $\DNO(A)$ je izjavni izraz, ki je zapisan le z uporabo izjavnih veznikov $\lnot$, $\land$, $\lor$. Preverimo še, da je ta izraz res enakovreden začetnemu izrazu $A$.
\begin{trditev}
Naj bo $A$ kontingenten izraz. Potem je $A \sim \DNO(A)$.
\end{trditev}
\begin{dokaz}
Naj bo $T$ resničnostna tabela izraza $A$. Naj bo $i$ poljubna vrstica $T$. Dokazati želimo, da imata $T$ in $\DNO(A)$ v tej vrstici enako resničnostno vrednost.
\begin{description}
\item[Če je $A$ resničen v vrstici $i$:] Po definiciji disjunktivne normalne oblike je $\DNO(A)$ disjunkcija osnovnih konjunkcij vrstic $T$. V posebnem osnovna konjunkcija vrstice $i$ nastopa v $\DNO(A)$. Ta osnovna konjunkcija je v vrstici $i$ resnična, zato je resnična tudi disjunkcija $\DNO(A)$. \kljuka
\item[Če je $\DNO(A)$ resničen v vrstici $i$:] V tem primeru mora biti resničen vsaj en člen disjunkcije $\DNO(A)$, torej mora biti v vrstici $i$ resnična osnovna konjunkcija neke vrstice $j$. Osnovna konjunkcija vrstice $j$ je izraz, ki je v vrstici $j$ resničen, v vseh ostalih vrsticah pa lažen. Od tod sledi, da je $i = j$. Torej $\DNO(A)$ vsebuje osnovno konjunkcijo vrstice $i$, zato je $A$ resničen v vrstici $i$. \kljuka
\end{description}
Res imata torej $T$ in $\DNO(A)$ enake resničnostne vrednosti, torej sta $A$ in $\DNO(A)$ enakovredna.
\end{dokaz}
V sestavljanju disjunktivne normalne oblike smo opazovali vrstice, kjer je dan izjavni izraz $A$ resničen. Analogno bi lahko opazovali vrstice, kjer je izraz $A$ lažen, in sestavili izjavni izraz, ki bo \emph{lažen} natanko v vrsticah, v katerih je $A$ lažen. Na primeru pojasnimo, kako lahko na ta način dobimo alternativen izjavni izraz, ki je zopet izražen le z vezniki $\lnot$, $\land$, $\lor$ in je enakovreden izrazu $A$.
\begin{zgled}
Naj bo $T$ resničnostna tabela izjavnega izraza $A$ iz predzadnjega zgleda. Ta tabela je lažna v vrsticah $1,3,4,5,7$. Sestavimo izjavni izraz $K$, ki bo lažen natanko v teh vrsticah. To je enakovredno zahtevi, da je $K$ resničen natanko tedaj, ko nismo v nobeni od vrstic $1,3,4,5,7$. Slednjo zahtevo lahko izrazimo kot konjunkcijo \emph{osnovnih disjunkcij} vrstic $1,3,4,5,7$, se pravi kot
\[
K =
(\lnot p \lor \lnot q \lor \lnot r) \land
(\lnot p \lor q \lor \lnot r) \land
(\lnot p \lor q \lor r) \land
(o \lor \lnot q \lor \lnot r) \land
(p \lor q \lor \lnot r).
\]
Tako sestavljenemu izravnemu izrazu $K$ pravimo {\definicija konjunktivna normalna oblika} izraza $A$, krajše $\KNO(A)$. Sorodno kot za disjunktivno normalno obliko se prepričamo, da velja $\KNO(A) \sim A$.
\end{zgled}
\section{Sklepanje v izjavnem računu}
{\definicija Sklep} je končno zaporedje izjav $p_1, p_2, \dots, p_k, z$. Pri tem izjavam $p_1, p_2, \dots, p_k$ pravimo {\definicija predpostavke}, izjavi $z$ pa {\definicija zaključek}.
\begin{zgled}
Opazujmo naslednje zaporedje izjav.
\begin{description}
\item[$p_1$:] Če je ta žival ptič, potem ima krila.
\item[$p_2$:] Ta žival nima kril.
\item[$z$:] Ta žival ni ptič.
\end{description}
Imamo torej sklep $p_1, p_2, z$. Ta sklep lahko zapišemo nekoliko bolj natančno z upoštevanjem sestavljene strukture izjav v sklepu. Uvedimo izjavi $p$ in $q$ kot:
\begin{description}
\item[$p$:] Ta žival je ptič.
\item[$q$:] Ta žival ima krila.
\end{description}
Sklep $p_1, p_2, z$ lahko torej zapišemo v obliki $p \Rightarrow q, \ \lnot q, \ \lnot p$.
\end{zgled}
Zaporedje izjavnih izrazov $A_1, A_2, \dots, A_k, B$ je {\definicija pravilen sklep} (rekli bomo tudi {\definicija veljaven sklep}), če je zaključek $B$ resničen pri vseh tistih naborih izjavnih spremenljivk, pri katerih so resnične vse predpostavke $A_1, A_2, \dots, A_k$. V tem primeru pišemo $A_1, A_2, \dots, A_k \models B$.
\begin{zgled}
Sklep iz zadnjega zgleda smo zapisali v obliki $p \Rightarrow q, \ \lnot q, \ \lnot p$. Če pri tem gledamo na $p$ in $q$ kot na izjavni spremenljivki (in ne kot oznaki za konkretne izjave), se lahko vprašamo o veljavnosti sklepa. V ta namen sestavimo resničnostno tabelo vseh izjavnih izrazov v sklepu.
\begin{table}[h]
\centering
\begin{tabular}{cc|ccc}
$p$ & $q$ & $p \Rightarrow q$ & $\lnot q$ & $\lnot p$ \\ \hline
1 & 1 & 1 & 0 & 0 \\
1 & 0 & 0 & 1 & 0 \\
0 & 1 & 1 & 0 & 1 \\
0 & 0 & 1 & 1 & 1
\end{tabular}
\caption{Resničnostna tabela sklepa $p \Rightarrow q, \ \lnot q \models \lnot p$}
\end{table}
Edini nabor izjavnih spremenljivk, pri katerih sta resnični obe predpostavki sklepa, je nabor $(p,q)=(0,0)$. Pri tem naboru je resničen tudi zaključek sklepa. Sklep je torej veljaven, se pravi $p \Rightarrow q, \ \lnot q \models \lnot p$.
\end{zgled}
Zabeležimo nekaj pomembnih veljavnih sklepov, ki jim pravimo {\definicija osnovna pravila sklepanja}.
\begin{itemize}
\item $A, \ A \Rightarrow B \models B$ ({\definicija modus ponens (MP)})
\item $A \Rightarrow B, \ \lnot B \models \lnot A$ ({\definicija modus tollens (MT)})
\item $A \lor B, \ \lnot B \models A$ ({\definicija disjunktivni silogizem (DS)})
\item $A \Rightarrow B, \ B \Rightarrow C \models A \Rightarrow C$ ({\definicija hipotetični silogizem (HS)})
\item $A \land B \models A$ ({\definicija poenostavitev (Po)})
\item $A, \ B \models A \land B$ ({\definicija združitev (Zd)})
\item $A \models A \lor B$ ({\definicija pridružitev (Pr)})
\end{itemize}
Drugo od teh pravil smo spoznali v zadnjem zgledu in se tudi prepričali o veljavnosti. Na podoben način preverimo veljavnosti preostalih.
Pri večjem številu izjavnih spremenljivk je lahko preverjanje veljavnosti sklepa z resničnostno tabelo precej zamudno.
\begin{zgled}
Ali je sklep
\[
p \Rightarrow q, \ p \lor r, \ q \Rightarrow s, \ r \Rightarrow t, \ \lnot s \models t
\]
veljaven? Ta sklep vsebuje $5$ izjavnih spremenljivk, zato bi za preverjanje veljavnosti morali sestaviti resničnostno tabelo z $2^5 = 32$ vrsticami.
\end{zgled}
V takih primerih si lahko pomagamo z naslednjim alternativnim načinom preverjanja veljavnosti sklepa.
\begin{izrek}[o naravni dedukciji]
Naj bodo $A_1, A_2, \dots, A_k$ izjavni izrazi. Če obstaja zaporedje izjavnih izrazov $B_1, B_2, \dots, B_n$, tako da za vsak $i = 1, 2, \dots, n$ velja vsaj ena od možnosti:
\begin{enumerate}
\item $B_i$ je eden on $A_1, A_2, \dots, A_k$,
\item $B_i$ je tavtologija,
\item $B_i \sim B_j$ za nek $j < i$,
\item $B_i$ logično sledi iz $B_1, B_2, \dots, B_{i-1}$ po enem od osnovnih pravil sklepanja,
\end{enumerate}
potem velja $A_1, A_2, \dots, A_k \models B_n$.
\end{izrek}
\begin{dokaz}
Dokazujemo z indukcijo na $n$.
Baza indukcije je $n = 1$. V tem primeru je po predpostavki izjavni izraz $B_1$ lahko le eden od $A_1, A_2, \dots, A_k$ ali tavtologija. V vsakem od teh primerov velja $A_1, A_2, \dots, A_k \models B_n$. \kljuka
Predpostavimo zdaj, da trditev že velja za $1, 2, \dots, n-1$ in dokažimo veljavnost za $n$. Drži torej $A_1, A_2, \dots, A_k \models B_j$ za vsak $j = 1, 2, \dots, n-1$. Obravnavajmo različne možnosti glede na to, katera od predpostavk velja za $B_n$.
\begin{enumerate}
\item Če je $B_n$ eden od $A_1, A_2, \dots, A_k$, potem velja $A_1, A_2, \dots, A_k \models B_n$. \kljuka
\item Če je $B_n$ tavtologija, potem velja $A_1, A_2, \dots, A_k \models B_n$. \kljuka
\item Če je $B_n \sim B_j$ za nek $j < n$, potem po indukcijski predpostavki $A_1, A_2, \dots, A_k \models B_j$ velja $A_1, A_2, \dots, A_k \models B_n$. \kljuka
\item Naj nazadnje $B_n$ logično sledi iz $B_1, B_2, \dots, B_{n-1}$. Ker vsak $B_j$ za $j < n$ logično sledi iz $A_1, A_2, \dots, A_k$, velja tudi $A_1, A_2, \dots, A_k \models B_n$. \kljuka
\end{enumerate}
\end{dokaz}
\begin{zgled}
S pomočjo izreka o naravni dedukciji utemeljimo veljavnost sklepa iz zadnjega zgleda.
\begin{table}[h]
\centering
\begin{tabular}{lll}
$i$ & $B_i$ & utemeljitev \\ \hline
1 & $p \Rightarrow q$ & predpostavka \\
2 & $p \lor r$ & predpostavka \\
3 & $q \Rightarrow s$ & predpostavka \\
4 & $r \Rightarrow t$ & predpostavka \\
5 & $\lnot s$ & predpostavka \\
6 & $p \Rightarrow s$ & HS(1,3) \\
7 & $\lnot p$ & MT(6,5) \\
8 & $r \lor p$ & $\sim$ 2 \\
9 & $r$ & DS(8,7) \\
10 & \underline{$t$} & MP(9,4) \\
\end{tabular}
\caption{Uporaba naravne dedukcije za dokazovanje veljavnosti sklepa}
\end{table}
\end{zgled}
Do zdaj smo se ukvarjali z dokazovanjem veljavnosti danega sklepa. Oglejmo si še, kako pokažemo, da sklep \emph{ni} veljaven. Namesto tega, da sestavimo resničnostno tabelo vseh izjavnih izrazov v sklepu, lahko preprosteje pokažemo le na tisto vrstico resničnoste tabele, ki opazi neveljavnost sklepa. To pomeni, da poiščemo nek nabor vrednosti izjavnih spremenljivk, pri katerem so vse predpostavke resnične, zaključek pa je lažen. Takemu naboru rečemo {\definicija protiprimer}.
\begin{zgled}
Opazujmo naslednji sklep.
\begin{description}
\item[$p_1$:] Ta žival ima krila ali pa ni ptič.
\item[$p_2$:] Če je ta žival pritč, potem leže jajca.
\item[$p_3$:] Ta žival nima kril.
\item[$z$:] Torej ta žival ne leže jajc.
\end{description}
Ta sklep lahko zapišemo nekoliko bolj natančno, če uvedemo izjave $p,q,r$ kot:
\begin{description}
\item[$p$:] Ta žival ima krila.
\item[$q$:] Ta žival je ptič.
\item[$r$:] Ta žival leže jajca.
\end{description}
Sklep lahko torej zapišemo na naslednji način:
\[
p \lor \lnot q, \ q \Rightarrow r, \ \lnot p \models \lnot r.
\]
Poiščimo protiprimer. Želimo, da so resnične vse predpostavke, zaključek pa lažen. Vzeti moramo torej $r = 1$ in $p = 0$, od koder iz prve predpostavke dobimo še $q = 0$. S to izbiro je tudi druga predpostavka resnična. Nabor $p = 0, q = 0, r = 1$ je torej protiprimer, ki opazi, da sklep ni pravilen.
Če to prevedemo nazaj v človeški jezik, protiprimer torej predstavlja žival, ki nima kril, ni ptič in leže jajca. Konkretna taka žival je na primer kača ali krokodil.
\end{zgled}
Pri dokazovanju bolj kompleksnih sklepov si lahko včasih pomagamo tudi s kakšnimi {\definicija pomožnimi sklepi}. Pogledali si bomo tri take osnovne pomožne sklepe, in sicer pogojni sklep, sklepanje s protislovjem in analiza primerov. Vse te pomožne sklepe bomo izpeljali s pomočjo naslednje trditve.
\begin{trditev}
Velja $A_1, A_2, \dots, A_k \models B$, če in samo če je $A_1 \land A_2 \land \dots \land A_k \Rightarrow B$ tavtologija.
\end{trditev}
\begin{dokaz}
Predpostavimo najprej, da velja $A_1, A_2, \dots, A_k \models B$. Če je $A_1 \land A_2 \land \cdots \land A_k$ resnična izjava, potem so resnične vse izjave $A_i$ za $i = 1,2, \dots, k$, torej so vse predpostavke $A_1, A_2, \dots, A_k$ resnične. Od tod sledi, da je resničen tudi zaključek $B$. Torej je $A_1 \land A_2 \land \cdot \land A_k \Rightarrow B$ tavtologija. \kljuka
Predpostavimo sedaj, da je $A_1 \land A_2 \land \cdot \land A_k \Rightarrow B$ tavtologija. Dokazati želimo veljavnost sklepa $A_1, A_2, \dots, A_k \models B$. Predpostavimo torej, da so resnične vse predpostavke $A_1, A_2, \dots, A_k$. Potem je resnična tudi njihova konjunkcija $A_1 \land A_2 \land \cdots \land A_k$. Iz predpostavke od tod sledi, da mora biti resnična tudi izjava $B$. Sklep $A_1, A_2, \dots, A_k \models B$ je torej veljaven. \kljuka
\end{dokaz}
{\definicija Pogojni sklep} (PS) uporabimo, kadar dokazujemo sklep, v katerem ima zaključek obliko implikacije. Če želimo sklepati na zaključek $B \Rightarrow C$, dodamo izjavo $B$ med predpostavke in skušamo sklepati na zaključek $C$. Veljavnost tega pomožnega sklepa sledi iz naslednjega izreka.
\begin{izrek}[o pogojnem sklepu]
Velja $A_1, A_2, \dots, A_k \models B \Rightarrow C$, če in samo če velja $A_1, A_2, \dots, A_k, B \models C$.
\end{izrek}
\begin{dokaz}
Naj bo $A = A_1 \land A_2 \land \cdots \land A_k$. Po zadnji trditvi je dovolj dokazati, da je $A \Rightarrow (B \Rightarrow C)$ tavtologija, če in samo če je $A \land B \Rightarrow C$ tavtologija. Ta dva izjavna izraza pa sta si v resnici enakovredna, saj velja
\[
A \Rightarrow (B \Rightarrow C) \sim \lnot A \lor (\lnot B \lor C) \sim (\lnot A \lor \lnot B) \lor C \sim \lnot (A \land B) \lor C \sim A \land B \Rightarrow C.
\]
Izraza sta torej bodisi oba tavtologiji bodisi nobenen od njiju ni tavtologija. S tem je izrek dokazan.
\end{dokaz}
\begin{zgled}
Dokažimo veljavnost sklepa
\[
p \Rightarrow q \lor r, \ \lnot r \models p \Rightarrow q.
\]
Ker ima zaključek obliko implikacije, lahko uporabimo pogojni sklep.
\begin{table}[h]
\centering
\begin{tabular}{lll}
$i$ & $B_i$ & utemeljitev \\ \hline
1 & $p \Rightarrow q \lor r$ & predpostavka \\
2 & $\lnot r$ & predpostavka \\
3.1 & $p$ & predpostavka PS \\
3.2 & $q \lor r$ & MP(3.1, 1) \\
3.3 & $q$ & DS(3.2, 2) \\
3 & \underline{$p \Rightarrow q$} & PS(3.1--3.3) \\
\end{tabular}
\caption{Uporaba pogojnega sklepa}
\end{table}
\end{zgled}
Pomožni {\definicija sklep s protislovjem} (RA\footnote{Lat. \emph{Reductio ad absurdum}.}) lahko uporabimo kadar koli. Če želimo sklepati na zaključek $B$, dodamo izjavo $\lnot B$ med predpostavke in skušamo sklepati na zaključek $0$. To je še posebej uporabno, kadar ima zaključek obliko negacije $\lnot B$, saj v tem primeru dodatna predpostavka postane $\lnot \lnot B \sim B$. Veljavnost tega pomožnega sklepa sledi iz naslednjega izreka.
\begin{izrek}[o sklepu s protislovjem]
Velja $A_1, A_2, \dots, A_k \models B$, če in samo če velja $A_1, A_2, \dots, A_k, \lnot B \models 0$.
\end{izrek}
\begin{dokaz}
Naj bo $A = A_1 \land A_2 \land \cdots \land A_k$. Kot v dokazu zadnjega izreka je dovolj dokazati, da je $A \Rightarrow B$ tavtologija, če in samo če je $A \land \lnot B \Rightarrow 0$ tavtologija. Ta dva izjavna izraza pa sta si v resnici enakovredna, saj velja
\[
A \land \lnot B \Rightarrow 0 \sim
\lnot A \lor \lnot \lnot B \sim
\lnot A \lor B \sim
A \Rightarrow B.
\]
\end{dokaz}
\begin{zgled}
Dokažimo veljavnost sklepa
\[
p \Rightarrow \lnot (q \Rightarrow r), \ q \land s \Rightarrow r, \ s \models \lnot p.
\]
Ker ima zaključek obliko negacije, še posebej radi uporabimo sklepanje s protislovjem.
\begin{table}[h]
\centering
\begin{tabular}{lll}
$i$ & $B_i$ & utemeljitev \\ \hline
1 & $p \Rightarrow \lnot(q \Rightarrow r)$ & predpostavka \\
2 & $q \land s \Rightarrow r$ & predpostavka \\
3 & $s$ & predpostavka \\
4.1 & $\lnot \lnot p$ & predpostavka RA \\
4.2 & $p$ & $\sim$ 4.1 \\
4.3 & $\lnot (q \Rightarrow r)$ & MP(4.2, 1) \\
4.4 & $q \land \lnot r$ & $\sim$ 4.3 \\
4.5 & $q$ & Po(4.4) \\
4.6 & $q \land s$ & Zd(4.5, 3) \\
4.7 & $r$ & MP(4.6, 2) \\
4.8 & $\lnot r \land q$ & $\sim$ 4.4 \\
4.9 & $\lnot r$ & Po(4.8) \\
4.10 & $r \land \lnot r$ & Zd(4.7, 4.9) \\
4.11 & $0$ & $\sim$ 4.10 \\
4 & \underline{$\lnot p$} & RA(4.1--4.11) \\
\end{tabular}
\caption{Uporaba sklepa s protislovjem}
\end{table}
\end{zgled}
Pomožni sklep {\definicija analiza primerov} (AP) uporabimo, kadar dokazujemo sklep, v katerem ima ena od predpostavk obliko disjunkcije $B_1 \lor B_2$. V tem primeru lahko sklep razdelimo na dva preprostejša sklepa, pri čemer prvemu dodamo predpostavko $B_1$, drugemu pa predpostavko $B_2$. Podobno kot pri prejšnjih dveh pomožnih sklepih veljavnost tega pomožnega sklepa sledi iz naslednjega izreka.
\begin{izrek}[o analizi primerov]
Velja $A_1, A_2, \dots, A_k, B_1 \lor B_2 \models C$, če in samo če veljata oba sklepa $A_1, A_2, \dots, A_k, B_1 \models C$ in $A_1, A_2, \dots, A_k, B_2 \models C$.
\end{izrek}
\begin{domacanaloga}
Dokaži izrek o analizi primerov.
\end{domacanaloga}
\begin{zgled}
Dokažimo veljavnost sklepa
\[
p \Rightarrow r, \ q \Rightarrow r, \ p \lor q \models r.
\]
Tretja predpostavka ima obliko disjunkcije, zato lahko sklep dokažemo s pomočjo analize primerov.
\begin{table}[h]
\centering
\begin{tabular}{lll}
$i$ & $B_i$ & utemeljitev \\ \hline
1 & $p \Rightarrow r$ & predpostavka \\
2 & $q \Rightarrow r$ & predpostavka \\
3 & $p \lor q$ & predpostavka\\
4.1.1 & $p$ & predpostavka AP(3) \\
4.1.2 & $r$ & MP(4.1.1, 1) \\
4.2.1 & $q$ & predpostavka AP(3) \\
4.2.2 & $r$ & MP(4.1.1, 2) \\
4. & \underline{$r$} & AP(3, 4.1.1--4.1.2, 4.2.1--4.2.2)
\end{tabular}
\caption{Uporaba analize primerov}
\end{table}
\end{zgled}
\chapter{Predikatni račun}
Predikatni račun je \emph{nadgradnja} izjavnega računa, ki omogoča bolj natančno logično izražanje. Najprej si bomo na konkretnih primerih pogledali, katere novosti prinaša predikatni račun. Za tem bomo te formalno definirali in razvili podobno teorijo kot v izjavnem računu.
\section{Motivacija}
Na konkretnih zgledih si oglejmo nekaj simbolov in formul, ki jih bomo videli v predikatnem računu. Ti zgledi nam bodo pomagali, da bomo v naslednjem razdelku lažje predelali formalne definicije predikatnega računa.
\begin{zgled}
Oglejmo si naslednji sklep, zapisan v slovenščini.
\begin{description}
\item[$p_1$:] Vsak zajec ljubi korenje.
\item[$p_2$:] Feliks je zajec.
\item[$z$:] Torej Feliks ljubi korenje.
\end{description}
V izjavnem računu ta sklep zapišemo kot $p_1, p_2 \models z$. Seveda pa ta sklep v izjavnem računu ni veljaven, protiprimer je namreč nabor $p_1 = 1, p_2 = 1, z = 0$.
Kljub temu se zdi, da je ta sklep v slovenščini vsekakor pravilen. Predikatni račun je nadgradnja izjavnega računa, v katerem izjavne spremeljivke $p_1, p_2, z$ obravnavamo nekoliko podrobneje, tako da bo ta sklep pravilen v tem novem računu.
Uvedimo naslednje oznake:
\begin{description}
\item[$Z(x)$:] $x$ je zajec.
\item[$K(x)$:] $x$ ljubi korenje.
\item[$a$:] Feliks
\item[$\forall x$:] za vsak $x$
\end{description}
S temi oznakami lahko sklep zapišemo bolj natančno takole:
\begin{description}
\item[$p_1$:] $\forall x \colon (Z(x) \Rightarrow K(x))$
\item[$p_2$:] $Z(a)$
\item[$z$:] $K(a)$
\end{description}
V predikatnem jeziku bomo torej poleg izjavnih vezikov in ločil iz izjavnega računa imeli {\definicija individualne spremenljivke} ($x$), {\definicija individualne konstante} ($a$), {\definicija predikate} ($Z$, $K$) in {\definicija univerzalni kvantifikator} ($\forall$).
\end{zgled}
\begin{zgled}
Prevedimo nekaj izjav iz slovenščine v nov jezik predikatnega računa, kot smo to storili v zadnjem zgledu. Izjave so naslednje:
\begin{enumerate}
\item Vsi gasilci so hrabri.
\item Nekateri gasilci so hrabri.
\item Nekateri gasilci niso hrabri.
\item Noben gasilec ni hraber.
\end{enumerate}
Uvedimo naslednje oznake:
\begin{description}
\item[$G(x)$:] $x$ je gasilec.
\item[$H(x)$:] $x$ je hraber.
\item[$\exists x$:] obstaja $x$
\end{description}
Izjave v slovenščini lahko s temi oznakami zapišemo na naslednji način:
\begin{enumerate}
\item $\forall x \colon (G(x) \Rightarrow H(x))$
\item $\exists x \colon (G(x) \land H(x))$
\item $\exists x \colon (G(x) \land \lnot H(x))$
\item $\forall x \colon (G(x) \Rightarrow \lnot H(x))$
\end{enumerate}
Tukaj smo videli še en simbol kvantifikacije, ki ga bomo imeli v predikatnem računu, in sicer {\definicija eksistenčni kvantifikator} ($\exists$).
\end{zgled}
\begin{zgled}
Storimo podobno kot v zadnjih dveh zgledih še za naslednjo matematično izjavo. \emph{Evklidov izrek} nam pove, da obstaja neskončno mnogo praštevil.
Če želimo to izjavo zapisati na podoben način kot prejšnje izjave v tem poglavju, nam bo v pomoč, če jo prepišemo v nekoliko drugačno obliko, in sicer kot izjavo, da obstajajo poljubno velika praštevila. Še vedno ni jasno, kako bi izrazili del izjave, ki pravi, da obstajajo \emph{poljubno velika} števila, zato bodimo še nekoliko bolj eksplicitni glede tega dela izjave. Evklidov izrek je ekvivalenten izjavi, da za vsako naravno število obstaja večje naravno število, ki je praštevilo. To zadnjo izjavo pa lahko zapišemo v predikatnem računu.
Uvedimo naslednje oznake:
\begin{description}
\item[$P(x)$:] $x$ je praštevilo.
\item[$V(x,y)$:] $x$ je večje od $y$.
\end{description}
V tem zgledu so naše spremenljivke $x$ iz množice naravnih števil, v prejšnjem zgledu pa so bile iz množice ljudi. Pomembno je, da se na začetku dogovorimo o področju pogovora oziroma {\definicija domeni}, saj izjave, ki jih zapišemo, morda v drugi domeni pomenijo čisto nekaj drugega.
Evklidov izrek lahko nazadnje zapišemo v predikatnem računu na naslednji način:
\[
\forall x \exists y \colon (V(y,x) \land P(y)).
\]
Tukaj smo srečali predikat $V$, ki je nekoliko drugačen od predikatov, ki smo jih videli do sedaj. Predikat $V$ je namreč \emph{dvomesten} (ima dva parametra), drugi predikati pa so bili vsi \emph{enomestni}.
\end{zgled}
\begin{zgled}
V prejšnjem zgledu smo govorili o praštevilih, za katere smo uvedli predikat $P$. Seveda pa bi lahko samo dejstvo, da je spremenljivka $x$ praštevilo, se pravi da je izjava $P(x)$ resnična, podrobneje opisali v predikatnem računu. To storimo v tem zgledu.
Po definiciji je naravno število $n$ praštevilo, če in samo če ima natanko dva naravna delitelja. Uvedimo naslednje oznake:
\begin{description}
\item[$f(x,y)$:] produkt $x$ in $y$
\item[$E(x,y)$:] $x$ je enak $y$.
\end{description}
Definicijo predikata $P$ lahko zapišemo na naslednji način:
\[
\forall x \colon \left(
P(x) \Leftrightarrow V(x,1) \land \forall u \forall v \colon ( E(x, f(u,v)) \Rightarrow E(u,1) \land E(v,1) ).
\right)
\]
Tukaj smo naleteli še na zadnji fenomen, ki ga bomo imeli v predikatnem računu, in sicer je to {\definicija funkcijski simbol} $f$, ki iz danih števil izračuna njun produkt.
\end{zgled}
\section{Sintaksa predikatnega računa}
Zdaj smo pripravljeni, da formalno definiramo vse koncepte v predikatnem računu. Sistematično bomo našteli simbole, ki jih uporabljamo, in opisali, kako iz njih sestavljamo izjavne formule.
Naj bo področje pogovora dano z neko množico $D$.
\subsection{Simboli}
V predikatnem računu uporabljamo naslednje simbole:
\begin{enumerate}
\item {\definicija Individualne konstante}, ki jih bomo označevali z $a,b,c,\dots$. To so \emph{konkretni} elementi množice $D$.
\item {\definicija Individualne spremenljivke}, ki jih bomo označevali z $x,y,z,\dots$. To so \emph{poljubni} elementi množice $D$.
\item {\definicija Predikati}, ki jih bomo označevali s $P,Q,R,\dots$. Ti predstavljajo relacije med elementi množice $D$. Predikati so lahko enomestni, dvomestni, \dots, $n$-mestni, \dots
\item {\definicija Funkcijski simboli}, ki jih bomo označevali s $f,g,h,\dots$. Tudi ti so lahko $n$-mestni za poljubno naravno število $n$. Funkcijski simboli predstavljajo funkcije iz $n$-teric elementov $D$ v $D$.
\item Izjavni vezniki iz izjavnega računa
\item {\definicija Simbola kvantifikacije} $\forall$ in $\exists$.
\item Ločila \texttt{():,}
\end{enumerate}
\subsection{Termi}
Najosnovnejše izjave, ki jih v predikatnem računu sestavljamo z naštetimi simboli, so {\definicija termi}. Definiramo jih induktivno,\footnote{Ta induktivna definicija je podobna kot induktivna definicija izjavnih izrazov v izjavnem računu.} in sicer na naslednji način: