Database Reference
In-Depth Information
or expressed equivalently by SOtgd
M
AB
=
∃
f
1
∀
x
c
Takes
(x
n
,x
c
)
⇒
Takes1
(x
n
,x
c
)
x
n
∀
x
c
Takes
(x
n
,x
c
)
⇒
Student
x
n
,f
1
(x
n
)
,
∧∀
x
n
∀
and
M
BD
=
∀
y
Takes1
(x
n
,x
c
)
∧
Student
(x
n
,y)
⇒
Enrolment
(y,x
c
)
.
x
n
∀
x
c
∀
1. We rename the variables as required by the algorithm and obtain
M
AB
=
∃
f
1
∀
x
2
Takes
(x
1
,x
2
)
⇒
Takes1
(x
1
,x
2
)
x
1
∀
x
2
Takes
(x
1
,x
2
)
⇒
Student
x
1
,f
1
(x
1
)
∧∀
x
1
∀
M
BD
=
∀
y
1
∀
y
2
∀
y
3
Takes1
(y
1
,y
2
)
∧
Student
(y
1
,y
3
)
⇒
Enrolment
(y
3
,y
2
)
.
Then we obtain
S
AB
=
Takes
(x
1
,x
2
)
⇒
Takes1
(x
1
,x
2
),
Takes
(x
1
,x
2
)
⇒
Student
x
1
,f
1
(x
1
)
,
S
BD
=
Takes1
(y
1
,y
2
)
∧
Student
(y
1
,y
3
)
⇒
Enrolment
(y
3
,y
2
)
.
2. We obtain
S
BD
=
Takes
(x
1
,x
2
)
x
2
)
.
=
(y
2
.
∧
(y
1
x
1
)
∧
=
∧
Takes
(x
1
,x
2
)
∧
y
3
.
f
1
(x
1
)
(y
1
.
∧
=
x
1
)
=
⇒
Enrolment
(y
3
,y
2
)
.
3. We obtain
S
BD
={
Takes
(x
1
,x
2
)
⇒
Enrolment
(f
1
(x
1
),x
2
)
}
.
4. Non applicable.
5.
Return
M
AD
=
∃
f
1
∀
x
2
Takes
(x
1
,x
2
)
⇒
Enrolment
f
1
(x
1
),x
2
.
x
1
∀
Let us explain the difference of this more general algorithm w.r.t. the original
algorithm presented in [
5
]:
M
AD
=
M
BD
◦
M
AB
Example 6
Let us consider the composition of SOtgds
where
M
AB
in Example
5
above is reduced to
x
c
Takes
(x
n
,x
c
)
⇒
Takes1
(x
n
,x
c
)
M
AB
=
∀
x
n
∀
while
M
BD
remains unchanged.