Z Wikipedii, wolnej encyklopedii
Metoda tablic semantycznych – metoda (algorytm ) sprawdzania spełnialności teorii (rozumianej jako pewien podzbiór zbioru zdań języka Rachunku Zdań ) przez zbudowanie jej maksymalnej tablicy semantycznej[1] .
Objaśnienia i działanie algorytmu [ edytuj | edytuj kod ]
Drzewem semantycznym nazywamy ukorzenione drzewo binarne , którego wierzchołkami są zbiory złożone ze zdań języka Rachunku Zdań (teorie ). Wierzchołek
W
{\displaystyle W}
takiego drzewa nazywamy zamkniętym , jeśli jest zdanie
α
{\displaystyle \alpha }
takie, że
{
α
,
¬
α
}
⊆
W
.
{\displaystyle \{\alpha ,\lnot \alpha \}\subseteq W.}
Maksymalną tablicą semantyczną zbioru
G
{\displaystyle G}
nazywamy drzewo semantyczne, którego korzeniem jest
G
{\displaystyle G}
i dla każdego wierzchołka
W
{\displaystyle W}
istnieją zdania
α
{\displaystyle \alpha }
i
β
{\displaystyle \beta }
takie, że spełniony jest dokładnie jeden z następujących warunków:
¬
¬
α
∈
W
,
{\displaystyle \lnot \lnot \alpha \in W,}
W
{\displaystyle W}
ma dokładnie jedno dziecko
W
′
{\displaystyle W'}
oraz
W
′
=
W
∖
{
¬
¬
α
}
∪
{
α
}
{\displaystyle W'=W\setminus \{\lnot \lnot \alpha \}\cup \{\alpha \}}
α
∧
β
∈
W
,
{\displaystyle \alpha \land \beta \in W,}
W
{\displaystyle W}
ma dokładnie jedno dziecko
W
′
{\displaystyle W'}
oraz
W
′
=
W
∖
{
α
∧
β
}
∪
{
α
,
β
}
{\displaystyle W'=W\setminus \{\alpha \land \beta \}\cup \{\alpha ,\beta \}}
α
∨
β
∈
W
,
{\displaystyle \alpha \lor \beta \in W,}
W
{\displaystyle W}
ma dokładnie dwoje dzieci
W
1
′
{\displaystyle W'_{1}}
i
W
2
′
{\displaystyle W'_{2}}
oraz
W
1
′
=
W
∖
{
α
∨
β
}
∪
{
α
}
{\displaystyle W'_{1}=W\setminus \{\alpha \lor \beta \}\cup \{\alpha \}}
i
W
2
′
=
W
∖
{
α
∨
β
}
∪
{
β
}
{\displaystyle W'_{2}=W\setminus \{\alpha \lor \beta \}\cup \{\beta \}}
¬
(
α
∨
β
)
∈
W
,
{\displaystyle \lnot (\alpha \lor \beta )\in W,}
W
{\displaystyle W}
ma dokładnie jedno dziecko
W
′
{\displaystyle W'}
oraz
W
′
=
W
∖
{
¬
(
α
∨
β
)
}
∪
{
¬
α
,
¬
β
}
{\displaystyle W'=W\setminus \{\lnot (\alpha \lor \beta )\}\cup \{\lnot \alpha ,\lnot \beta \}}
¬
(
α
∧
β
)
∈
W
,
{\displaystyle \lnot (\alpha \land \beta )\in W,}
W
{\displaystyle W}
ma dokładnie dwoje dzieci
W
1
′
{\displaystyle W'_{1}}
i
W
2
′
{\displaystyle W'_{2}}
oraz
W
1
′
=
W
∖
{
¬
(
α
∧
β
)
}
∪
{
¬
α
}
{\displaystyle W'_{1}=W\setminus \{\lnot (\alpha \land \beta )\}\cup \{\lnot \alpha \}}
i
W
2
′
=
W
∖
{
¬
(
α
∧
β
)
}
∪
{
¬
β
}
{\displaystyle W'_{2}=W\setminus \{\lnot (\alpha \land \beta )\}\cup \{\lnot \beta \}}
α
→
β
∈
W
,
{\displaystyle \alpha \to \beta \in W,}
W
{\displaystyle W}
ma dokładnie dwoje dzieci
W
1
′
{\displaystyle W'_{1}}
i
W
2
′
{\displaystyle W'_{2}}
oraz
W
1
′
=
W
∖
{
α
→
β
}
∪
{
¬
α
}
{\displaystyle W'_{1}=W\setminus \{\alpha \to \beta \}\cup \{\lnot \alpha \}}
i
W
2
′
=
W
∖
{
α
→
β
}
∪
{
β
}
{\displaystyle W'_{2}=W\setminus \{\alpha \to \beta \}\cup \{\beta \}}
¬
(
α
→
β
)
∈
W
,
{\displaystyle \lnot (\alpha \to \beta )\in W,}
W
{\displaystyle W}
ma dokładnie jedno dziecko
W
′
{\displaystyle W'}
oraz
W
′
=
W
∖
{
¬
(
α
→
β
)
}
∪
{
α
,
¬
β
}
{\displaystyle W'=W\setminus \{\lnot (\alpha \to \beta )\}\cup \{\alpha ,\lnot \beta \}}
α
↔
β
∈
W
,
{\displaystyle \alpha \leftrightarrow \beta \in W,}
W
{\displaystyle W}
ma dokładnie dwoje dzieci
W
1
′
{\displaystyle W'_{1}}
i
W
2
′
{\displaystyle W'_{2}}
oraz
W
1
′
=
W
∖
{
α
↔
β
}
∪
{
α
,
β
}
{\displaystyle W'_{1}=W\setminus \{\alpha \leftrightarrow \beta \}\cup \{\alpha ,\beta \}}
i
W
2
′
=
W
∖
{
α
↔
β
}
∪
{
¬
α
,
¬
β
}
{\displaystyle W'_{2}=W\setminus \{\alpha \leftrightarrow \beta \}\cup \{\lnot \alpha ,\lnot \beta \}}
¬
(
α
↔
β
)
∈
W
,
{\displaystyle \lnot (\alpha \leftrightarrow \beta )\in W,}
W
{\displaystyle W}
ma dokładnie dwoje dzieci
W
1
′
{\displaystyle W'_{1}}
i
W
2
′
{\displaystyle W'_{2}}
oraz
W
1
′
=
W
∖
{
¬
(
α
↔
β
)
}
∪
{
¬
α
,
β
}
{\displaystyle W'_{1}=W\setminus \{\lnot (\alpha \leftrightarrow \beta )\}\cup \{\lnot \alpha ,\beta \}}
i
W
2
′
=
W
∖
{
¬
(
α
↔
β
)
}
∪
{
α
,
¬
β
}
{\displaystyle W'_{2}=W\setminus \{\lnot (\alpha \leftrightarrow \beta )\}\cup \{\alpha ,\lnot \beta \}}
{
α
,
¬
α
}
⊆
W
{\displaystyle \{\alpha ,\lnot \alpha \}\subseteq W}
oraz
W
{\displaystyle W}
jest liściem
każdy element
W
{\displaystyle W}
jest literałem oraz
W
{\displaystyle W}
jest liściem
Zarówno pojęcie drzewa semantycznego, jak i tablicy semantycznej można zdefiniować równoważnie przez drzewa słów nad alfabetem
{
0
,
1
}
{\displaystyle \{0,1\}}
z funkcją przyporządkowującą wierzchołkom podzbiory zbioru zdań logicznych . Wtedy wymienione wyżej warunki dotyczą zbiorów, które taka funkcja przyporządkowuje wierzchołkom[1] .
Dla podanej teorii
G
{\displaystyle G}
algorytm konstruuje jej maksymalną tablicę semantyczną
T
.
{\displaystyle T.}
Jeśli wszystkie liście
T
{\displaystyle T}
są zamknięte, to algorytm odpowiada, że
G
{\displaystyle G}
nie jest spełnialna.
W przeciwnym wypadku odpowiada, że
G
{\displaystyle G}
jest spełnialna[1] .