We define a deduction method based on applying productions to fact bases of LLS-1 ontologies.

We associate productions with each pattern. Below is the list of these productions. It easy to prove that the productions are sound. For example, take the pattern 13: *C = D* OR *E*. Clearly, for any surrogate *s* : (*i*) if *s* ∈ “*C*” and *s* ∉ “*D*” then *s* ∈ “*E*”; (*ii*) if *s* ∈ “*C*” and *s* ∉ “*E*” then *s* ∈ “*D*”; (*iii*) if *s* ∉ “*C*” then *s* ∉ “*D*” and *s* ∉ “*E*”; (*iv*) if *s* ∉ “*D*” and *s* ∉ “*E*” then *s* ∉ “*C*” ; (*v*) if *s* ∈ “*D*” then *s* ∈ “*C*” ; (*v*) if *s* ∈ “*E*” then *s* ∈ “*C*”. Thus, all productions for the pattern 13 are sound.

**Pattern** EXIST *C*.

=> *+*sj: *C*

Here sj is new Skolem’s constant.

**Pattern** NULL *C*.

=> -vj: *C*

Here vj is new vriable.

**Pattern** EXIST *L*.

=> *+*sj: *L*: *+*s(j+1)

Here sj and s(j+1) are new Skolem’s constants.

**Pattern** NULL *L*.

=> *+*vj: *L*: *+*v(j+1)

Here vj and v(j+1) are new variables.

**Pattern** *C* ISA *D*.

+X: *C* => +X: *D*, –X: *D* => –X: *C*,

**Pattern** *L* ISA *M*.

+X: *L*: Y => +X: *M*: Y, –X: *M*: Y => –X: *L*: Y,

**Pattern** *C = D*.

+X: *C* => +X: *D*, –X: *D* => –X: *C*,

+X: *D* => +X: *C*, –X: *C* => –X: *D*.

**Pattern** *L =* *M*.

+X: *L*: Y => +X: *M*: Y, –X: *M*: Y => –X: *L*: Y,

+X: *M*: Y => +X: *L*: Y, –X: *M*: Y => –X: *L*: Y.

**Pattern** EACH *C P*

+X: *C* => +(X *P*), –(X *P*) => -X: *C*

**Pattern** SOME *C P*

=> *+*sj: *C* ; +(sj *P*)

**Pattern** *C =* NOT *D*.

+X: *C* => –X: *D*, –X: *D* => +X: *C*,

+X: *D* => –X: *C*, –X: *C* => +X: *D*.

**Pattern** *L =* NOT *M*.

+X: *L*: Y => –X: *M*: Y, –X: *M*: Y => *+*X: *L*: Y,

+X: *M*: Y => –X: *L*: Y, –X: *M*: Y => *+*X: *L*: Y.

**Pattern** *L =* INV(*M*).

+X: *L*: Y => +Y: *M*: X, –X: *L*: Y => –Y: *M*: X.

**Pattern** *C = D* AND *E*.

*+*X: *C* => *+*X: *D* ; +X: *E*, *+*X: *D* ; *+*X: *E* => +X: *C*,

–X: *C* ; *+*X: *D* => –X: *E*, –X: *C* ; *+*X: *E* => –X: *D*,

–X: *D* => –X: *C*, –X: *E* => –X: *C*.

**Pattern** *C = D* OR *E*.

*+*X: *C* ; –X: *D* => +X: *E*, *+*X: *C* ; –X: *E* => +X: *D*,

–X: *C* => –X: *D* ; –X: *E*, –X: *D* ; –X: *E* => –X: *C*,

*+*X: *D* => *+*X: *C*, *+*X: *E* => +X: *C*.

**Pattern** Lj *= L* AND *M*.

*+*X: Lj: Y => *+*X: *L*: Y ; +X: *M*: Y,

*+*X: *L*: Y ; +X: *M*: Y => *+*X: Lj: Y,

–X: Lj: Y ; *+*X: *L*: Y => –X: *M*: Y,

–X: Lj: Y ; *+*X: *M*: Y => –X: *L*: Y,

