Om $a$ och och $b$ är satser eller påståenden som kan vara sanna
eller falska men inte något annat så definierar vi följande
(mycket naturliga) sk. konnektiver:
-
Satsen $(a\And b)$ är sann då $a$ är sann och $b$ är sann.
- Satsen $(a\Or b)$ är sann när $a$ är sann eller $b$ är sann (och
också när båda är sanna).
- Satsen $(\Neg a)$ är sann när $a$ inte är sann dvs. när $a$
är falsk.
Dessutom definierar vi implikation och ekvivalens på följande sätt:
- Satsen $(a\to b)$ är sann när $((\Neg a)\Or b)$ är sann,
dvs. då $b$ är sann eller $a$ är falsk.
- Satsen $(a\leftrightarrow b)$ är sann när $((a\to b)\And (b\to a))$ är
sann.
Satser är antingen sk. atomära satser (elementarsatser) eller så har
de formen $(a\And b)$,
$(a\Or b)$ eller $(\Neg a)$ där $a$ och $b$ är satser
(och om man använder lämpliga prioritetsregler kan "onödiga"
parenteser lämnas bort).
Alternativa beteckningar [+]
- I matematisk logik används ofta $\wedge$ i stället för $\And$,
$\vee$ i stället för $\Or$ och $\neg$ i stället för $\Neg$.
- I programspråk används i stället för
$\And$ bla. $\&$, $\&\&$ eller $\text{and}$, i stället för $\Or$
bla. $|$, $||$ eller $\text{or}$ och i stället för negationen
$\Neg$ används bla. $!$ och $\text{not}$.
- Implikationen $\to$ och $\leftrightarrow$ skrivs ofta i formen
$\Rightarrow$ och $\Leftrightarrow$.
- När man definierar mängder används ofta ett kommatecken i
stället för $\And$ dvs man skriver
$\{x\in \R\mid x^3-x^2-4\cdot x +4=0,\, x>0\}$ i stället för
$\{x\in \R\mid x^3-x^2-4\cdot x +4=0 \And x>0\}$
(och man kan förstås också skriva
$\{x\in \R\mid x^3-x^2-4\cdot x +4=0 \text{ och } x>0\}$).
Implikation [+]
Observera att implikationen $a\to b$ är en sats som antingen är
sann eller falsk men som inte säger någonting om orsak eller
verkan fastän vi kan säga "om $a$ så $b$". Tex. satsen
$(\sqrt 2\in \Q) \to (-1>0)$
är sann eftersom $(\sqrt 2\in \Q)$ är falsk så att det är
irrelevant om satsen $(-1>0)$ är sann eller inte. Däremot är en
sats som denna inte speciellt förnuftig medan igen implikationen
$(3>2) \to (9>4)$
är både sann och förnuftig eftersom den är ett specialfall av
satsen
$((x>y) \And (y\geq 0))\to (x^2>y^2)$
som säger att funktionen $x\mapsto x^2$ är strängt växande i
mängden $[0,\infty\ipr$.
Ett annat exempel som visar att implikationen $a \to b$ inte
motsvarar det vardagliga språkbruket "om $a$ så $b$" eller "av
$a$ följer $b$" är att satsen
$(a\to b)\Or (b\to a)$
är en tautologi dvs. sann oberoende av om satsernas $a$ och $b$
sanningsvärden.
Exempel [+]
Låt $A=\set{1,2,3,4}$, $B=\set{0,3,4}$ och $C=\set{x\mid x \text{
är ett heltal }\geq 2}$. Vilka av följande påståenden är sanna?
- $x\in A\cap C \rightarrow x\in B$ för alla $x$?
Svar [+]
Eftersom $A\cap C=\set{2,3,4}$ så
gäller $2\in A\cap C$
men eftersom $2\notin B$ så är det här påståendet inte sant
(och påståendet säger att $A\cap C\subseteq B$).
- $A\subseteq B \rightarrow C\subseteq A$?
Svar [+]
Eftersom $2\in A$ men $2\notin B$
så gäller inte $A\subseteq B$ och
det betyder att implikationen $A\subseteq B \rightarrow C\subseteq
A$ är sann.
- Det finns ett $y\in C$ så att $y\in B \rightarrow
y\in A$ inte gäller?
Svar [+]
Satsen $y\in B \rightarrow y\in A$
gäller inte om och endast om $y\in B$ och $y\notin A$ dvs.
$y\in B\setminus A=\{0\}$ och eftersom
$0\notin C$ så är påståendet falskt.
Exempel [+]
Antag att du befinner dig i en främmande stad och undrar om du kommer
med buss $409$ till ditt hotell. Du tänker fråga en invånare i staden
men kommer ihåg att du hört att det finns två sorts människor i
den här staden, dels de som
svarar sanningsenligt ja eller nej på varje fråga och dels de som
alltid svarar lögnaktigt ja eller nej.
Vad skall du fråga? [+]
Du kan tex. resonera på följande sätt:
Låt $B$ vara påståendet att buss $409$ för dig till ditt hotell och låt
$S$ vara påståendet att den person du frågar alltid talar sanning.
Du skall formulera ett påstående $P$ så att om du frågar om
det är sant så får du ett svar som är "ja" eller
"påståendet är sant" i precis de fall då $B$ är sant och
annars "nej". Detta innebär
att vi får följande tabell för sanningsvärdena ($T$ för sant, $F$
för falskt) eftersom svaret är sanningsenligt precis då $S$
är sann:
$B:$ | $T$ | $T$ | $F$ | $F$ |
$S:$ | $T$ | $F$ | $T$ | $F$ |
Svar | Ja | Ja | Nej | Nej |
$P:$ | $T$ | $F$ | $F$ | $T$ |
Vi ser att $P$ skall vara sant då $B$ och $S$ båda är sanna eller
båda falska så påståendet eller frågan blir
$ (B\And S) \Or (\Neg B \And \Neg S)$.
Bevis och slutledningsregler i satslogik [+]
Ett bevis är en lista som består av satser kombinerade med
motiveringar och varje sats är antingen ett axiom (och då är
motiveringen att detta antas) eller härlett ur tidigare satser med
hjälp av någon slutledningsregel (och då är motiveringen
ifrågavarande satser och slutledningsregeln som kan tillämpas på
dem). Tex. modus ponens dvs.
$\qquad x$
$\qquad \underline {x\to y}$
$\qquad y$
är en viktig slutledningsregel och baserar sig på att $(x\And (x\to y))\to
y$ är en tautologi, dvs. alltid sann oberoende av satsernas $x$ och
$y$ sanningsvärden. Den här slutledningsregeln (liksom alla andra)
används så att om i satslistan redan finns satserna $a$ och $a\to
b$ så kan man lägga satsen $b$ till listan.
Observera att detta sätt att bevisa en sats lämpar sig bra om det
gäller att övertyga en "maskin" om en sats är sann men mycket sämre
om beviset presenteras för en människa. Men om beviset ges mera
informellt utan att använda sig av logikens beteckningar så kan man
fortfarande kräva att beviset skall kompletteras med mera detaljer
så att man till slut finns en formell slutledningsregel för varje steg.
Exempel [+]
Låt $p$ och $q$ vara två satser. Nu bevisar vi att $q$ är sann
om $p\And (\Neg p)$ är sann, dvs. om antagandet innehåller en
motsägelse så kan man bevisa vad som helst. Som slutledningsregler
använder vi här följande:
Regel 1 | Regel 2 | Regel 3 | Regel 4 |
\(\begin{aligned}
&x\Or y\\ &\rlap{\underline{~~~~~~}}\Neg x\\ &y\end{aligned}\) |
\( \begin{aligned}
& \underline{x\And y}\\ & x \end{aligned} \) |
\( \begin{aligned}
&\rlap{\underline{~~~~~~~~~~}} x\\ & x\Or y\end{aligned} \) |
\( \begin{aligned}
& \rlap{\underline{~~~~~~~~~~~~}} {x\And y}\\ & y\And x \end{aligned} \) |
Beviset är följande:
- $p\And (\Neg p)$: Antagande
- $p$: (1) och Regel är $x=p$ och $y=\Neg p$
- $p \Or q$: (2) och Regel 3 där $x=p$ och $y=q$
- $(\Neg p) \And p$: (1) och Regel 4 där $x=p$ och
$y=\Neg p$
- $\Neg p$: (4) och Regel 2 där $x=\Neg p$ och $y=p$
- $q$: (3), (5) och Regel 1 där $x=p$ och $y=q$.
Ett annat, enklare, bevis kunde baserar sig på att satsen $p\And
(\Neg p)$ är falsk så att $(p\And (\Neg p))\to q$ är sann och
sedan kunde vi tillämpa modus ponens.
Predikatlogik är en utvidgning av satslogiken i vilken man
förutom konnektiven $\And$, $\Or$, $\Neg$, $\to$ och
$\leftrightarrow$ också använder de sk. universal- och
existenskvantorerna
$\forall$ ("för alla") och $\exists$ ("det finns"),
och förutom satser också använder variabler $x, y,\ldots$ och
predikat $P, Q,\ldots$. Predikaten har ett ändligt antal
variabler, tex. $P(x)$, $Q(x,y)$, osv. och tex. $Q(x,y)$ är
varje $x$ och $y$ antingen är sant eller falskt. Ett predikat som inte
har några variabler är en sats som i satslogiken.
- Satsen $\forall x \, P(x)$ är sann när $P(x)$ är sann för
alla $x$.
- Satsen $\exists x \, P(x)$ är sann när är det finns ett $x$
så att $P(x)$ är sant.
Bevis i predikatlogik [+]
liknar de i satslogik men mera
slutledningsregler behövs naturligtvis för att klara av
kvantorerna $\forall$ och $\exists$. I samband med detta och också
mera allmänt är det viktigt att observera att om man kan bevisa
att något påstående gäller för ett godtyckligt element $x$ (av vad
slag det nu än kan vara) så
gäller påståendet för alla $x$ av den typen.
Exempel [+]
Påståendet "För alla reella tal $x$ gäller att om $x$ är
positiv så finns det ett positivt reellt tal $y$ så att $y < x$"
kan vi med predikatlogikens beteckningar skriva i formen
\[
\forall x\, (P(x) \to (\exists y\, (P(y) \And L(y,x))))
\]
där $P(x)$ är sann ifall $x$ är ett positivt reellt tal,
dvs. $P(x)$ är satsen $(x\in \R)\And (x>0)$ där $x\in \R$ och
$x>0$ är predikat och $L(y,x)$ är sann om $y$
är mindre än $x$ dvs. $L(y,x)$ är predikatet $(y< x)$.
Den här satsen kan vi bevisa tex. så här:
Låt $x > 0$ vara ett godtyckligt positivt reellt tal. Då är
också $y=\frac x2$ ett positivt reellt tal och eftersom $x >0 $
så är $y=\frac x2 < x$.
Följande resonemang duger däremot inte: Låt
$x$ vara något positivt reellt tal, tex. Då är $1$ ett
positivt reellt tal som är mindre än
$x=2$ eftersom detta endast visar att satsen $\exists x
(x\in \R \And x>0 \And \exists y(y\in \R \And y > 0 \And y < x))$
är sann.
Prioritetsordning, $\forall x\in A$ och $\exists x\in A$ [+]
Genom att använda parenteser blir satser i sats- och
predikatlogik entydigt bestämda men eftersom ett för stort antal
parenteser gör det svårare att läsa (för en människa, inte en
datorer) så evaluerar man logiska konnektiv och kvantorer
vanligtvis i följande ordning (innanför parenteser): Först
$\Neg$, sedan $\forall$
och $\exists$, sedan $\And$ och $\Or$ och till sist $\to$ och
$\leftrightarrow$.
Satserna $\forall x\in A\, (P(x))$ och $\exists x\in A\, (P(x))$ är
förkortningar av satserna
\begin{align*}
&\forall x\, (x\in A \to P(x)),\\
& \exists x\, (x\in A \And P(x)),
\end{align*}
och betyder (förstås) att
"för alla element $x$ i $A$ gäller $P(x)$"
och "det finns ett element $x$ i $A$ så att $P(x)$ gäller".
Negationen $\Neg\!$, konnektiverna $\And$
och $\Or$ samt kvantorerna $\forall$ och $\exists$ [+]
För alla satser $a$ och $b$ gäller
\begin{align*}
\Neg (a\And b) &\leftrightarrow (\Neg a) \Or (\Neg
b),\\
\Neg (a\Or b) &\leftrightarrow (\Neg a) \And (\Neg b),
\end{align*}
dvs. satserna $a$ och $b$ är inte sanna precis då $a$ inte är
sann eller $b$ inte är sann. Satsen $\Neg (a\And
b) \leftrightarrow (\Neg a) \Or (\Neg b)$ är en sk. tautologi
eftersom den är sann oberoende av satsernas $a$ och $b$ sanningsvärden.
På motsvarande sätt gäller för alla predikat $P$
\begin{align*}
\Neg(\forall x(P(x))) &\leftrightarrow \exists x(\Neg P(x)),\\
\Neg(\exists x(P(x))) &\leftrightarrow \forall x(\Neg P(x)).
\end{align*}
Exempel: Koordinaterna i ett ordnat par [+]
Den första koordinaten i paret $[x,y]$ (eller $(x,y)$
speciellt om det är frågan om en punkt i $xy$-planet) är (naturligtvis)
$x$ och den andra är $y$.
Om vi som definition av det ordnade paret tar
$[a,b]=\{\{a\},\{a,b\}\}$ så kan vi definiera predikaten $F(p,x)$
och $A(p,y)$, som säger att $x$ är den första koordinaten i $p$
och $y$ är den andra koordinaten i $p$ på följande sätt:
\[
E(p,x)=\forall z((z\in p)\to(x\in z))
\]
(eller kortare $\forall z\in p\, (x\in z))$ och
där $u==v$ är ett predikat som säger att $u$ är samma mängd
som $v$. Vi kan skriva $T(p,y)$ kortare i formen