# Re: function symbols in SWRL FOL

From: Ian Horrocks <horrocks@cs.man.ac.uk>
Date: Wed, 24 Nov 2004 22:01:49 +0000
Message-ID: <41A504CD.7010702@cs.man.ac.uk>
To: Jos de Bruijn <jos.debruijn@deri.org>

```
Jos de Bruijn wrote:
>
> Hi all,
>
> I have a question regarding SWRL FOL [1] to which someone here might
>
> SWRL FOL is an extension of SWRL to first-order logic. However, there do
> not appear to be any function symbols in the language. Did I overlook
> something in the document?
> Could someone tell me why we would want to restrict the expressiveness
> of the language? Why not define a full first-order logic and define
> subsets with some specific desirable properties?

Jos,

Hopefully I can clear things up:

Firstly, SWRL FOL is not an extension of SWRL *to* first-order logic, it
is an extension of SWRL *towards* FOL (e.g., SWRL FOL doesn't have
relations of arbitrary arity).

Secondly, when we have equality (as we do in SWRL FOL), function symbols
do not add to the expressive power of the language as we can easily
substitute "functional" predicates. I was hoping to refer you to a
suitable logic text book at this point, but one didn't immediately come
to hand so I will attempt to DIY it. To make a predicate f "functional",

\forall x,y,z f(x,y) ^ f(x,z) -> y=z

We can of course make it a total function with:

\forall x \exists y f(x,y)

We can then eliminate a function term from an atom by replacing it with
an existentially quantified variable and adding the corresponding
functional predicate atom. E.g., if f(t) occurs in an atom A, then we
can rewrite A as

\exists x (A[f(t)/x] ^ f(t,x))

where A[f(t)/x] is A with f(t) replaced by x, and f is a "functional"
predicate. Or something like that :-)

(Of course this wouldn't work in SWRL if there were function symbols
with arity greater than 1.)

Even given that function symbols don't add expressive power, there is an
argument that they should be added as a convenience. How much syntactic
sugar should be added to languages such as OWL, SWRL, and SWRL FOL has
been a long running debate. My view, which is shared by at least some
other members of the Joint Committee, is that no sane person would write
directly in OWL/SWRL/SWRL FOL syntax, and that we can therefore safely
leave it to tool builders to add convenience features as they see fit.

Regards,

Ian

>
> Thanks for the clarification!
>
>
> Best, Jos
>
>
> [1] http://www.daml.org/2004/11/fol/proposal
>
```
Received on Wednesday, 24 November 2004 22:01:43 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 11:10:16 UTC