–X: *L*: Y => –X: Lj: Y, –X: *M*: Y => –X: Lj: Y.

**Pattern** Lj *= L* OR *M*.

–X: Lj: Y => –X: *L*: Y; –X: *M*: Y,

–X: *L*: Y; –X: *M*: Y => –X: Lj: Y

*+*X: Lj: Y ; –X: *L*: Y => +X: *M*: Y,

*+*X: Lj: Y ; –X: *M*: Y => +X: *L*: Y,

*+*X: *L*: Y => *+*X: Lj: Y, *+*X: *M*: Y => +X: Lj: Y.

**Pattern** Cj *= C* THAT *P*.

*+*X: Cj => *+*X: *C* ; +(X *P*),

*+*X: *C* ; +(X *P*) => *+*X: Cj,

–X: Cj ; *+*X: *C* => – (X *P*),

–X: Cj ; *+*(X *P*) => – X: *C*,

–X: *C* => –X: Cj,

– (X *P*) => –X: Cj.

**Pattern** Pj *= L* SOME *C*.

+(X Pj) *=*>+X: *L*: sk ; +sk: *C*,

–(X Pj); +Y: *C =*> –X:*L*:Y,

–(X Pj) ; +X: *L*: Y *=*> –Y: *C*.

**Pattern** Pj *= L* EACH *C*.

+(X Pj); +Y: *C* => +X:*L*:Y,

+(X Pj) ; –X:*L*:Y => –Y: *C*,

–(X Pj) => –X: *L*: sk ; +sk: *C*.

**Pattern** Pj *= L* ONLY *C*.

+(X Pj) ; +X:*L*:Y => +Y: *C*, +(X Pj) ;

–X: *L*:Y => –Y: *C*,

–(X Pj) => +X: *L*: sk ; –sk: *C*.

**Pattern** Lj *=* INV(*L*).

+X: *L*: Y => +Y: *L*: X,

–X: *L*: Y => –Y: *L*: X.

+(X *Q*) => +(X *P*),

–(X *P*) => –(X *Q*).

**Pattern** *R = P* AND *Q*.

*+*(X *R*) => *+*(X *P*) ; +(X *Q*),

–(X *R*) ; *+*(X *P*) => –(X *Q*),

–(X *R*) ; *+*(X *Q*) => –(X *P*),

–(X *P*) => –(X *R*),

–(X *Q*) => –(X *R*).

**Pattern** *R = P* OR *Q*

–(X *R*) => –(X *P*) ; –(X *Q*),

*+*(X *R*) ; –(X *P*) => +(X *Q*),

*+*(X *R*) ; –(X *Q*) => +(X *P*), *+*(X *P*) => *+*(X *R*),

–(X *Q*) => –(X *R*).

**Pattern** *P =* (*L V*)

*+*(X *P*) => +X: *L*: *V*.

Here *V* is a variable.

**Pattern** *P =* (*L c*)

+(X *P*) => +X: *L*: *c*.

**Pattern** *S = T*

*+*: *S* => +: *T*, –: *T* => –: *S*, *+*: *T* => +: *S*,

–: *S* => –: *T*.

**Pattern** *S = T* AND *T*_{1}

*+*: *S* => +: *T* ; +: *T*_{1}, –: *S* ; +: *T* => –: *T*_{1}

–: *S* ; +: *T*_{1} => –: *T*, –: *T* => –: *S*, –: *T*_{1} => –: *S*.

**Pattern** *S = T* OR *T*_{1}

–: *S* => –: *T* ; –: *T*_{1}, *+*: *S* ; –: *T* => +: *T*_{1},

*+*: *S* ; –: *T*_{1} => +: *T*, +: *T* => +: *S*, *+*: *T*_{1} => +: *S*.

**Pattern** *S = T* IMP *T*_{1}

–: *S* => *+*: *T* ; –: *T*_{1}, *+*: *S* ; –: *T* => +: *T*_{1},

*+*: *S* ; –: *T*_{1} => +: *T*, +: *T* => +: *S*, *+*: *T*_{1} => +: *S*.

