Trädmetoden utgör ett systematiskt tillvägagångssätt för att testa

Trädmetoden för satslogik
Trädmetoden utgör ett systematiskt tillvägagångssätt för att testa huruvida en given
uppsättning satser är konsistent. Idén är att man successivt går igenom de olika möjligheterna
att hitta en värdering som gör samtliga av de aktuella satserna sanna. Eftersom logisk följd
kan formuleras i termer av konsistens (A1, A2, ..., An  B omm { A1, A2, ..., An , B} är
inkonsistent) så kan trädmetoden även användas för att testa logisk följd. Detta är också den
vanligaste tillämpningen av metoden.
Att avgöra konsistens är inte en uppenbart lättillgänglig uppgift i de fall där satserna det rör
sig om är komplexa. Emellertid kan man tack vare beroendet av sanningsvärdet hos
sammansatta satser på sanningsvärdet hos komponenterna reducera problemet till enklare fall.
Detta är trädmetodens ledtanke.
Låt oss börja med att betrakta ett enkelt fall. Antag att alla satserna i mängden som skall testas
för konsistens är antingen atomära satser eller negationer av atomära satser. (Ett exempel på
en sådan mängd är {p, q, q }) Det är enkelt att avgöra huruvida en mängd av detta slag är
konsistent: man går igenom alla atomära satser som förekommer i mängden och kontrollerar
om deras negationer förekommer eller inte. Om svaret i samtliga fall är nej så är mängden
konsistent. Annars inkonsistent. Den värdering man erhåller i konsistensfallet består i att man
låter alla atomära satser i mängden vilka förekommer onegerade tillskrivas värdet sant, medan
de atomära satser vars negation ingår i mängden tillskrivs värdet falskt. I exemplet ovan är
svaret att mängden är inkonsistent eftersom både q och q förekommer. Med exemplet {p,
q, r} i stället hade resultatet blivit att mängden är konsistent, med värdering p falsk, q sann, r
sann som bevis för detta.
Vid tillämpning av trädmetoden reducerar man, genom successiva förenklingar, problemet att
avgöra konsistens för mängder av sammansatta satser till problemet att avgöra konsistens för
mängder av atomära eller negerade atomära satser, d.v.s. till det problem vars lösning
beskrivits ovan. Förenklingsreglerna återspeglar sanningsfunktionaliteten hos
huvudkonnektiven i de satser som skall förenklas.
Först några typografiska anmärkningar. Vid tillämpningar av trädmetoden börjar man med att
skriva upp satserna ur den aktuella mängden under varandra i stället för efter varandra. Man
använder inte heller klamrar. Resultaten av de successiva förenklingarna skrivs sedan
nedanför tidigare resultat. Trädet växer med andra ord nedåt. Då olika alternativ måste testas
markeras detta genom en förgrening (som i ett beslutsträd).
Olika regler tillämpas för olika konnektiv. Antag exempelvis att trädet innehåller en sats av
formen (AB). Tack vare sanningsvillkoren för implikation vet vi att denna sats är sann
omm A är sann och B är falsk. Det betyder att en mängd som innehåller (AB) är
konsistent omm samma mängd fast med A och B i stället för (AB) är konsistent.
Om (AB) finns i trädet bockar vi för satsen (skriver "√" efter den) för att markera att vi
stryker den, och skriver i stället ned, längst ned på trädet, A och B. Schematiskt ser det ut på
följande sätt:
(AB) √
...
...
A
B
Antag i stället att AB förekommer i trädet. Här blir regeln mer komplicerad. AB är sann
då antingen A är falsk eller B är sann. Det finns alltså två möjligheter att göra implikationen
sann: antingen genom att låta A vara sann eller genom att låta B vara sann. Detta betyder att
en mängd av satser som innehåller AB är konsistent (satserna kan göras simultant sanna)
omm antingen samma mängd med A i stället för AB är konsistent, eller samma mängd
med B i stället för AB är konsistent. Här blir det alltså två alternativ som måste undersökas,
och därmed förgrenar sig trädet. Utseendet är det följande.
AB √
....
....
A
B
På samma sätt kan man motivera regler för de återstående konnektiven. Samtliga regler
sammanfattas nedan.
A 
....
AB 
....
A
A
B
AB 
....
A
AB 
A
(AB) 
....
A
A
B
B
B
(AB) 
....
B
A
B
(AB) 
(AB) 
A
B
A
B
A
B
Genom successiva tillämpningar av dessa regler kommer man till sist att ha strukit (bockat
för) alla sammansatta satser (satser som varken är atomära eller negationer av atomära satser).
Då kan man, såsom, ovan visats, läsa av lösningen på problemet. Priset man får betala för
förenklingarna är att antalet alternativ som behöver undersökas växer (trädet förgrenas).
Låt oss betrakta ett konkret exempel. Gäller den logiska följden pq  qp ?
Mängden vars konsistens skall testas är pq, (qp). Man börjar därför på följande
vis
pq
(qp)
Vi tillämpar nu regeln för negerad implikation.
pq
(qp) 
q
p
Nästa steg är att tillämpa regeln för dubbel negation.
pq
(qp) 
q
p 
p
Vi har den första implikationen kvar att bearbeta. Regeln för implikation ger oss nu en
förgrening.
p
pq 
(qp) 
q
p 
p
q
Nu har vi kommit ned till nivån av atomära eller negerat atomära satser (alla sammansatta
satser har bockats för). Vi har fått två alternativ till värderingar som skall göra
ursprungsmängdens satser sanna. Dessa alternativ ser vi genom att läsa av de atomära och
negerat atomära satserna längs med de respektive grenarna. Först den vänstra grenen. Detta
ger oss mängden p, p, q (Avläst nedifrån och upp). Denna mängd är inkonsistent och
ger alltså inte någon värdering som gör ursprungsmängden sann. Det andra alternativet, från
den högra grenen, är q, p, q, vilket också är en inkonsistent mängd. Därmed är även
ursprungsmängden inkonsistent, vilket betyder att den logiska följden gäller.
Om man under utvecklandet av trädet upptäcker att en gren innehåller inkonsistenser (en sats
och dess negation) så vet man att denna gren inte kan ge någon värdering som gör satserna
sanna. Därmed behöver man inte undersöka detta alternativ (utveckla grenen) ytterligare,
även om inte alla sammansatta satser har bockats för. Detta markerar man genom att sätta ett
kryss under grenen, och sedan gå vidare till andra grenar. Ett alternativt uttryckssätt är att man
"stänger grenen".
Om man har bockat för alla sammansatta formler men det ändå finns en gren som inte kan
stängas (som inte innehåller motsägelser) säger man att denna gren är öppen. Genom att läsa
av vilka atomära och negerat atomära satser som förekommer får man, som i exemplet som
inledde texten, en värdering som gör ursprungsmängdens satser sanna och som därmed
demonstrerar dennas konsistens.
Som ett exempel på detta: Gäller det att pq, qr  rp ?
1.
2.
3.
4.
5.
6.
q
p
pq 
qr 
(rp) 
r
p
r
q
x
p
q
Rad 4 och 5 kommer från rad 3 via regeln för negerad implikation tillämpad på rad 3. Rad 6
kommer från rad 2 via regeln för implikation. Sista raden kommer från rad 1 genom regeln för
implikation. Här ser vi att vi kan stänga den andra grenen från vänster, eftersom där finns
både q och q. Men de övriga grenarna innehåller inga motsägelser, och är alltså öppna. Om
vi t.ex. betraktar den första grenen från vänster ser vi att denna innehåller de atomära och
negerat atomära satserna p, q, p och r. Detta ger oss värderingen p falsk, q falsk, r sann,
som alltså utgör ett motexempel mot den logiska följden (en värdering för vilken premisserna
är sanna, men slutsatsen falsk).
Låt oss betrakta ytterligare ett exempel.
Gäller det att pqr, r  pq ? Trädet blir som följer.
1.
2.
3.
4.
5.
6.
7.
pqr 
r
(pq) 
p
q
qr 
q
r
x
x
Alla grenar stängs, så logisk följd gäller. Observera att vi började med att bearbeta den
negerade implikationen på rad 3, vilket ger rad 4 och 5. Vi hade också kunnat börja med att
bearbeta implikationen i rad 1. Detta leder till följande träd.
1.
2.
3.
4.
5.
6.
7.
p
x
pqr 
r
(pq) 
p
p
q
x
qr 
p
q
q
r
x
x
Samma resultat, men ett något mer omfattande träd eftersom vi här tvingas skriva ned
resultatet av bearbetningen av (pq) på två grenar. En onödig fördubbling som man
undviker genom att så långt som möjligt skjuta upp förgreningar. Det går alltså att bespara sig
arbete genom att välja i vilken ordning man skall behandla de i trädet ingående satserna. Här
är principen den att satser som inte skapar förgreningar skall gå före dem som skapar
förgreningar.
Observera att bakgrunden till denna princip är den regeln att man skall skriva ned resultatet av
förbockningen av en sats på samtliga grenar nedanför satsen ifråga. Det är på grund av detta
som en olämpligt utförd förgrening fördubblar antalet satser i trädet.