**Pattern** *S =* EXIST *C*.

*+*: *S* => +sj: *C*, –: *S* => –vj: *C*, +*c*: *C =*> +: *S*,

–*v*: *C =* > –: *S*.

Here s*j* is new Skolem’s constant, v*j* is new variable, *c* is an object constant, *v* is a variable,

**Pattern** *S =* EXIST *L*

*+*: *S* => *+*sk: *L*: s(k+1), –: *S* => –vk: *L*: v(k+1),

+*c*: *L*: *d => +: **S*, –*u*: *L*: *v =* > –: *S*.

Here sk and s(k+1) are new Skolem’s constants, vk and v(k+1) are new variables, *c* and *d* are object constants, *u* and *v* are variables.

**Pattern** *S =* NULL *C*

*+*: *S* => –vk: *C*, –: *S* => *+*sk: *C*, *+v*: *C* => +: *S*,

+*c*: *C =*> –: *S*.

Here sk is new Skolem’s constant, vk is new variable, *c* is an object constants, *v* is a variable.

**Pattern** *S =* NULL *L*

*+*: *S* => –vk: *L*: v(k+1), –: *S* => *+*sk: *L*: s(k+1),

+ *u*: *L*: *v* => +: *S*, – *c*: *L*: *d* => –: *S*.

Here, *c* and *d* are object constants, *u* and *v* are variables.

**Pattern** *S = C* ISA *D*

+: *S* ; +X: *C* => +X: *D*, *+*: *S* ; –X: *D* => –X: *C*,

–: *S* => –c*j*: *C* ;
+c*j*: *D*, –*v*: *C* => +: *S*,

*+v*: *D* => +: *S*, +*c*: *C* ; –*c*: *D* => –: *S*.

**Pattern** *S = L* ISA *M*.

+: *S* ; +X: *L* => +X: *M*, *+*: *S* ; –X: *M* => –X: *L*,

–: *S* => –sj : *L*: c(*j*+1) ; +cj:*M*:c(j+1),

–*u*: *L*: *v* => +: *M*, *+u*: *M*: *v* => +: *S*,

+*c*: *C* ; –*c*: *D* => –: *S*.

**Pattern** *S =* EACH *C P*

+: *S* => +v*j* : *C* ; +(+v*j* *P*), –: *S* => +c*j* : *C* ; +(+c*j* *P*).

**Pattern** *S =* SOME *C P*

+: *S* => +c*j* : *C* ; +(+c*j* *P*)

**Pattern** *S =* (*C =* *D*).

+: *S* ; +X: *C* => +X: *D*, *+*: *S* ; –X: *D* => –X: *C*,

–: *S* => –c*j*: *C* ; +c*j*: *D*, –*v*: *C* => +: *S*, *+v*: *D* => +: *S*,

+*c*: *D* ; –*c*: *C* => –: *S*, +: *S* ; +X: *D* => +X: *C*,

*+*: *S* ; –X: *C* => –X: *D*, –: *S* => –c*j*: *D* ; +c*j*: *C*,

–*v*: *D* => +: *S*, *+v*: *C* => +: *S*,

+*c*: *D* ; –*c*: *C* => –: *S*.

**Pattern** *S =* (*L =* *M*).

+: *S* ; +X: *L* => +X: *M*, *+*: *S* ;

–X: *M* => –X: *L*,

–: *S* => –c*j*: *L*: c(*j*+1) ; +c*j*: *M*: c(*j*+1),

–*u*: *L*: *v* => +: *S*, *+u*: *M*: *v* => +: *S*,

+*c*: *C* ; –*c*: *D* => –: *S*, +: *S* ; +X: *M* => +X: *L*,

*+*: *S* ; –X: *L* => –X: *M*, –*u*: *M*: *v* => +: *S*

–: *S* => –c*j*: *M*: c(*j*+1) ; +c*j*: *L*: c(*j*+1),

*+u*: *L*: *v* => +: *S*, +*c*: *C* ; –*c*: *D* => –: *S*.

**Pattern** *S =* (*P =* *Q*).,

+: *S* ; +(*P* X) => +(*Q* X),

*+*: *S* ; –(*Q* X) => –(*P* X),

–: *S* => –(*P* cj); +(*Q* cj),

–(*P v*:) => +: *S*,

*+*(*Q v*) => +: *S*, +(*Q* *c*) ; –(*P* *c*) => –: *S*,

+: *S* ; +(*Q* X) => +(*P* X), *+*: *S* ; –(*P* X) => –(*Q* X),

–: *S* => –(*Q* cj) ; +(*P* cj), –*v*: *D* => +: *S*,

*+*(*P* *v*) => +: *S*, +(*Q* *c*) ; –(*P* *c*) => –: *S*.

Deduction from a given ontology includes the application of productions. Consider, by example, how deduction proceeds.

#### Example 3

Take the ontology

$$\begin{array}{}{\displaystyle \mathit{O}=\{\text{EXIST Bird},\text{P1 = LikesToEat\hspace{0.17em}}}\\ \phantom{\rule{2em}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\text{SOME Plant},\\ \phantom{\rule{2em}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\text{EACH Bird P1},\text{NULL Plant}\}.\end{array}$$

The statements from *O* correspond to patterns 1 (EXIST *C*), 19 (Pj *= L* SOME *C*), 9 (EACH *C P*) . Unifying these patterns with the statements of *O* and writing out the associated productions, we obtain the following set of productions:

$$\begin{array}{}{\displaystyle \mathit{P}=\{=>+\text{s1}:\text{Bird},}\end{array}$$(4.1)

$$\begin{array}{}{\displaystyle +(\text{X}\text{P1})=>+\text{X}:\text{LikeToEat}:\text{s2};+\text{s2}:\text{Plant},}\\ -(\text{X}\text{P1});+\text{Y}:\text{Plant}=>-\text{X}:\text{LikeToEat}:\text{Y},\\ -(\text{X}\text{P1});+\text{X}:\text{LikeToEat}:\text{Y}=>-\text{Y}:\text{Plant},\end{array}$$(4.2)

$$\begin{array}{}{\displaystyle +\text{X}:\text{Bird}=>+(\text{X}\text{P1}),}\\ -(\text{X}P)=>-\text{X}:\text{Bird},\end{array}$$(4.3)

$$\begin{array}{}{\displaystyle =>-\text{vj}:\text{Plant}\}.}\end{array}$$(4.4)

In , it is shown the sequence of fact bases obtained by application of productions *P*. Every fact base *F*_{j} is written in the j-th row of the table. The initial fact base *F*_{0} is empty. At step 1 the productions (4.1) and (4.4) are applied, and we obtain

$$\begin{array}{}{\displaystyle {\mathit{F}}_{1}=\{+\text{s1:Bird},-\text{v1:Plant}\}.}\end{array}$$

Table 1 Deduction for the ontology from Example 3

At step 2 the production (4.3) is applied, and we obtained

$$\begin{array}{}{\displaystyle {\mathit{F}}_{2}=\{+\text{s1:Bird},-\text{v1:Plant},+\text{s1:P1}\}.}\end{array}$$

At step 3 the production (4.2) is applied, and we obtain

$$\begin{array}{}{\displaystyle \phantom{\rule{1em}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}{\mathit{F}}_{3}=\{+\text{s1:Bird},-\text{v1:Plant},+\text{s1:P1},\text{+s2:Plant},}\\ \text{+s1:LikeToEat:s2}\}.\end{array}$$

We see that *F*_{3} contains the facts -v1:Plant and +s2:Plant which give the contradiction -v1:Plant and +s2:Plant when substituting v1: = s2. Thus, the fact base is inconsistent,

We have applied the deduction method to the ontology *O*-*St* for the problem “Steamroller”. The deduction had 11 steps before receiving a contradiction.

## Comments (0)

General note:By using the comment function on degruyter.com you agree to our Privacy Statement. A respectful treatment of one another is important to us. Therefore we would like to draw your attention to our House Rules.